I believe the problem is because the pcr ZEP2 is called without par 2 & 3as
PIT ZEP2
This means pcr ZEP2 allows for each ESGG and w/t that exists in IT.
For example if IT has lines as below:
* 1000
* 1100
3 2000
3 3000
Then PCR ZEP2 needs to exist for each of these ESGG & w/t in the IT as below
ZEP2 */1000
ZEP2 */1100
ZEP2 3/2000
ZEP2 3/3000
For the w/t's which do not need specific processing you may need one ESGG/W/T as */**** and here just add the w/t (ADDWT *).
If you call the PCR with PIT ZEP2 GEN then this applies to all w/t's.
If you call with PIT ZEP2 bbbb NOAB - this applies to specific w/t's and all ESGG's
Please post payroll log for the PCR called prior to ZEP2 in the schema. That would help to understand the issue.
Also see the help info for PIT function where the use of par 2 & 3 are explained