2010-07-26

Filelayout - ReadRowset Example

[From Peoplebook http://download.oracle.com/docs/cd/E15645_01/pt850pbr0/eng/psbooks/tpcr/book.htm?File=tpcr/htm/tpcr19.htm%23g037ee99c9453fb39_ef90c_10c791ddc07__1429]

ReadRowset Example


The following program reads all the rowsets from a file and updates a work scroll with that data. The work scroll isn’t hidden on the page: it’s created in the Component buffer from existing records using CreateRowset. The structure of the work scroll and the file layout are identical: that is, they’re composed of two records, and the names of the records in the file layout are exactly the same as the names of the record definitions.

Local File &CHARTINPUT_F; Local Rowset &INPUT_ROWSET, &TEMP_RS, &WORK_DATA; Local Record &WRK_DATA; &filename = "c:\temp\test.txt"; If FileExists(&filename, %FilePath_Absolute) Then &CHARTINPUT_F = GetFile(&filename, "R", "A", %FilePath_Absolute); Else Exit; End-If; &CHARTINPUT_F.SetFileLayout(FileLayout.CHART_INFO); /* Create rowset to be read into NOTE that you have to start at LOWEST level of rowset */ &TEMP_RS = CreateRowset(RECORD.CHART_ITEM); &WORK_DATA = CreateRowset(RECORD.CHART_DATA, &TEMP_RS); &INPUT_ROWSET = CreateRowset(RECORD.CHART, &WORK_DATA); While &INPUT_ROWSET <> Null &INPUT_ROWSET = &CHARTINPUT_F.ReadRowset(); &INPUT_ROWSET.CopyTo(&WORK_DATA); /* do processing -- Though file may contain more than one level zero Component processor only allows one level zero at a time */ End-While;

2010-07-14

Refreshing Security Join Tables

To refresh security join tables, use the Nightly SJT Refresh Process component (SCRTY_SJTDLY_RC), Refresh Trans. SJT tables component (SCRTY_SJT_RC), the Refresh SJT_CLASS_ALL component (SCRTY_OPR_RC), and the Refresh SJT_OPR_CLS component (SCRTY_OPRCLS_RC).

PeopleBook (PeopleSoft Enterprise HRMS 9.1 Application Fundamentals PeopleBook > Setting Up and Administering HRMS Security) describes when to use the refresh processes and discusses how to:

* Run the nightly refresh process.
* Run the transaction security join table refresh process.
* Run the Refresh SJT_CLASS_ALL process.
* Run the Refresh SJT_OPR_CLS process.

2010-07-06

PS_PTLT_COMP_NAV

http://evmultimedia.ro/peoplenet/?p=334

PS_PTLT_COMP_NAV – Define Components Navigation Setup record (in PT>=8.4xx). It is a very useful table especially when you are given a certain PeopleSoft link or Component and you don’t know how to identify the navigation path. The record stores the PTLT_TASK_CODE which is the component name followed by the market name “.GBL”/Global extension, the PTLT_FEATURES_LIST which represents the general features that the component/page encloses (eg: for the component -BUS_UNIT_TBL_BI.GBL – Set Up Financials/Supply Chain > Business Unit Related > Billing > Billing Definition the enclosed features are “”BI Business Unit Billing General Promotions Management General” ), the product code lists (PTLT_PROD_CD_LIST) which stores a list of relevant module/functional abreviations for the specific component (eg:AM,BI,AR,etc – Asset Management,BI – Business Intelligence, AR – Accounts Receivable), and finally the Navigation path to the current page (NAVIGATION) (eg: for USERMAINT.GBL – Navigation field is PeopleTools > Security > User Profiles > User Profiles). If the component has no corresponding Portal Navigation path the field stores “No Portal Navigation Available”.

To determine the path to a certain component in PeopleSoft one can issue the following SQL statement:

SELECT NAVIGATION FROM PS_PTLT_COMP_NAV WHERE PTLT_TASK_CODE=’COMPONENT_NAME.GBL’

To determine the type of access,components/menus and navigation paths on which a permission list grants rights one can run the following query:

select DISTINCT N.NAVIGATION , N.PTLT_TASK_CODE COMPONENT,b.menuname MENU, a.CLASSID PERMISSION_LIST,
DECODE(a.DISPLAYONLY,1,’TRUE’,0,’FALSE’) DISPLAYONLY,
(CASE
WHEN a.AUTHORIZEDACTIONS=1 THEN ‘ADD’
WHEN a.AUTHORIZEDACTIONS=2 THEN ‘UPDATE,DISPLAY’
WHEN a.AUTHORIZEDACTIONS=3 THEN ‘ADD,UPDATE, DISPLAY’
WHEN a.AUTHORIZEDACTIONS=4 THEN ‘UPDATE/DISPLAY ONLY’
WHEN a.AUTHORIZEDACTIONS=5 THEN ‘ADD,UPDATE/DISPLAY ALL’
WHEN a.AUTHORIZEDACTIONS=6 THEN ‘UPDATE,DISPLAY,UPDATE/DISPLAY ALL’
WHEN a.AUTHORIZEDACTIONS=7 THEN ‘ADD,UPDATE,DISPLAY,UPDATE/DISPLAY ALL’
WHEN a.AUTHORIZEDACTIONS=8 THEN ‘CORRECTION’
WHEN a.AUTHORIZEDACTIONS=9 THEN ‘ADD,CORRECTION’
WHEN a.AUTHORIZEDACTIONS=10 THEN ‘UPDATE,DISPLAY,CORRECTION’
WHEN a.AUTHORIZEDACTIONS=11 THEN ‘ADD, UPDATE/DISPLAY ALL, CORRECTION’
WHEN a.AUTHORIZEDACTIONS=12 THEN ‘UPDATE/DISPLAY ALL,CORRECTION’
WHEN a.AUTHORIZEDACTIONS=13 THEN ‘ADD, UPDATE, DISPLAY,UPDATE/DISPLAY ALL,CORRECTION’
WHEN a.AUTHORIZEDACTIONS=14 THEN ‘UPDATE,DISPLAY,UPDATE/DISPLAY ALL,CORRECTION’
WHEN a.AUTHORIZEDACTIONS=15 THEN ‘ADD,UPDATE,DISPLAY,UPDATE/DISPLAY ALL,CORRECTION’
WHEN a.AUTHORIZEDACTIONS=128 THEN ‘DATA ENTRY’
ELSE ‘UNKNOWN’
END ) AUTHORIZEDACTIONS
FROM PS_PTLT_COMP_NAV N
inner join PSMENUITEM b ON N.PTLT_TASK_CODE=b.PNLGRPNAME ||’.GBL’
inner join PSAUTHITEM a ON a.menuname = b.menuname AND a.baritemname = b.itemname
where a.CLASSID=’YourPermissionList’