Working with COBOL Processes

This topic discusses how to:

  • Review delivered COBOL processes.

  • Review delivered COBOL processes for special events.

  • Create COBOL routines.

Use the Process Table component - Interface Process Table page, Process Description field to review descriptions of the COBOL processes that are delivered with Payroll Interface.

The delivered COBOL processes are either field or record processes (you can associate a process with either a field or a record) that perform processing tasks outside the normal scope of Payroll Interface.

See Setting Up the Process Table.

Example: Process ID 000015

This COBOL process performs a validation against some data values and sets the value of the field to which the process is attached to one of the values listed in the Interface Process Table page, Returned Value field. Because the timing is Before Field Translation, you can then use these values in the Field Translation list. The list of values in theReturned Value field documents the process so that you know which values can be used in the Field Translation list and what they represent. This technique enables you to leverage one COBOL routine for two fields.

This process is useful because the PeopleSoft system stores certain tax values in two separate fields: one field for percents and another field for flat amounts. For this type of field, some payroll systems have one field with a Type code to specify whether it is a percent or an amount. The COBOL process determines which PeopleSoft field contains the value and returns those fields that are equal to the one identified in the Returned Value field. The Payroll Interface process then converts or translates the value in theReturned Value field to another value based on the Field Translation list.

Delivered Processes

This table lists and describes the COBOL processes that are delivered with PeopleSoft Payroll Interface:

Process ID

Process Phase

Description

Type

User Defined Process

User Exit Program

Description

000001

Record Processing

Ded End Dt

Record

No

None

When the primary PeopleSoft source for the transaction is additional earnings, matches the earnings end date against the pay end date to determine whether the additional earnings should be stopped.

000002

Before Field Translation

Area Code

Field

No

None

Extracts the U.S. area code from the phone number field if the field contains 10 characters. If the field contains fewer than 10 characters, spaces are returned.

000003

Before Field Translation

City Code1

Field

Yes

PIPSPADP

Returns the locality code for the City 1 field. If the employee has more than one locality code defined, the code returned is where he or she works.

000004

Before Field Translation

City Code2

Field

Yes

PIPSPADP

Uses the City2 Code value only if resident state and work state are different. Uses the translate entries when needed.

000005

Before Field Translation

Cnt Deduct

Field

Yes

PIPSPADP

Adds 1 to a counter for deductions using fields that are mapped to the ON1 field. Issues a warning message when the employee has more than 24 deductions.

000005

Export File Creation

Tilde Chr

Field

No

None

For delimited data file structures only. Inserts a Delete character as defined in the working storage of the COBOL program PIPXPRCS.CBL A tilde (~) follows the value of the field to be deleted. Only works when invoked from a Process Control record definition.

000006

Record Processing

Co change

Record

No

None

Recognizes that the PeopleSoft company ID for this employee has changed. When using this process, the PeopleSoft company ID must be mapped to a field within the record. If the converted value for the PeopleSoft company ID changes, the record containing this process ID is formatted.

000008

After Field Translation

Excess

Field

Yes

PIPSPADP

Returns the translated deduction code for the direct deposit bank account identified to contain the "excess" within PeopleSoft.

000008

Export File Creation

Skip Blank

Field

Yes

PIPXPADP

Bypasses this field in the output file if the Export Full option is selected and the field is blank.

000009

Before Field Translation

Lcl recip

Field

Yes

PIPSPADP

Creates values to apply to the translate table. If Local 2 exists, then Field 1 will be resident local and Field 02 will be work local.

000010

Before Field Translation

First Name

Field

No

None

Extracts the first name from the PeopleSoft Name field on the Personal Data Table.

000011

Before Field Translation

Last Name

Field

No

None

Extracts the last name from the PeopleSoft Name field on the Personal Data Table.

000012

After Field Translation

New Hire

Field

Yes

PIPSPADP

Sets the new hire action to a lowercase N. This is set when no history records exist for the employee.

000013

Before Field Translation

Old PI ID

Field

No

None

Uses the employee's previous PI_EMPLID.

000014

Before Field Translation

Before Field Translation

Field

No

None

Maps the previous export value for this field into the current record.

000015

Before Field Translation

Pct or Amt

Field

No

None

Derives a type code from data in two related numeric fields. The first is the amount; the second is the percent. Both fields must be on the same table and row. The return values reflect non-zero entries in the fields. Examples include Federal Tax Data, Additional Amount, and Additional Percent.

000016

Export File Creation

Bypass Rec

Record

No

None

Bypasses the entire record on the output file.

000016

Import Processing

Bypass Rec

Record

Yes

PIPMPADP

Validates and bypasses the record during the import process.

000017

Before Field Translation

Phone No

Field

No

None

Extracts the 7-digit phone number from the free-form Phone field.

000018

Record Processing

Pygrp chg

Record

No

None

Recognizes that the PeopleSoft pay group for this employee has changed. When using this process, the PeopleSoft pay group must be mapped to a field within the record. If the translated value for the PeopleSoft pay group changes, the record containing this process ID is formatted.

000019

After Field Translation

Rehire Cd

Field

Yes

PIPSPADP

If the employee's status code was terminated the last time this employee's data was exported, but the current status code is Active, sets the Rehire code.

000020

Before Field Translation

RmSlsh/Dsh

Field

No

None

Returns the data value from the PeopleSoft database minus any embedded slashes or dashes. Use to return the U.S. ZIP code value without the separating dash and to return a phone number without dashes.

000021

Before Field Translation

State 2 Cd

Field

Yes

PIPSPADP

Uses the Resident State Code if resident state and work state are different. Uses the translate entries when needed.

000022

Before Field Translation

Std Hours

Field

No

None

Calculates standard hours per pay period from standard weekly hours and pay frequency of the pay group.

000023

Record Processing

Stop DirDp

Record

No

None

Recognizes that the Direct Deposit code no longer applies for this employee. The record containing this process ID is formatted.

000024

Record Processing

Stop AdPay

Record

No

None

Recognizes that Additional Payment no longer applies for this employee. The record containing this process ID is formatted.

000025

Before Field Translation

Stop Code

Field

No

None

Returns a Yes indicator (a returned value of "Y") when one of the following events occurs: Stop Deduction, Stop Direct Deposit, Stop Additional Pay, PI Employee ID change, Company change or Pay Group change.

000026

Record Processing

Stop Ded

Record

No

None

Recognizes that the deduction code no longer applies for this employee. The record containing this process ID is formatted.

000027

Record Processing

Stop Goals

Record

No

None

Recognizes that deduction goals no longer apply for this employee. The record containing this process ID is formatted.

000028

Before Field Translation

Stop Date

Field

No

None

Returns a stop date when any of the following events occur: Stop Deduction, Stop Direct Deposit, Stop Additional Pay, PI Employee ID change, Company change and Pay Group change. The date supplied is the pay begin date minus one day. If the event does not occur, spaces are supplied for the stop data.

000029

Record Processing

Stop Save

Record

No

None

Recognizes that the savings plan deduction no longer applies for this employee. The record containing this process ID is formatted.

000030

Before Field Translation

ST Recip

Field

Yes

PIPSPADP

Creates values to apply to the translate table. If State 2 exists, then Field 1 is the resident state and Field 2 is the work state.

000031

Record Processing

Transfer

Record

Yes

PIPSPADP

Detects when the transfer transaction should be formatted.

000031

Export File Creation

Transfer

Record

Yes

PIPXPADP

Recognizes when the PI_EMPID for an employee has changed. The transfer transaction is generated to include the appropriate change indicators for the fields that have changed.

000032

Before Field Translation

MD Local %

Field

No

None

Calculates the Maryland locality percentage. Translate values apply only when State 1 is Maryland.

000033

After Field Translation

SUI/SDI

Field

Yes

PIPSPADP

Generates an error message and does not export the employee's data to ADP if a change is detected in this field and the employee has not been assigned a new PI_EMPLID. Use to validate a change to the SUI/SDI state tax code.

000034

Before Field Translation

> 3 DirDep

Field

Yes

PIPSPADP

Edits the employee data for more than three direct deposit accounts.

000035

After Field Translation

New PI ID

Field

No

None

Uses the current or "new" PI-EMPLID when the old PI_EMPLID is not the same as the current PI_EMPLID assigned to the PeopleSoft employee ID.

000036

Import Processing

DPA09

Field

Yes

PIPMPADP

Saves pay date 1 from the Direct Pay header record for access by process 000040.

000037

Import Processing

DPA10

Field

Yes

PIPMPADP

Saves the pay period end date 1 from the Direct Pay header record for access by process 000040.

000038

Import Processing

DPA11

Field

Yes

PIPMPADP

Saves the pay date 2 from the Direct Pay header record for access by process 000040.

000039

Import Processing

DPA12

Field

Yes

PIPMPADP

Saves pay period end date 2 from the Direct Pay header record for access by process 000040.

000040

Import Processing

DPB11

Field

Yes

PIPMPADP

Selects pay dates 1 or 2 from the Direct Pay header record. PI_CHECK key fields are based upon the value of this field.

000041

Import Processing

PCX 3E8

Field

Yes

PIPMPADP

Updates PI-BALANCE_YEAR PI_BALANCE_PERIOD and PI_BALANCE_QTR based upon the as of date.

000042

Import Processing

PCX 3E9

Field

Yes

PIPMPADP

Updates all of the current employee's balance entries before they are inserted in the database.

000043

After Field Translation

Goal Amts

Field

Yes

PIPSPADP

Paired with special process 000044. Does not send the goal limit amount if it is zero on setup. Formats the reset of a goal limit amount to zero when needed.

000044

After Field Translation

Goal Code

Field

Yes

PIPSPADP

Pairs the Goal Limit codes with the Goal Limit Amount.

000045

Before Field Translation

Middle Int

Field

No

None

Retrieves the person's middle initial from the Name field. Names are entered last name, first name, and middle name. This routine takes the first character following the space after the first name.

000046

Before Field Translation

Middle Nme

Field

No

None

Retrieves the person's middle name from the Name field.

000047

Export File Creation

Skip Field

Field

Yes

PIPXPADP

Causes the export process to bypass the field on the output file when the Export Full option is used and the field is blank.

000048

Export File Creation

Bypass Fld

Field

No

None

Bypasses the field in the output transaction file.

000049

Record Processing

Eff Status

Record

No

None

Checks the effective status field. If it is not active, the data will not be formatted for export.

000050

Record Processing

CSV

Record

Yes

PIPSPRCS

Marks records with a stop deduction as having a stop on the PI Partic Export.

000200

Before Field Translation

GVT Remark

Field

No

None

(USF only) Creates an array of remarks codes from the SF50 remarks for inclusion in EPIC Record.

000201

Before Field Translation

Tang Amt

Field

No

None

(USF only) If Tangible Benefits > 0 sets to "Y" else blank.

000202

Before Field Translation

Intang Amt

Field

No

None

(USF only) If Intangible Benefits > 0 sets to "Y" else blank.

000203

Export File Creation

Geo Code

Field

No

None

(USF only) Process GVT_GEOLOC_CD Code.

000204

Before Field Translation

Hire Date

Field

No

None

(USF only) Hire Date evaluation.

000205

Before Field Translation

Posn Title

Field

No

None

(USF only) Position Title Code/Description.

The Definition Table component - Interface Definition Record page, Process ID field enables you to access COBOL processes that signal special events (transactions) such as a Stop Deduction. These events set an indicator that can be used later by another special process indicator. The following table lists the processes that PeopleSoft Payroll Interface delivers for special events.

See Setting Up the Definition Table.

Note: The processes listed in this topic are a subset of the COBOL processes that are delivered with Payroll Interface.

See Reviewing Delivered COBOL Processes.

See Working with Transactions.

Process ID

Description

Record Type

Special Event

00001

0N1 Change

Data

Used for logical file types. Assigned to data records for DED_CALC and savings.

000023

Stop DirDP

Process

Stops direct deposit.

000024

Stop AdPay

Process

Stops additional payment. Assigned the stop record.

000026

Stop Ded

Process

Stop deduction. Assigned the stop record.

000027

Stop Goals

Process

Stop deduction goal. Assigned the stop record.

000029

Stop Save

Process

Stop savings plan deduction. Assigned the stop record.

000050

Savings, Additional Pay

Data

Assigned to the data records for non-logical file formats (such as CSV) for additional pay and savings plan before and after tax.

These record IDs must be named:

"SAVE" for before-tax savings

"SPAT" for after-tax savings

"APAY" for additional pay

You can create your own COBOL routines for use with Payroll Interface. The system isolates your COBOL routines from the delivered Payroll Interface COBOL processes and calls them by retrieving the name specified on the Process Table component - Interface Process Table page, User Exit Program field.

Shell programs for three user exit invocation points are provided with Payroll Interface. You can use these programs as templates for your COBOL routines:

  • PIPMPOTH: For routines performed during the Import process.

  • PIPSPOTH: For routines performed during the Export process select/compare phases.

  • PIPXPOTH: For routines performed during the Export process create export file phase.

To define your own COBOL routine:

  1. Make a copy of the shell program that is associated with the Payroll Interface process phase in which your special process routine will be performed.

    Do not modify the shell programs. These programs are set up with all the necessary working storage and linkage section data elements already defined and should be preserved as modules for future development.

  2. Change all references to the shell program name to the name of your new routine.

    Follow the PeopleSoft naming convention to make it easier to identify the timing of your own routines. You should change the last three characters of the program name to the system ID for which the routine is written. For example, the ADP system ID has three routines: PIPMPADP, PIPSPADP, and PIPXPADP.

  3. Select a process ID for your new routine.

    Review copy member PICPRCSW.CBL and select an unassigned number between 80000 and 899999. These numbers will not be used by PeopleSoft development. Add an 88 level description for your new routine in the copy member. Code your program logic and compile your program.

  4. Define your new routine to Payroll Interface by setting up a process ID using the Process Table component.

Note: For AS400 and Oracle/VMS platforms, you must specify the calls to your user exit programs in copy member PICUEXIT.CBL. Edit this copy member to add your new program in the appropriate place.