Tuesday, December 28, 2010

System Process Request

System Process Requests is a component (PRCSMULTI) located in:

PeopleTools > Process Scheduler > System Process Requests
That allows you to run a number of system level administration processes, jobs and tests.

For developer's this is a great place to find out how to do something as it provides a number of different ways of using the process scheduler. I believe one of the best ways to get better at PeopleSoft development is to understand exactly how you can do things in the system - there may be options out there that you didn't even know about!

After you create a run control, there are three pages in the component:

Process Request Dialog for running system processes
Component Interface to test running a process (XRFMENU) through the PROCESSREQUEST component interface
ProcessRequest PeopleCode to test running a process through PeopleCode
System Processes
Press the run button on the run control and you'll be give a list of system processes. You can select one or more of these and run them. The processes provided are a combination of system processes, example/test processes, and jobs. Some of the useful ones include:

All Process Type (ALLTYPES) job which runs test COBOL, Crystal and SQR programs.
Database Designer/Database Audit (DDDAUDIT) which checks for inconsistencies between PeopleSoft records/indexes and the equivalent database records/indexes.
Export User Tables (EXPRTUSR) which runs a data mover script located at PS_HOME\scripts\userexport.dms and exports all users (operators) and out of your system and into an output file called USEREXPORT.DAT. This is also a good example of how to run datamover scripts from the process scheduler.
Process scheduler server clean (PRCSSRVCLN) which seems to be for clearing the process scheduler cache?
Process scheduler system purge (PRCSYSPURGE) for purging process scheduler requests, archiving report manager tables, and it also calls PSXPARCHATTR for archiving XML publisher reports.
XML Publisher File Cleanup (PSXPCLEAN) for cleaning up working tables associated with XML Publisher.
XML Publisher Purge (PSXPDELATTR) which publishes the message for the PSXP_CLEANATTR through Integration Broker. This appears to be for purging XML publisher report search data. This message has a handler, PurgeAttributes which lives in the application package class PSXP_REPORTMGR.AttributeDelAsync and this is the code that does the cleanup work.
Swap Audit Report (SWPAUDIT) which checks for data integrity problems that may occur when swapping language settings.
System Audit (SYSAUDIT) which is a very powerful tool for checking for inconsistencies in PeopleTools definitions.
A number of cross reference (XRF*) reports. These are useful for impact analysis - for example if you want to see what fields are reference by PeopleCode (in case you want to modify that field) then run XRFFLPC.
Running processes through a Component Interface
The PeopleCode that runs the processes through the PROCESSREQUEST component interface is located in Component Record Field PeopleCode: PRCSMULTI.GBL.PRCSSAMPLEREC.RUNCCNTLCOMPINTF.FieldChange.

I'm not sure why you would want to run a process request this way, but this code serves as another good, simple example of how to use a component interface through PeopleCode.

Running processes through ProcessRequest PeopleCode
The PeopleCode that runs the processes through the ProcessRequest PeopleCode is located in Component Record Field PeopleCode: PRCSMULTI.GBL.PRCSSAMPLEREC.RUNCCNTLPRCSRQST.FieldChange.

If you ever want to fire another process in your PeopleCode program, then this is how to do it (or you can use the component interface approach).

No comments:

Post a Comment