The Global Payroll process is a Cobol program. It is not unusual for the payroll process to take a number of hours to complete, depending on factors such as:
- The number of payees
- The complexity of the payroll element configuration
- Infrastructure capability
- The type of database used
- The amount of performance tuning employed
It is difficult to determine the progress of the payroll process. However, there are a few methods by which we can monitor the status of the payroll calculation.
PS_GP_RUNCTL
The “PS_GP_RUNCTL” table is periodically updated by Global Payroll Process (GPPDPRUN) and can be used to get an indication of the process progress.
The following SQL script shows the key fields related to the process progress:
SELECT CAL_RUN_ID, RUN_CNTL_ID, C.PHASE_OPTN AS RUN_PHASE_OPTN, B.PHASE_STEP AS RUN_PHASE_STEP, NEXT_PGM, NEXT_EMPLID, TO_CHAR(PRC_SAVE_TS, ‘hh:mm:ss am’) FROM PS_GP_RUNCTL A, (SELECT FIELDVALUE, XLATLONGNAME AS PHASE_STEP FROM PSXLATITEM B WHERE FIELDNAME = ‘RUN_PHASE_STEP’) B, (SELECT FIELDVALUE, XLATSHORTNAME AS PHASE_OPTN FROM PSXLATITEM B WHERE FIELDNAME = ‘RUN_PHASE_OPTN’) C WHERE A.RUN_PHASE_STEP = B.FIELDVALUEAND A.RUN_PHASE_OPTN = C.FIELDVALUE AND OPRID = ‘ENTER YOUR OPRID HERE’ |
The query returns the Phase, Step and Employee ID last saved.
The RUN_PHASE_STEP field shows the last completed step in the process. Steps include:
STEP | DESCRIPTION |
1 | Run Phase Step Initial |
2 | Run Phase Step After Initial |
3 | Run Phase Step Initial End |
4 | Run Phase Before Iterative |
5 | Run Phase Step Iterative |
6 | Run Phase Step After Iter |
7 | Run Phase Step Iter End |
8 | Run Phase Step Before Canel |
9 | Run Phase Step Cancel |
10 | Run Phase Step After Cancel |
11 | Run Phase Step Cancel End |
12 | Run Phase Step Before Identif |
13 | Run Phase Step Identification |
14 | Run Phase Step After Identif |
15 | Run Phase Step Identifictn End |
16 | Run Phase Step TL Interface |
17 | Run Phase Step Before Calc |
18 | Run Phase Step Calculate |
19 | Run Phase Step After Calc |
20 | Run Phase Step Calc End |
21 | Run Phase Step Before Final |
22 | Run Phase Step Final |
23 | Run Phase Step Final End |
30 | Run Phase Step Before Ident 2 |
Monitor SQL
Another way to view the inner workings of the Payroll process is to use the “Monitor SQL…” function in “Oracle SQL Developer” application (assuming you are using an Oracle DB). This function shows the details of SQL statements being called/executed by the Payroll process.
Details of each SQL Statement including Start and End time are shown.
Restart Information
Finally, a slightly simpler approach. The “Restart Information” link on the “Calculate Absence and Payroll” component is useful for identifying the Phase and Step of the process.
Another method Paul, usually used if you’re in a development environment of where you need to know exactly where the process is up to is to update the GP installation table to set the calculate commit value to a small number – typically 1-10. This means that the payroll will commit the data out of memory to the disk and update the GP_RUNCTL table more frequently.
Of course, there’s a performance impact to this as writing results to the disk is typically the slowest part of the process, so commiting often will slow things down. However if you’re particularly keen to see where the calc is up to, this is your best bet!
Nice one Brett.