PeopleTools Tables (Where the MetaData is Stored)
I heavily utilize the Tools tables for reporting, object-oriented programming, and speeding up development tasks. Here’s a list of ones that I have used in some fashion or another…
Also see the SQL Project Items List via SQL which utilizes many of these tables to pull all objects and details about the objects included in your PeopleSoft project.
Application Engine Meta Data: Tables holding Application Engine Meta Data for the AE, Section, Steps and SQL.
Change Control: Tables holding PeopleTools project change history and current locks on Tools objects.
Component Interface Meta Data: Tables holding Component Interface Meta Data.
Component Meta Data: Tables holding Component Meta Data.
Field Meta Data: Tables holding PeopleTools Field information.
Field Values for Tools Tables: Find field values for the following RECORD.FIELDNAME: PSPROJECTITEM.OBJECTTYPE, PSPROJECTITEM.UPGRADEACTION, PSPROJECTITEM.SOURCESTATUS, PSRECDEFN.RECTYPE, PSDBFIELD.FIELDTYPE, PSPNLFIELD.FIELDTYPE, PSSQLDEFN.SQLTYPE
File Layout Definitions: Tables holding File Layout Segment and Field definitions.
HTML & Image Meta Data: Tables holding HTML and Image Meta Data.
Menu Meta Data: Tables holding Menu Meta Data.
Message Catalog: Tables holding Message Catalog Entries.
Page Meta Data: Tables holding Page Meta Data.
PeopleCode Meta Data: Tables holding PeopleCode Meta Data.
Portal (Structure and Content): Tables holding portal content references and permission lists authorized.
Process Scheduler Information: Tables holding the process and job definitions along with information necessary to run a process.
Project Meta Data: Table holding PeopleTools project information (all objects in the project).
Query Tables: Tables holding individual query Meta Data.
Record Meta Data: Tables holding Record Meta Data including fields, field type, indexes, and tablespace.
Security Information: Tables holding Security Information.
SQL Definitions: Tables holding SQL Object definitions.
Tree Manager: Tables holding Tree Manager Meta Data .
User Profile & Security: Tables holding User Profile information including Primary Permission lists, Roles, email addresses, etc.
Workflow: Tables holding Workflow Meta Data for Business Processes, Activies, Events, and workflow items needing to be worked.
XLAT - Translate Values: Tables holding Translate Values for individual fields.
Application Engine Meta Data
PSAEAPPLDEFN
AE header record; 1 row per app engine
PSAEAPPLSTATE
AE state records (shows which one is the default)
PSAEAPPLTEMPTBL
AE temp tables assigned
PSAESECTDEFN
AE sections: public or private
PSAESECTDTLDEFN
AE section: descriptions, market, DB Type, EFFDT, EFF_STATUS, and auto commit
PSAESTEPDEFN
AE steps within section: description, market, DB Type, EFFDT, EFF_STATUS
PSAESTMTDEFN
AE actions within AE step: Step type (SQL, Do Select, etc.) with SQLID. See SQL Definitions for how to pull the SQL
PSAESTEPMSGDEFN
AE message (parameters in each step)
AEREQUESTPARM
AE request parameters table behind the AE run control page.
Find All Records Referenced in App Engine
1. Find the Temp Records (TAO) that are used:
SELECT RECNAME FROM PSAEAPPLTEMPTBL WHERE AE_APPLID = 'MY_APP_ENGINE_NAME'
2. If there are records, find the number of instances:
SELECT TEMPTBLINSTANCES FROM PSAEAPPLDEFN WHERE AE_APPLID = 'MY_APP_ENGINE_NAME'
3. For each table found in step 1, create as many instances as step 2 indicates.
For example, step 1 returns record MY_AE_TEMP_TAO. The SQL executed below gives me a count of 4.
Therefore, I have 5 tables that could be used in my Application Engine: PS_MY_AE_TEMP_TAO, PS_MY_AE_TEMP_TAO1, PS_MY_AE_TEMP_TAO2, PS_MY_AE_TEMP_TAO3, PS_MY_AE_TEMP_TAO4
4. Retrieve all the App Engine SQL:
SELECT SQLTEXT FROM PSAESTMTDEFN AE, PSSQLTEXTDEFN S WHERE AE.AE_APPLID = 'MY_APP_ENGINE_NAME' AND S.SQLID = AE.SQLID ORDER BY AE.SQLID, S.SEQNUM
5. Visually break apart all the SQL statements to list the tables referenced in the App Engine.
6. Review all App Engine PeopleCode to see if any references to outside tables.
Change Control
PSCHGCTLHIST
History of PeopleTools objects locked with OPRID, project name, incident, and description
PSCHGCTLLOCK
Current PeopleTools objects locked with OPRID, project name, incident, and description
Component Interface Meta Data
PSBCDEFN
Component Interface header record; one row for each component interface
PSBCITEM
One row for each property on the component interface
Component Meta Data
PSPNLGRPDEFN
Component header flags, description, and component search records.
PSPNLGROUP
All pages in a component
Field Meta Data
Also see Project Items List via SQL for an example of how these tables can be utilized.
PSDBFIELD
Lists PeopleSoft fields and the field characteristics
FIELDTYPE Definitions
0 = Character 1 = Long Character 2 = Number 3 = Signed Number 4 = Date 5 = Time 6 = Date Time 8 = Image 9 = Image Reference
PSDBFLDLABL
Lists the field labels with DEFAULT_LABEL = 1 being the default label
PSXLATITEM
Lists Translate Values
PSFMTITEM
Lists field formats
Field Values for Tools Tables
Also see Project Items List via SQL for an example of how these tables can be utilized.
PSPROJECTITEM
PSPROJECTITEM.OBJECTTYPE
0 = Record 1 = Index 2 = Field 3 = Field Format 4 = Translate Value 5 = Page 6 = Menu 7 = Component 8 = Record PeopleCode 9 = Menu PeopleCode 10 = Query 11 = Tree Structure 12 = Tree 13 = Access Group 14 = Color 15 = Style 16 = Business Process Map 17 = Business Process 18 = Activity 19 = Role 20 = Process Definition 21 = Process Server Definition 22 = Process Type Definition 23 = Process Job Definition 24 = Process Recurrence Definition 25 = Message Catalog 26 = Dimension 27 = Cube Definition 28 = Cube Instance Definition 29 = Business Interlink 30 = SQL Object Check value of OBJECTVALUE2 0 = SQL Object 1 = App Engine SQL 2 = Record View SQL 5 = Query for DDAUDIT or SYSAUDIT 6 = App Engine XML SQL 31 = File Layout 32 = Component Interface 33 = Application Engine Program 34 = Application Engine Section 35 = Message Node 36 = Message Channel 37 = Message 38 = Approval rule set 39 = Message PeopleCode 40 = Subscription PeopleCode 41 = N/A 42 = Component Interface PeopleCode 43 = Application Engine PeopleCode 44 = Page PeopleCode 45 = Page Field PeopleCode 46 = Component PeopleCode 47 = Component Record PeopleCode 48 = Component Record Field PeopleCode 49 = Image 50 = Style sheet 51 = HTML 52 = Not used 53 = Permission List 54 = Portal Registry Definitions 55 = Portal Registry Structure 56 = URL Definitions 57 = Application Packages 58 = Application Package PeopleCode 59 = Portal Registry User Homepage 60 = Problem Type 61 = Archive Templates 62 = XSLT 63 = Portal Registry User Favorite 64 = Mobile Page 65 = Relationships 66 = Component Interface Property PeopleCode 67 = Optimization Models 68 = File References 69 = File Type Codes 70 = Archive Object Definitions 71 = Archive Templates (Type 2) 72 = Diagnostic Plug In 73 = Analytic Model 79 = Service 80 = Service Operation 81 = Service Operation Handler 82 = Service Operation Version 83 = Service Operation Routing 84 = Info Broker Queues 85 = XLMP Template Definition 86 = XLMP Report Definition 87 = XMLP File Definition 88 = XMPL Data Source Definition
PSPROJECTITEM.UPGRADEACTION
0 = Copy 1 = Delete 2 = None 3 = CopyProp
PSPROJECTITEM.SOURCESTATUS
0 = Unknown 1 = Absent 2 = Changed 3 = Unchanged 4 = *Changed 5 = *Unchanged 6 = Same
PSRECDEFN
PSRECDEFN.RECTYPE
0 = SQL Table in DB 1 = SQL View in DB 2 = Derived/Work Record 3 = SubRecord 5 = Dynamic View 6 = Query View 7 = Temporary Table
PSDBFIELD
PSDBFIELD.FIELDTYPE
0 = Character 1 = Long Character 2 = Number 3 = Signed Number 4 = Date 5 = Time 6 = Date Time 8 = Image 9 = Image Reference
PSPNLFIELD
PSPNLFIELD.FIELDTYPE
0 = Label 1 = Frame 2 = Group Box 3 = Static Image 4 = Edit Box 5 = Drop-Down List Box 6 = Long Edit Box 7 = Check Box 8 = Radio Button 9 = Image 10 = Scroll Bar 11 = Subpage 12 = Push Button/Hyperlink - Destination: PeopleCode Command 13 = Push Button/Hyperlink – Destination: Scroll Action 14 = Push Button/Hyperlink – Destination: Toolbar Action 15 = Push Button/Hyperlink – Destination: External Link 16 = Push Button/Hyperlink – Destination: Internal Link (Transfer) 17 = Push Button/Hyperlink – Destination: Process (AE, etc.) 18 = Secondary Page Button 19 = Grid 20 = Tree 21 = Push Button/Hyperlink - Destination: Secondary Page 22 = N/A 23 = Horizontal Rule 24 = Tab Separator (in a grid) 25 = HTML Area 26 = Push Button/Hyperlink – Destination: Prompt Action 27 = Scroll Area 30 = Chart 31 = Push Button/Hyperlink – Destination: Instant Messaging Action 32 = Analytic Grid
PSSQLDEFN
PSSQLDEFN.SQLTYPE
0 = SQL Object 1 = App Engine SQL 2 = Record View SQL 5 = Query for DDAUDIT or SYSAUDIT 6 = App Engine XML SQL
File Layout Definitions
PSFLDDEFN
Header record for File Layout
PSFLDSEGDEFN
Stores the segments for each layout
PSFLDFIELDDEFN
Stores the individual file fields for the segment
HTML & Image Meta Data
PSPNLHTMLAREA
Static HTML Areas on Pages with the HTMLValue
PSCONTDEFN
HTML & Image header record; last update time, etc.
PSCONTENT
HTML & Image storage
Menu Meta Data
PSMENUDEFN
Menu header table
PSMENUITEM
Menu Items
Message Catalog
PSMSGSETDEFN
Message Catalog header
PSMSGCATDEFN
Message Catalogs entries
Previous PeopleSoft message catalog tables:
PS_MESSAGE_SET_TBL
PS_MESSAGE_CATALOG
Page Meta Data
PSPNLDEFN
Page header table holding the field count, size, style, and description of the page
PSPNLFIELD
Lists all objects on the page
PSPNLFIELD.FIELDTYPE
0 = Label 1 = Frame 2 = Group Box 3 = Static Image 4 = Edit Box 5 = Drop-Down List Box 6 = Long Edit Box 7 = Check Box 8 = Radio Button 9 = Image 10 = Scroll Bar 11 = Subpage 12 = Push Button/Hyperlink - Destination: PeopleCode Command 13 = Push Button/Hyperlink – Destination: Scroll Action 14 = Push Button/Hyperlink – Destination: Toolbar Action 15 = Push Button/Hyperlink – Destination: External Link 16 = Push Button/Hyperlink – Destination: Internal Link (Transfer) 17 = Push Button/Hyperlink – Destination: Process (AE, etc.) 18 = Secondary Page Button 19 = Grid 20 = Tree 21 = Push Button/Hyperlink - Destination: Secondary Page 22 = N/A 23 = Horizontal Rule 24 = Tab Separator (in a grid) 25 = HTML Area 26 = Push Button/Hyperlink – Destination: Prompt Action 27 = Scroll Area 30 = Chart 31 = Push Button/Hyperlink – Destination: Instant Messaging Action 32 = Analytic Grid
PeopleCode Meta Data
PSPCMPROG
Stores the PeopleCode, LASTUPDOPRID and LASTUPDDTTM. The PeopleCode is stored in a binary format, and cannot be read by normal SQL. You can use a Java program to extract the code if necessary. Read more about this at: peoplesofttipster.com
PSPCMNAME
PeopleCode Reference table. This table lists all the PeopleSoft objects (FIELD, RECORD, SQL, etc.) that are referenced. For example, if you are about to make a change to a field, you can find everywhere in the system that it is referenced by using this table.
Portal (Structure and Content)
PSPRSMATTR
Portal Attribute Table
PSPRSMDEFN
Content References and Folders
PORTAL_PRNTOBJNAME = Parent Folder PORTAL_OBJNAME = Content Reference Name PORTAL_URI_SEG1 = Component Menu PORTAL_URI_SEG3 = Market PORTAL_URI_SEG2 = Component
PSPRUHTABPGLT
Portal User HP Tab Pagelet
PSPRSMPERM
Shows the permission lists that are assigned to a portal registry structure (content reference). The permission list name is under field PORTAL_PERMNAME
Process Scheduler Information
Process Scheduler Setup
PS_PRCSDEFN
Process Definition header with descriptions, server options, override options, and destination options
PS_PRCSDEFNGRP
Permission Lists authorized to use this process
PS_PRCSDEFNPNL
Components from which this process can be called
PS_PRCSMUTUALEXCL
Lists processes that cannot run at the same time to prevent data corruption, deadlocks, etc.
PS_PRCSDEFNCNTDIST
List roles or users to distribute process output
PS_PRCSDEFNXFER
List page that user will be sent to following a successful process completion
PS_PRCSDEFNNOTIFY
Process completion notification via email (on Error, Warning, Success)
PS_PRCSDEFNMESSAGE
Message to be sent during notify (from Message Catalog, custom text)
PS_PRCSJOBDEFN
Job header with description and runtime characteristics (run mode, priority, etc.)
PS_PRCSJOBITEM
Processes that will run for each Job
PS_PRCSJOBPNL
Components from which this job can be called.
PS_PRCSJOBCNTDIST
Job output Distribution List via email
PS_PRCSJOBNOTIFY
Job completion notification via email (on Error, Warning, Success)
PS_PRCSJOBMESSAGE
Message to be sent during notify (from Message Catalog, custom text)
Process Scheduler Transaction Records
PSPRCSRQST
Process Request Instance detail
PSPRCSPARMS
Process request parameters
PSPRCSQUE
Process request Queue
PSPRCSRQSTTEXT
Process Request Text
PS_CDM_LIST
Content Distribution Manager List
PS_CDM_AUTH
Content Distribution Manager List – User Access (Who can view output)
Process Scheduler Timings
BAT_TIMINGS_LOG
BAT_TIMINGS_DTL
BAT_TIMINGS_FN
See this link for great information on timings see this article at peoplesofttipster.com
Project Meta Data
Also see Project Items List via SQL for an example of how these tables can be utilized.
PSPROJECTDEFN
Project header table (Short & Long Project Description fields)
PSPROJECTITEM
Objects in the project
PSPROJECTITEM.OBJECTTYPE
0 AND RECTYPE FROM PSRECDEFN WHERE RECNAME = OBJECTVALUE1 0 = Record 1 = View 2 = Work Record 3 = Sub Record 5 = Dynamic View 6 = Query View 7 = Temporary Table 1 = Index 2 = Field 3 = Field Format 4 = Translate Value 5 = Page 6 = Menu 7 = Component 8 = Record PeopleCode 9 = Menu PeopleCode 10 = Query 11 = Tree Structure 12 = Tree 13 = Access Group 14 = Color 15 = Style 16 = Business Process Map 17 = Business Process 18 = Activity 19 = Role 20 = Process Definition 21 = Process Server Definition 22 = Process Type Definition 23 = Process Job Definition 24 = Process Recurrence Definition 25 = Message Catalog 26 = Dimension 27 = Cube Definition 28 = Cube Instance Definition 29 = Business Interlink 30 AND WHEN OBJECTVALUE2 = 0 THEN SQL Object WHEN OBJECTVALUE2 = 1 THEN App Engine SQL WHEN OBJECTVALUE2 = 2 THEN Record View SQL WHEN OBJECTVALUE2 = 5 THEN Query for DDAUDIT or SYSAUDIT WHEN OBJECTVALUE2 = 6 THEN App Engine XML SQL 31 = File Layout 32 = Component Interface 33 = Application Engine Program 34 = Application Engine Section 35 = Message Node 36 = Message Channel 37 = Message 38 = Approval rule set 39 = Message PeopleCode 40 = Subscription PeopleCode 41 = N/A 42 = Component Interface PeopleCode 43 = Application Engine PeopleCode 44 = Page PeopleCode 45 = Page Field PeopleCode 46 = Component PeopleCode 47 = Component Record PeopleCode 48 = Component Record Field PeopleCode 49 = Image 50 = Style sheet 51 = HTML 52 = Not used 53 = Permission List 54 = Portal Registry Definitions 55 = Portal Registry Structure 56 = URL Definitions 57 = Application Packages 58 = Application Package PeopleCode 59 = Portal Registry User Homepage 60 = Problem Type 61 = Archive Templates 62 = XSLT 63 = Portal Registry User Favorite 64 = Mobile Page 65 = Relationships 66 = Component Interface Property PeopleCode 67 = Optimization Models 68 = File References 69 = File Type Codes 70 = Archive Object Definitions 71 = Archive Templates - Type 2 72 = Diagnostic Plug In 73 = Analytic Model 79 = Service 80 = Service Operation 81 = Service Operation Handler 82 = Service Operation Ver 83 = Service Operation Routing 84 = Info Broker Queues 85 = XLMP Template Definition 86 = XLMP Report Definition 87 = XMLP File Definition 88 = XMLP Data Source Definition
Query Tables
PSQRYDEFN
Query header information
PSQRYFIELD
Displays all fields used in the SELECT clause (COLUMNNUM = 1) and fields used in the WHERE clause (COLUMNNUM = 0)
PSQRYCRITERIA
Displays all fields used in the WHERE clause. You can get the name of the fields by joining PSQRYCRITERIA.LCRTFLDNUM to PSQRYFIELD.FLDNUM
PSQRYEXPR
Stores query expressions (PSQRYCRITERIA.R1CRTEXPNUM to PSQRYEXPR.EXPNUM or PSQRYFIELD.FLDEXPNUM to PSQRYEXPR.EXPNUM)
PSQRYBIND
Stores query bind variable definition
PSQRYRECORD
Stores all records used in all aspects of query creation (SELNUM > 1 when in a subquery)
PSQRYSELECT
Stores query and subquery relationships along with record and field counts
PSQRYEXECLOG
Query run time log table that stores (only 8.4x and higher)
PSQRYSTATS
Query run time statistics table such as count of query execution, and date time of last execution (only in 8.4x and higher).
Record Meta Data
Also see Project Items List via SQL for an example of how these tables can be utilized.
PSRECDEFN
Record header table. Tracks number of fields and number of indexes in record along with descriptions
PSRECDEFN.RECTYPE
0 = SQL Table in DB 1 = SQL View in DB 2 = Derived/Work Record 3 = Sub Record 5 = Dynamic View 6 = Query View 7 = Temporary Table
PSRECFIELD
Fields in the record (subrecord fields are not listed) along with field order, field defaults, edit tables
PSRECFIELDALL
All fields in the record, including subrecord fields
PSINDEXDEFN
Contains 1 row per index defined for a record
PSKEYDEFN
Contains all fields that make up the index, and their position in the key structure
PSTBLSPCCAT
Lists available tablespace
PSRECTBLSPC
DB Name and tablespace allocated for a SQL record
Security Information
PSAUTHITEM
What Permission Lists have access to a page, and what are authorized actions?
SELECT CLASSID, MENUNAME, BARNAME, BARITEMNAME, PNLITEMNAME, DECODE(DISPLAYONLY, 0, 'N', 1, 'Y') AS "Display Only", CASE AUTHORIZEDACTIONS WHEN 1 THEN 'Add' WHEN 2 THEN 'Update/Display' WHEN 3 THEN 'Add, Update/Display' WHEN 4 THEN 'Update/Display All' WHEN 5 THEN 'Add, Update/Display All' WHEN 6 THEN 'Update/Display, Update/Display All' WHEN 7 THEN 'Add, Update/Display, Update/Display All' WHEN 8 THEN 'Correction' WHEN 9 THEN 'Add, Correction' WHEN 10 THEN 'Update/Display, Correction' WHEN 11 THEN 'Add, Update/Display, Correction' WHEN 12 THEN 'Update/Display All, Correction' WHEN 13 THEN 'Add, Update/Display All, Correction' WHEN 14 THEN 'Update/Display, Update/Display All, Correction' WHEN 15 THEN 'Add, Update/Display, Update/Display All, Correction' ELSE 'SPECIAL' END AS "Authorized Actions", AUTHORIZEDACTIONS FROM PSAUTHITEM
PSAUTHBUSCOMP
What Permission List has access to a component interface?
SELECT CLASSID FROM PSAUTHBUSCOMP WHERE BCNAME = 'MY_COMPONENT_INTERFACE'
PSCLASSDEFN
Permission List header table
PSPRSMPERM
Portal Structure Permissions
PSROLECLASS
Permission Lists in roles
PSROLEDEFN
Role header table
SQL Definitions
PSSQLDEFN
Header record for all SQL from views and application engine
PSSQLTEXTDEFN
Stores the SQL definition
PSSQLDESCR
Stores SQL objects descriptions, market, DB Type, and EFFDT
Tree Manager
PSTREEDEFN
Tree Definition and Properties
PSTREENODE
Folders and records (nodes of the tree/tree node type)
PSTREEBRANCH
Tree Branch
PSTREELEAF
Tree Leaf
PSTREELEVEL
Tree Level
User Profile & Security
PSOPRDEFN
User ID header table: User Name, email, Primary & Row security permission lists
PS_ROLEXLATOPR
Workflow Routing Preferences; email; workflow attributes
PSUSEREMAIL
Users email
PSROLEUSER
OPRID (Roleuser) and Roles granted
PSOPRCLS
OPRID and associated Permission lists
Workflow
Meta Data
PSBUSPROCDEFN
Business Process Header
PSACTIVITYDEFN
Activity Header
PSBUSPROCITEM
Activity items in each activity
PSEVENTDEFN
Event items in each activity
PS_APPR_RULE_DETL
Approval rule definition details
PS_APPR_RULE_FIELD
Approval rule definition route control
PS_APPR_RULE_AMT
Approval rule amounts
PS_RTE_CNTL_LN
Route control profile line
PS_RTE_CNTL_RUSER
RoleUser route control profiles
PS_RTE_CNTL_TYPE
Route control type
PS_RTE_CNTL_HDR
Routing control type header
Transaction Record
PSWORKLIST
Lists worklist entries by event and OPRID
XLAT – Translate Values
PSXLATITEM
Stores field translate values (PeopleSoft version 8.4 and above)
XLATTABLE
Stores field translate values (PeopleSoft version prior to 8.4)