PeopleSoft NA Payroll or HCM Functional Training:

PeopleSoft NA Payroll or HCM Functional Training:

Please send email to nandu.peoplesoft@gmail.com for enrolling the course or call me @8897575066. Please see below HCM Functional training AGENDA.

Payroll for North America training AGENDA.

This is an online Functional Training. Training goes through webex and explain you with real time execution of processes with examples. Recordings and documentation will be given once the training is done.

Monday, September 24, 2012

Ben Admin failed with Subscript out of range (in PSPBATBL.cbl, line 4473)



When running Benefits Administration, the process fails with the following error:

ERROR
-----------------------
Object Code error : file '/app/psoft/HCMPRD/hr9/cblbin/PSPBATBL.gnt'
error code: 153, pc=0, call=1, seg=0
153 Subscript out of range (in PSPBATBL.cbl, line 4473) 
Solution:
 
Error message 153 is generated when an array size is exceeded.

Another cause may be related to missing records in PS_BEN_PROG_PARTIC table.

To implement the solution, please take the following steps:
1. In a test environment, in PSPBATBL.CBL increase the size of the following array from 30 to 999 and change WELIG-CURSOR-AVAILABLE value to 999 (3 values need to be increased: WELIG-CURSOR-MAX, WELIG-CURSOR-AVAILABLE, and OCCURS for WELIG-CURSOR-DATA):
01  W-ELIG-CURSORS.

           02  WELIG-CURSOR-COUNT           PIC 999                  COMP.
                  88  WELIG-CURSOR-MAX                                     VALUE 999.


           02  WELIG-CURSOR-AVAILABLE     PIC 999     VALUE 999   COMP.
           02  WELIG-CURSOR-USED              PIC 999                  COMP.
           02  WELIG-CURSOR-LEFT                 PIC 999                  COMP.
           02  WELIG-CURSOR-DATA                              OCCURS 999
                                                                                                INDEXED BY
                                                                                                WELCS-IDX.

2. Recompile all COBOL programs.
3. Retest the issue.
4. If the issue is resolved, migrate the update as appropriate to the other environments. 
ADDITIONAL INFORMATION:
Q: How large the array should actually be? We increased the array to 500 and put in a display but we're not sure how to interpret the display.

A: In the context of Benefits Administration’s automatic event processing and on-demand event maintenance process, SQL cursor count is the number of unique SQL statements executed for each employee processed. SQL cursor count for each employee processed differs and can also vary by installation.

Total SQL cursor count for each employee processed is the cursor count during PSPBASCH (enrollment scheduling) plus the SQL cursor count of every COBOL module called by PSPBASCH, e.g. PSPBATBL, PSPPYMSG, etc. In section XB000 SET ELIG CURSORS of COBOL module PSPBATBL, variable WELIG CURSOR-USED OF W-ELIG-CURSORS is set to the total SQL cursor count for each employee processed. If it is feasible, the customer can place DISPLAY statements in this section to determine the actual total SQL cursor count for each employee processed and then set the OCCURS limit to one that is greater than the highest of the actual total SCL cursor counts. If this is not feasible, then increasing the OCCURS limit for W-ELIG-CURSORS to 500 should be fine too.