View Full Version: Pr05 Custom Calc

LawsonTalk > HR/Payroll > Pr05 Custom Calc


Title: Pr05 Custom Calc


trezaei - June 20, 2006 11:35 PM (GMT)
Has anyone have built the User Exit required for the Custom Calc on PR05? There is also one on an LP form (LP07 I believe). I have no idea which program it wants the User Exit written for. Does anyone have any documentation for this at all?
Or maybe the code sample itself :rau:


Thanks

SAH - June 21, 2006 09:57 AM (GMT)
I'm not a techie, but have a user exit in place currently on PR05- here's a sample of the code (its pretty long, so I'm not sure which piece you may need - if this isn't enough, let me know and I can send it to you in its entirety. I can't read it - I just know what it does :D

******* PRDEDCALC 120.1.40.1.79 <3469257298>
000100******************************************************************
000200* PRDEDCALC *
000300*MODIFED LIBRARY - *
000300* ON 6/29/2004 *
000300* *
* MODIFED TO CALL 7000-CSRS-PAYMOVE OF LIBRARY PRCSPY *
000300* MOVE PAY SUMMARY GROUP AMOUNTS TO TEMPORARY ARRAY *
000300******************************************************************
000400 2000-PROCESS-OPEN-CHECKS SECTION.
000500******************************************************************
000600 2000-START.
000700
000800* MOVE WS-FALSE TO PRDED-REFIND-TRD-SW.
000900 IF (PRDED-CNT = ZEROS)
001000 AND (PRCHWS-CNT = ZEROS)
001100 GO TO 2000-END.
001200
001300 MOVE PRDED-COMPANY TO DB-COMPANY.
001400 MOVE PRDED-PROCESS-LEVEL TO DB-PROCESS-LEVEL.
001500 MOVE PRDED-EMPLOYEE TO DB-EMPLOYEE.
001600 MOVE PYMSET5-EMPLOYEE TO WS-DB-BEG-RNG.
001700 PERFORM 850-FIND-BEGRNG-PYMSET5.
001800
001900 PERFORM
002000 UNTIL (PAYMASTR-NOTFOUND)
002100
002200 MOVE PYM-CHECK-DATE TO PRDED-COMPARE-DATE
002300 IF (PRDED-COMPARE-YEAR = PRDED-CHECK-YEAR)
002400 IF ((PRDED-ALL-OPEN = "Y")
002500 OR (PYM-CHECK-TYPE = "J" OR "M" OR "R" OR "V"))
002600 AND (PYM-CHECK-ID NOT = PRDED-CHECK-ID)
002700 AND (PRDED-CNT NOT = ZEROS)
002800 MOVE PYM-CHECK-ID TO DB-CHECK-ID
004400 MOVE PYDSET1-CHECK-ID TO WS-DB-BEG-RNG
004500 PERFORM 850-FIND-BEGRNG-PYDSET1
004600 PERFORM 2010-PROCESS-PAYDEDUCTN
004700 THRU 2010-END
004800 UNTIL (PAYDEDUCTN-NOTFOUND)
004900 END-IF
005100 END-IF
005200 IF ((PRDED-ALL-OPEN = "Y")
005300 OR (PYM-CHECK-TYPE = "J" OR "M" OR "R" OR "V"))
005400 AND (PYM-CHECK-ID NOT = PRDED-CHECK-ID)
005500 AND (PRCHWS-CNT NOT = ZEROS)
005600 AND (PRCHWS-MAX-LIMIT-OVRD NOT = "N")
005700 IF (PYM-CHECK-TYPE = "J" OR "M")
005800* MOVE WS-TRUE TO PRDED-REFIND-TRD-SW
005900 MOVE PYM-COMPANY TO DB-COMPANY
006000 MOVE PYM-EMPLOYEE TO DB-EMPLOYEE
007700 MOVE TRDSET8-CHECK-ID TO WS-DB-BEG-RNG
007800 PERFORM 850-FIND-BEGRNG-TRDSET8
007900 PERFORM
008000 UNTIL (TIMERECORD-NOTFOUND)
008100
008200 PERFORM
008300 VARYING DED-I1 FROM 1 BY 1
008400 UNTIL (DED-I1 > PRCHWS-CNT)
008500
008600 IF (PYM-CHECK-DATE
008700 NOT < PRCHWS-PLAN-DATE (DED-I1))
008800 AND (PYM-CHECK-DATE
008900 NOT > PRCHWS-END-DATE (DED-I1))
009000 IF (PRCHWS-COMP-CLASS (DED-I1)
009100 = SPACES)
009200 ADD TRD-WAGE-AMOUNT
009300 TO PRCHWS-YTD-COMP (DED-I1)
009400 ELSE
009500 MOVE TRD-PAY-SUM-GRP
009600 TO DB-PAY-SUM-GRP
009700 MOVE PRCHWS-COMP-CLASS (DED-I1)
009800 TO DB-PAY-CLASS
009900 PERFORM 840-FIND-PSRSET1
010000 IF (PSGRELATE-FOUND)
010100 IF (PSR-WAGES-FLAG = "S")
010200 SUBTRACT TRD-WAGE-AMOUNT
010300 FROM PRCHWS-YTD-COMP (DED-I1)
010400 ELSE
010500 IF (PSR-WAGES-FLAG NOT = "E")
010600 ADD TRD-WAGE-AMOUNT
010700 TO PRCHWS-YTD-COMP (DED-I1)
010800 END-IF
010900 END-IF
011000 END-IF
011100 END-IF
011200 END-IF
011300 END-PERFORM
011400 PERFORM 860-FIND-NXTRNG-TRDSET8
011500 END-PERFORM
011700 ELSE
011800 MOVE PYM-COMPANY TO DB-COMPANY
011900 MOVE PYM-EMPLOYEE TO DB-EMPLOYEE
012000 MOVE PYM-CHECK-ID TO DB-CHECK-ID
012100 MOVE PRTSET1-CHECK-ID TO WS-DB-BEG-RNG
012200 PERFORM 850-FIND-BEGRNG-PRTSET1
012300 PERFORM
012400 UNTIL (PRTIME-NOTFOUND)
012500
012600 PERFORM
012700 VARYING DED-I1 FROM 1 BY 1
012800 UNTIL (DED-I1 > PRCHWS-CNT)
012900
013000 IF (PYM-CHECK-DATE
013100 NOT < PRCHWS-PLAN-DATE (DED-I1))
013200 AND (PYM-CHECK-DATE
013300 NOT > PRCHWS-END-DATE (DED-I1))
013400 IF (PRCHWS-COMP-CLASS (DED-I1)
013500 = SPACES)
013600 ADD PRT-WAGE-AMOUNT
013700 TO PRCHWS-YTD-COMP (DED-I1)
013800 ELSE
013900 MOVE PRT-PAY-SUM-GRP
014000 TO DB-PAY-SUM-GRP
014100 MOVE PRCHWS-COMP-CLASS (DED-I1)
014200 TO DB-PAY-CLASS
014300 PERFORM 840-FIND-PSRSET1
014400 IF (PSGRELATE-FOUND)
014500 IF (PSR-WAGES-FLAG = "S")
014600 SUBTRACT PRT-WAGE-AMOUNT
014700 FROM PRCHWS-YTD-COMP (DED-I1)
014800 ELSE
014900 IF (PSR-WAGES-FLAG NOT = "E")
015000 ADD PRT-WAGE-AMOUNT
015100 TO PRCHWS-YTD-COMP (DED-I1)
015200 END-IF
015300 END-IF
015400 END-IF
015500 END-IF
015600 END-IF
015700 END-PERFORM
015800 PERFORM 860-FIND-NXTRNG-PRTSET1
015900 END-PERFORM
016000 END-IF
016100 END-IF
016200 PERFORM 860-FIND-NXTRNG-PYMSET5
016300 END-PERFORM.
016400
016500 GO TO 2000-END.
016600
016700******************************************************************
016800 2010-PROCESS-PAYDEDUCTN.
016900******************************************************************



Hosted for free by InvisionFree