Thursday, May 28, 2009

PROCESS GROUP

Process group is crucial in securing the processes and jobs in the system. It is possible to restrict access to certain processes within PeopleSoft by establishing process groups. A batch process is assigned a 'Process Group' when created. That 'Process Group' is then linked to a permission list (PL). The PL is then assigned to a 'Role' and, subsequently, to a USERID. Process groups are collections of process definitions that you create using PeopleSoft Process Scheduler.
Navigations to Assign a Process to a Process Group:
PeopleTools -> Process Scheduler -> Processes -> Process Definition Option Tab -> Process Security section
Navigations to Assign a Process Group to a Permission List:
PeopleTools -> Security -> Permissions & Roles -> Permission -> Process tabs -> Process Group Permissions

Users can run only the processes that belong to process groups assigned to their roles. For example, you may have a set of process definitions that relate to your Human Resources department and another set for your Manufacturing department. If process 'P1' is in the process group 'PG1' and any of the Permission List (PL) of the user, say 'USER1', does not have access to that process group 'PG1' - then - that user 'USER1' cannot run the process 'P1'. A process definition can be a member of multiple process groups.

The process group are not stored in any setup table of its own. They are stored in the table - PRCSDEFNGRP and PRCSJOBGRP (where process and job definitions are stored). If you look at the prompt for PRCSGRP field in those tables, it is a 'PROMPT WITH NO EDIT' - It means, you can keep adding new Process groups on the fly, on process and job definition components. You may want to execute below queries for better understanding:
select * from PS_PRCSDEFNGRP
select * from PS_PRCSJOBGRP

Wednesday, May 27, 2009

PsCIA - PeopleCode & File Pre-Processors

DDL for Tables created by PeopleCode & File Pre-Processors:

You must run the PeopleCode pre-processor to generate the database tables that Change Impact Analysis reads and analyzes.

The PeopleCode pre-processor generates two tables:
• PSCIAPCXREF
• PSCIAPCXREFTIME

You must have permission to create, delete from and write to these files. If you have full privileges, you can create these files prior to using Change Impact Analyzer.

****************************************************************************************************************
Note. Database administrators may consider assigning user IDs and passwords that grant read-only access to the database. However, users need create and write access to these work tables used by Change Impact Analyzer.
****************************************************************************************************************

The File Pre-processor generates the following database tables that Change Impact Analysis reads to perform analysis.
• PSFILEPROCESSRUN
• PSSQLXREFDEFN
• PSSQLXREFITEM
• PSFILESQLXREFDEFN
• PSFILEXREFDEFN

Note. You must have permission to create, delete from and write to these files. If you have full privileges, you run the pre-processor and create these files beforehand. DDL for above tables for DB2/Unix, DB2/OS390:

-- Table 1 - PSCIAPCXREF

CREATE TABLE OWNERID.PSCIAPCXREF (
PROGSEQ INT NOT NULL
,REFOBJECTID1 SMALLINT NOT NULL
,REFOBJECTVALUE1 CHAR(60) NOT NULL
,REFOBJECTID2 SMALLINT NOT NULL
,REFOBJECTVALUE2 CHAR(60) NOT NULL
,REFOBJECTID3 SMALLINT NOT NULL
,REFOBJECTVALUE3 CHAR(60) NOT NULL
,REFOBJECTID4 SMALLINT NOT NULL
,REFOBJECTVALUE4 CHAR(60) NOT NULL
,REFOBJECTID5 SMALLINT NOT NULL
,REFOBJECTVALUE5 CHAR(60) NOT NULL
,REFOBJECTID6 SMALLINT NOT NULL
,REFOBJECTVALUE6 CHAR(60) NOT NULL
,REFOBJECTID7 SMALLINT NOT NULL
,REFOBJECTVALUE7 CHAR(60) NOT NULL
,OBJECTID1 SMALLINT NOT NULL
,OBJECTVALUE1 CHAR(60) NOT NULL
,OBJECTID2 SMALLINT NOT NULL
,OBJECTVALUE2 CHAR(60) NOT NULL
,OBJECTID3 SMALLINT NOT NULL
,OBJECTVALUE3 CHAR(60) NOT NULL
,OBJECTID4 SMALLINT NOT NULL
,OBJECTVALUE4 CHAR(60) NOT NULL
,OBJECTID5 SMALLINT NOT NULL
,OBJECTVALUE5 CHAR(60) NOT NULL
,OBJECTID6 SMALLINT NOT NULL
,OBJECTVALUE6 CHAR(60) NOT NULL
,OBJECTID7 SMALLINT NOT NULL
,OBJECTVALUE7 CHAR(60) NOT NULL
)
IN

-- Table 2 - PSCIAPCXREFTIME
CREATE TABLE OWNERID.PSCIAPCXREFTIME (
LASTRUN CHAR(120)
)
IN

-- Table 3 - PSFILEPROCESSRUN
CREATE TABLE OWNERID.PSFILEPROCESSRUN (
LASTREFRESHDTTM TIMESTAMP
,FPPSTATUS CHAR(10) NOT NULL
)
IN

-- Table 4 - PSSQLXREFDEFN
CREATE TABLE OWNERID.PSSQLXREFDEFN (
XREF_ID CHAR(128) NOT NULL
,XREF_SQLTYPE CHAR(1) NOT NULL
,DBTYPE CHAR(1) NOT NULL
,XREF_GROUPBY_CNT SMALLINT NOT NULL
,XREF_ORDERBY_CNT SMALLINT NOT NULL
,XREF_HAVING_CNT SMALLINT NOT NULL
,XREF_SUBQUERY_CNT SMALLINT NOT NULL
,XREF_OUTERJOIN_CNT SMALLINT NOT NULL
,LASTUPDDTTM TIMESTAMP
,SQLTEXT LONG VARCHAR
)
IN

-- Table 5 - PSSQLXREFITEM
CREATE TABLE OWNERID.PSSQLXREFITEM (
XREF_ID CHAR(128) NOT NULL
,XREF_SQLTYPE CHAR(1) NOT NULL
,DBTYPE CHAR(1) NOT NULL
,XREF_ITEMSEQ SMALLINT NOT NULL
,XREF_ITEMTYPE CHAR(4) NOT NULL
,XREF_RECNAME CHAR(30) NOT NULL
,XREF_VALUE CHAR(128) NOT NULL
,XREF_USAGE CHAR(4) NOT NULL
,XREF_CLAUSE CHAR(5) NOT NULL
)
IN

-- Table 6 - PSFILESQLXREFDEFN
CREATE TABLE OWNERID.PSFILESQLXREFDEFN (
SOURCE_FILE CHAR(40) NOT NULL
,FILE_TYPE CHAR(4) NOT NULL
,XREF_ID CHAR(128) NOT NULL
)
IN

-- Table 7 - PSFILEXREFDEFN
CREATE TABLE OWNERID.PSFILEXREFDEFN (
SOURCE_FILE CHAR(40) NOT NULL
,CALLED_FILE CHAR(40) NOT NULL
,FILE_TYPE CHAR(3) NOT NULL
)
IN

PeopleTools Tables

A quick guide to PeopleTools Tables:
Projects:
* PSPROJECTDEFN — Project header table
* PSPROJECTITEM — Definitions in the project

Fields:
* PSDBFIELD — Fields in the system
• PSXLATITEM — Translate Values

Records:
* PSRECDEFN — Record header table
* PSRECFIELD — Fields in the record (subrecords not expanded)
* PSRECFIELDALL — Fields in the record (subrecords expanded)
* PSKEYDEFN — Indexes

Pages - (Named as Panels in the PeopleTools Tables Names)
* PSPNLDEFN — Page header table
* PSPNLFIELD — Page controls
* PSPNLHTMLAREA — Static HTML Areas on Pages

Components - (Named as Panel Group in the PeopleTools Tables Names)
* PSPNLGRPDEFN — Component header table
* PSPNLGROUP — Pages in the components

Menus:
* PSMENUDEFN — Menu header table
* PSMENUITEM — Items (components) on the menu

Security:
* PSCLASSDEFN — Permission List header table
* PSAUTHITEM — Menu items granted security by permission lists
* PSROLEDEFN — Role header table
* PSROLECLASS — Permission Lists in roles
* PSOPERDEFN — User ID header table
* PSROLEUSER — Roles granted to users

Portal:
* PSPRSMDEFN — Content References and Folders

Change Control:
* PSCHGCTLHIST — shows history of locked definitions with project name, incident, and description
* PSCHGCTLLOCK — shows definitions that are currently locked

Application Engine:
* PSAEAPPLDEFN — header record; 1 row per app engine
* PSAEAPPLSTATE — state records assigned to app engines
* PSAEAPPLTEMPTBL — temp tables assigned to app engines
* PSAESECTDEFN — sections
* PSAESTEPDEFN — steps
* PSAESTEPMSGDEFN
* PSAESTMTDEFN — actions

HTML Definitions:
* PSCONTDEFN — header record; last update time, etc.
* PSCONTENT — stores actual text in the HTML definition

Process Scheduler Related Tables:
* PSPRCSRQST
* PSPRCSQUE
* PSPRCSPARMS
* PS_PRCSRQSTDIST
* PS_MESSAGE_LOG
* PSPRCSRQSTTEXT
* PS_MESSAGE_LOGPARM
* PSPRCSRQSTXFER
* PS_CDM_LIST

All these tables should be in sync.

Sources: - http://psst0101.wordpress.com/peopletools-tables/ & - mvprdexp.dms

OCI - Attach Block Volume to Windows VM

Tip: Although creating and attaching Block Storage to a Windows VM is pretty straightforward (OCI documentation is pretty good for that), th...