Monitoring the Progress of the Global Payroll Process

By | January 31, 2012

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.

2 thoughts on “Monitoring the Progress of the Global Payroll Process

  1. Brett Nilsson

    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!

Comments are closed.