Showing posts with label GPPDPRUN Error. Show all posts
Showing posts with label GPPDPRUN Error. Show all posts

Saturday, June 1, 2019

ORA-00001: unique constraint (SYSADM.PS_GP_PI_GEN_SOVR) violated in Global Payroll

This error usually occurs when the COBOL process GPPDPRUN errors out and we run it again on top of that. It basically tries to insert the same set of rows on the payroll processing tables with the earlier set of rows already present. And when it does that it throws the UNIQUE CONSTRAINT error.

The first thing that we need to do is check the process log where we will get the clue as to where exactly process failed. Important thing to notice here is, if you process the payroll through streams then it's better to check which particular stream caused the COBOL to fail. Once the stream is located then just cancel that particular stream and re-run it, the error will be gone.

However, if the payroll is processed without streams then the whole payroll needs to be cancelled and re-run which will resolve the issue.

Friday, April 5, 2019

Segmentation not created for a payee in PeopleSoft Global Payroll

Recently we had an issue when payroll wasn't creating segments for a new country for which we were implementing GP. We spend nearly two days trying to figure out what exactly was causing this.

These are possible reasons:

Unprocessed Iterative Triggers

If one or more iterative triggers of previous period are in unprocessed state then segmentation for those employees will not be processed. If so then delete those triggers using below SQL
DELETE FROM PS_GP_RTO_TRGR WHERE COUNTRY = <payee's country> AND EMPLID = <emplid> AND TRGR_STATUS = 'U' AND CAL_RUN_ID <> <Current Calendar Group>;

There might also be unprocessed iterative triggers created for the country other than payee's country which will cause this hence delete those triggers too.

Unprocessed Retro Triggers

If one or more retro triggers for other countries are in unprocessed state then segmentation for those employees will not be processed. If so then delete those triggers using below SQL
DELETE FROM PS_GP_ITER_TRGR WHERE COUNTRY <> <payee's country> AND EMPLID = <emplid> AND ITER_TRGR_STATUS = 'U';

Segmentation Triggers

If one or more segmentation triggers for other countries exist and are active for those employees then segmentation will not be processed.
DELETE FROM PS_GP_SEG_TRGR WHERE COUNTRY <> <payee's country> AND EMPLID = <emplid> AND SEG_TRGR_STATUS = 'A';

In our case, all above where the reasons so we basically deleted all those unwanted triggers (Iterative, Retro and Segment) using SQL script and it resolved the issue. The segmentation was processed.