08/17/2005 Formatting schemas and personnel calculation rules 1 -------------------------------------------------------------------------------- ZNDP 001 BLOCK BEG FLSA NDSP Calculations ZNDP 002 PRINT RT ZNDP 003 ACTIO ZUF4 Rotate Total Hours/Dollars Wage Types -------------------------------------------------------------------------------- ZUF4***** AMT=L8T25 NUM=L8T25 ADDWTE8T26NEXTR 1 ZUF4***** 1 AMT=L8T24 NUM=L8T24 ADDWTE8T25NEXTR 2 ZUF4***** 2 AMT=L8T23 NUM=L8T23 ADDWTE8T24NEXTR 3 ZUF4***** 3 AMT=L8T22 NUM=L8T22 ADDWTE8T23NEXTR 4 ZUF4***** 4 AMT=L8T21 NUM=L8T21 ADDWTE8T22NEXTR 5 ZUF4***** 5 AMT=L8T20 NUM=L8T20 ADDWTE8T21NEXTR 6 ZUF4***** 6 AMT=L8T19 NUM=L8T19 ADDWTE8T20NEXTR 7 ZUF4***** 7 AMT=L8T18 NUM=L8T18 ADDWTE8T19NEXTR 8 ZUF4***** 8 AMT=L8T17 NUM=L8T17 ADDWTE8T18NEXTR 9 ZUF4***** 9 AMT=L8T16 NUM=L8T16 ADDWTE8T17NEXTR A ZUF4***** A AMT=L8T15 NUM=L8T15 ADDWTE8T16NEXTR B ZUF4***** B AMT=L8T14 NUM=L8T14 ADDWTE8T15NEXTR C ZUF4***** C AMT=L8T13 NUM=L8T13 ADDWTE8T14NEXTR D ZUF4***** D AMT=L8T12 NUM=L8T12 ADDWTE8T13NEXTR E ZUF4***** E AMT=L8T11 NUM=L8T11 ADDWTE8T12NEXTR F ZUF4***** F AMT=L8T10 NUM=L8T10 ADDWTE8T11NEXTR G ZUF4***** G AMT=L8T09 NUM=L8T09 ADDWTE8T10NEXTR H ZUF4***** H AMT=L8T08 NUM=L8T08 ADDWTE8T09NEXTR I ZUF4***** I AMT=L8T07 NUM=L8T07 ADDWTE8T08NEXTR J ZUF4***** J AMT=L8T06 NUM=L8T06 ADDWTE8T07NEXTR K ZUF4***** K AMT=L8T05 NUM=L8T05 ADDWTE8T06NEXTR L ZUF4***** L AMT=L8T04 NUM=L8T04 ADDWTE8T05NEXTR M ZUF4***** M AMT=L8T03 NUM=L8T03 ADDWTE8T04NEXTR N ZUF4***** N AMT=L8T02 NUM=L8T02 ADDWTE8T03NEXTR O ZUF4***** O AMT=L8T01 NUM=L8T01 ADDWTE8T02 -------------------------------------------------------------------------------- ZNDP 004 ACTIO ZUF5 Rotate OT Hours/Dollars Wage Types -------------------------------------------------------------------------------- ZUF5***** AMT=L8O25 NUM=L8O25 ADDWTE8O26NEXTR 1 ZUF5***** 1 AMT=L8O24 NUM=L8O24 ADDWTE8O25NEXTR 2 ZUF5***** 2 AMT=L8O23 NUM=L8O23 ADDWTE8O24NEXTR 3 ZUF5***** 3 AMT=L8O22 NUM=L8O22 ADDWTE8O23NEXTR 4 ZUF5***** 4 AMT=L8O21 NUM=L8O21 ADDWTE8O22NEXTR 5 ZUF5***** 5 AMT=L8O20 NUM=L8O20 ADDWTE8O21NEXTR 6 ZUF5***** 6 AMT=L8O19 NUM=L8O19 ADDWTE8O20NEXTR 7 ZUF5***** 7 AMT=L8O18 NUM=L8O18 ADDWTE8O19NEXTR 8 ZUF5***** 8 AMT=L8O17 NUM=L8O17 ADDWTE8O18NEXTR 9 ZUF5***** 9 AMT=L8O16 NUM=L8O16 ADDWTE8O17NEXTR A ZUF5***** A AMT=L8O15 NUM=L8O15 ADDWTE8O16NEXTR B ZUF5***** B AMT=L8O14 NUM=L8O14 ADDWTE8O15NEXTR C ZUF5***** C AMT=L8O13 NUM=L8O13 ADDWTE8O14NEXTR D ZUF5***** D AMT=L8O12 NUM=L8O12 ADDWTE8O13NEXTR E ZUF5***** E AMT=L8O11 NUM=L8O11 ADDWTE8O12NEXTR F ZUF5***** F AMT=L8O10 NUM=L8O10 ADDWTE8O11NEXTR G ZUF5***** G AMT=L8O09 NUM=L8O09 ADDWTE8O10NEXTR H ZUF5***** H AMT=L8O08 NUM=L8O08 ADDWTE8O09NEXTR I ZUF5***** I AMT=L8O07 NUM=L8O07 ADDWTE8O08NEXTR J ZUF5***** J AMT=L8O06 NUM=L8O06 ADDWTE8O07NEXTR K ZUF5***** K AMT=L8O05 NUM=L8O05 ADDWTE8O06NEXTR L ZUF5***** L AMT=L8O04 NUM=L8O04 ADDWTE8O05NEXTR M ZUF5***** M AMT=L8O03 NUM=L8O03 ADDWTE8O04NEXTR N ZUF5***** N AMT=L8O02 NUM=L8O02 ADDWTE8O03NEXTR O ZUF5***** O AMT=L8O01 NUM=L8O01 ADDWTE8O02 -------------------------------------------------------------------------------- ZNDP 005 PRT ZUF6 P85 NOAB Fill Hours/Dollars Wage Types with ND -------------------------------------------------------------------------------- ZUF6***** DVWTCL 85 ZUF6****** ZUF6*****1 ELIMI * ZERO= R ADDWTE8T01 ZUF6*****2 ELIMI * ZERO= NR ADDWTE8T01 ZUF6*****3 ELIMI * ZERO= R ADDWTE8T01ADDWTE8O01 ZUF6*****4 ELIMI * ZERO= NR ADDWTE8T01ADDWTE8O01 -------------------------------------------------------------------------------- ZNDP 006 PIT ZUF7 P99 NOAB Divide NDSP and split into periodic W -------------------------------------------------------------------------------- ZUF7***** DVWTCL 99 ZUF7****** ADDWT * ZUF7*****1 ADDWT * AMT/2 ADDWTE8T01ADDWTE8T02NUM=2 ADDWT&NDSP ZUF7*****2 ADDWT * AMT/6 ADDWTE8T01ADDWTE8T02ADDWTE8T03NEXTR A ZUF7*****2 A ADDWTE8T04ADDWTE8T05ADDWTE8T06NUM=6 ADDWT&NDSP ZUF7*****3 AMT/13 ADDWTE8T01ADDWTE8T02ADDWTE8T03ADDWTE8T04NEXTR A ZUF7*****3 A ADDWT * ADDWTE8T05ADDWTE8T06ADDWTE8T07ADDWTE8T08NEXTR B ZUF7*****3 B ADDWTE8T09ADDWTE8T10ADDWTE8T11ADDWTE8T12ADDWTE8T13NEXTR C ZUF7*****3 C NUM=13 ADDWT&NDSP ZUF7*****4 ADDWT * AMT/26 ELIMI * ADDWTE8T01NEXTR A ZUF7*****4 A ADDWTE8T02ADDWTE8T03ADDWTE8T04ADDWTE8T05ADDWTE8T06NEXTR B ZUF7*****4 B ADDWTE8T07ADDWTE8T08ADDWTE8T09ADDWTE8T10ADDWTE8T11NEXTR C ZUF7*****4 C ADDWTE8T12ADDWTE8T13ADDWTE8T14ADDWTE8T15ADDWTE8T16NEXTR D ZUF7*****4 D ADDWTE8T17ADDWTE8T18ADDWTE8T19ADDWTE8T20ADDWTE8T21NEXTR E ZUF7*****4 E ADDWTE8T22ADDWTE8T23ADDWTE8T24ADDWTE8T25ADDWTE8T26NEXTR F ZUF7*****4 F NUM=26 ADDWT&NDSP -------------------------------------------------------------------------------- ZNDP 007 PRINT RT ZNDP 008 PRINT VAR ZNDP 009 ACTIO ZUF8 Sum Total Dollars in Range& add to &F -------------------------------------------------------------------------------- ZUF8***** DNUM=& NDSPNUM?2 ZUF8*****< ZUF8*****= ZERO= N AMT+E 8T01NUM+E 8T01AMT+E 8T02NUM+E 8T02ADDWT&FLSA ZUF8*****> DNUM?6 ZUF8*****> = ZERO= N AMT+E 8T01NUM+E 8T01AMT+E 8T02NUM+E 8T02NEXTR A ZUF8*****> = A AMT+E 8T03NUM+E 8T03AMT+E 8T04NUM+E 8T04NEXTR B ZUF8*****> = B AMT+E 8T05NUM+E 8T05AMT+E 8T06NUM+E 8T06ADDWT&FLSA ZUF8*****> > DNUM?13 ZUF8*****> > = ZERO= N AMT+E 8T01NUM+E 8T01AMT+E 8T02NUM+E 8T02NEXTR C ZUF8*****> > = C AMT+E 8T03NUM+E 8T03AMT+E 8T04NUM+E 8T04NEXTR D ZUF8*****> > = D AMT+E 8T05NUM+E 8T05AMT+E 8T06NUM+E 8T06NEXTR E ZUF8*****> > = E AMT+E 8T07NUM+E 8T07AMT+E 8T08NUM+E 8T08NEXTR F ZUF8*****> > = F AMT+E 8T09NUM+E 8T09AMT+E 8T10NUM+E 8T10NEXTR G ZUF8*****> > = G AMT+E 8T11NUM+E 8T11AMT+E 8T12NUM+E 8T12NEXTR H ZUF8*****> > = H AMT+E 8T13NUM+E 8T13ADDWT&FLSA ZUF8*****> > > DNUM?26 ZUF8*****> > > * ERROR ZUF8*****> > > = ZERO= N AMT+E 8T01NUM+E 8T01AMT+E 8T02NUM+E 8T02NEXTR I ZUF8*****> > > = I AMT+E 8T03NUM+E 8T03AMT+E 8T04NUM+E 8T04NEXTR J ZUF8*****> > > = J AMT+E 8T05NUM+E 8T05AMT+E 8T06NUM+E 8T06NEXTR K ZUF8*****> > > = K AMT+E 8T07NUM+E 8T07AMT+E 8T08NUM+E 8T08NEXTR L ZUF8*****> > > = L AMT+E 8T09NUM+E 8T09AMT+E 8T10NUM+E 8T10NEXTR M ZUF8*****> > > = M AMT+E 8T11NUM+E 8T11AMT+E 8T12NUM+E 8T12NEXTR N ZUF8*****> > > = N AMT+E 8T13NUM+E 8T13AMT+E 8T14NUM+E 8T14NEXTR O ZUF8*****> > > = O AMT+E 8T15NUM+E 8T15AMT+E 8T16NUM+E 8T16NEXTR P ZUF8*****> > > = P AMT+E 8T17NUM+E 8T17AMT+E 8T18NUM+E 8T18NEXTR Q ZUF8*****> > > = Q AMT+E 8T19NUM+E 8T19AMT+E 8T20NUM+E 8T20NEXTR R ZUF8*****> > > = R AMT+E 8T21NUM+E 8T21AMT+E 8T22NUM+E 8T22NEXTR S ZUF8*****> > > = S AMT+E 8T23NUM+E 8T23AMT+E 8T24NUM+E 8T24NEXTR T ZUF8*****> > > = T AMT+E 8T25NUM+E 8T25AMT+E 8T26NUM+E 8T26ADDWT&FLSA -------------------------------------------------------------------------------- ZNDP 010 PRINT RT ZNDP 011 PRINT VAR ZNDP 012 ACTIO ZUG1 Calculate Regular Rate of Pay -------------------------------------------------------------------------------- ZUG1***** DAMT=& FLSANUM=& FLSANUM?0 ZUG1****** DIVID ANR ZERO=&FLSAADDWT&FLSA ZUG1*****= -------------------------------------------------------------------------------- ZNDP 013 ACTIO ZUG2 Sum OT Dollars in Range& add to &FLSB -------------------------------------------------------------------------------- ZUG2***** DNUM=& NDSPNUM?2 ZUG2*****< ZUG2*****= ZERO= N AMT+E 8O01NUM+E 8O01AMT+E 8O02NUM+E 8O02ADDWT&FLSB ZUG2*****> DNUM?6 ZUG2*****> = ZERO= N AMT+E 8O01NUM+E 8O01AMT+E 8O02NUM+E 8O02NEXTR A ZUG2*****> = A AMT+E 8O03NUM+E 8O03AMT+E 8O04NUM+E 8O04NEXTR B ZUG2*****> = B AMT+E 8O05NUM+E 8O05AMT+E 8O06NUM+E 8O06ADDWT&FLSB ZUG2*****> > DNUM?13 ZUG2*****> > = ZERO= N AMT+E 8O01NUM+E 8O01AMT+E 8O02NUM+E 8O02NEXTR C ZUG2*****> > = C AMT+E 8O03NUM+E 8O03AMT+E 8O04NUM+E 8O04NEXTR D ZUG2*****> > = D AMT+E 8O05NUM+E 8O05AMT+E 8O06NUM+E 8O06NEXTR E ZUG2*****> > = E AMT+E 8O07NUM+E 8O07AMT+E 8O08NUM+E 8O08NEXTR F ZUG2*****> > = F AMT+E 8O09NUM+E 8O09AMT+E 8O10NUM+E 8O10NEXTR G ZUG2*****> > = G AMT+E 8O11NUM+E 8O11AMT+E 8O12NUM+E 8O12NEXTR H ZUG2*****> > = H AMT+E 8O13NUM+E 8O13ADDWT&FLSB ZUG2*****> > > DNUM?26 ZUG2*****> > > * ERROR ZUG2*****> > > = ZERO= N AMT+E 8O01NUM+E 8O01AMT+E 8O02NUM+E 8O02NEXTR I ZUG2*****> > > = I AMT+E 8O03NUM+E 8O03AMT+E 8O04NUM+E 8O04NEXTR J ZUG2*****> > > = J AMT+E 8O05NUM+E 8O05AMT+E 8O06NUM+E 8O06NEXTR K ZUG2*****> > > = K AMT+E 8O07NUM+E 8O07AMT+E 8O08NUM+E 8O08NEXTR L ZUG2*****> > > = L AMT+E 8O09NUM+E 8O09AMT+E 8O10NUM+E 8O10NEXTR M ZUG2*****> > > = M AMT+E 8O11NUM+E 8O11AMT+E 8O12NUM+E 8O12NEXTR N ZUG2*****> > > = N AMT+E 8O13NUM+E 8O13AMT+E 8O14NUM+E 8O14NEXTR O ZUG2*****> > > = O AMT+E 8O15NUM+E 8O15AMT+E 8O16NUM+E 8O16NEXTR P ZUG2*****> > > = P AMT+E 8O17NUM+E 8O17AMT+E 8O18NUM+E 8O18NEXTR Q ZUG2*****> > > = Q AMT+E 8O19NUM+E 8O19AMT+E 8O20NUM+E 8O20NEXTR R ZUG2*****> > > = R AMT+E 8O21NUM+E 8O21AMT+E 8O22NUM+E 8O22NEXTR S ZUG2*****> > > = S AMT+E 8O23NUM+E 8O23AMT+E 8O24NUM+E 8O24NEXTR T ZUG2*****> > > = T AMT+E 8O25NUM+E 8O25AMT+E 8O26NUM+E 8O26ADDWT&FLSB -------------------------------------------------------------------------------- ZNDP 014 PRINT RT ZNDP 015 PRINT VAR ZNDP 016 IF ZUG7 Is FLSA payment calculation necessary -------------------------------------------------------------------------------- ZUG7***** DNUM=& FLSBNUM?0 ZUG7****** SCOND=T IF ZUG7*****= SCOND=F IF -------------------------------------------------------------------------------- ZNDP 017 ACTIO ZUG4 Calculate FLSA payment -------------------------------------------------------------------------------- ZUG4***** RTE=& FLSARTE*1.5 NUM=& FLSBMULTI NRA AMT-& FLSBADDWTE1110 -------------------------------------------------------------------------------- ZNDP 018 ACTIO ZUG5 Distribute payment to periodic WTyps -------------------------------------------------------------------------------- ZUG5***** DAMT=E 1110NUM=& FLSBDIVID ANA NUM=& NDSPNUM?2 ZUG5****** ZUG5*****= NUM=E 8O01MULTI ANA ZERO= N ADDWTE8T01ADDWTE8O01NEXTR 1 ZUG5*****= 1 NUM=E 8O02MULTI ANA ZERO= N ADDWTE8T02ADDWTE8O02 ZUG5*****> DNUM?6 ZUG5*****> = NUM=E 8O01MULTI ANA ZERO= N ADDWTE8T01ADDWTE8O01NEXTR 1 ZUG5*****> = 1 NUM=E 8O02MULTI ANA ZERO= N ADDWTE8T02ADDWTE8O02NEXTR 2 ZUG5*****> = 2 NUM=E 8O03MULTI ANA ZERO= N ADDWTE8T03ADDWTE8O03NEXTR 3 ZUG5*****> = 3 NUM=E 8O04MULTI ANA ZERO= N ADDWTE8T04ADDWTE8O04NEXTR 4 ZUG5*****> = 4 NUM=E 8O05MULTI ANA ZERO= N ADDWTE8T05ADDWTE8O05NEXTR 5 ZUG5*****> = 5 NUM=E 8O06MULTI ANA ZERO= N ADDWTE8T06ADDWTE8O06 ZUG5*****> > DNUM?13 ZUG5*****> > = NUM=E 8O01MULTI ANA ZERO= N ADDWTE8T01ADDWTE8O01NEXTR 1 ZUG5*****> > = 1 NUM=E 8O02MULTI ANA ZERO= N ADDWTE8T02ADDWTE8O02NEXTR 2 ZUG5*****> > = 2 NUM=E 8O03MULTI ANA ZERO= N ADDWTE8T03ADDWTE8O03NEXTR 3 ZUG5*****> > = 3 NUM=E 8O04MULTI ANA ZERO= N ADDWTE8T04ADDWTE8O04NEXTR 4 ZUG5*****> > = 4 NUM=E 8O05MULTI ANA ZERO= N ADDWTE8T05ADDWTE8O05NEXTR 5 ZUG5*****> > = 5 NUM=E 8O06MULTI ANA ZERO= N ADDWTE8T06ADDWTE8O06NEXTR 6 ZUG5*****> > = 6 NUM=E 8O07MULTI ANA ZERO= N ADDWTE8T07ADDWTE8O07NEXTR 7 ZUG5*****> > = 7 NUM=E 8O08MULTI ANA ZERO= N ADDWTE8T08ADDWTE8O08NEXTR 8 ZUG5*****> > = 8 NUM=E 8O09MULTI ANA ZERO= N ADDWTE8T09ADDWTE8O09NEXTR 9 ZUG5*****> > = 9 NUM=E 8O10MULTI ANA ZERO= N ADDWTE8T10ADDWTE8O10NEXTR A ZUG5*****> > = A NUM=E 8O11MULTI ANA ZERO= N ADDWTE8T11ADDWTE8O11NEXTR B ZUG5*****> > = B NUM=E 8O12MULTI ANA ZERO= N ADDWTE8T12ADDWTE8O12NEXTR C ZUG5*****> > = C NUM=E 8O13MULTI ANA ZERO= N ADDWTE8T13ADDWTE8O13 ZUG5*****> > > DNUM?26 ZUG5*****> > > * ERROR ZUG5*****> > > = NUM=E 8O01MULTI ANA ZERO= N ADDWTE8T01ADDWTE8O01NEXTR 1 ZUG5*****> > > = 1 NUM=E 8O02MULTI ANA ZERO= N ADDWTE8T02ADDWTE8O02NEXTR 2 ZUG5*****> > > = 2 NUM=E 8O03MULTI ANA ZERO= N ADDWTE8T03ADDWTE8O03NEXTR 3 ZUG5*****> > > = 3 NUM=E 8O04MULTI ANA ZERO= N ADDWTE8T04ADDWTE8O04NEXTR 4 ZUG5*****> > > = 4 NUM=E 8O05MULTI ANA ZERO= N ADDWTE8T05ADDWTE8O05NEXTR 5 ZUG5*****> > > = 5 NUM=E 8O06MULTI ANA ZERO= N ADDWTE8T06ADDWTE8O06NEXTR 6 ZUG5*****> > > = 6 NUM=E 8O07MULTI ANA ZERO= N ADDWTE8T07ADDWTE8O07NEXTR 7 ZUG5*****> > > = 7 NUM=E 8O08MULTI ANA ZERO= N ADDWTE8T08ADDWTE8O08NEXTR 8 ZUG5*****> > > = 8 NUM=E 8O09MULTI ANA ZERO= N ADDWTE8T09ADDWTE8O09NEXTR 9 ZUG5*****> > > = 9 NUM=E 8O10MULTI ANA ZERO= N ADDWTE8T10ADDWTE8O10NEXTR A ZUG5*****> > > = A NUM=E 8O11MULTI ANA ZERO= N ADDWTE8T11ADDWTE8O11NEXTR B ZUG5*****> > > = B NUM=E 8O12MULTI ANA ZERO= N ADDWTE8T12ADDWTE8O12NEXTR C ZUG5*****> > > = C NUM=E 8O13MULTI ANA ZERO= N ADDWTE8T13ADDWTE8O13NEXTR D ZUG5*****> > > = D NUM=E 8O14MULTI ANA ZERO= N ADDWTE8T14ADDWTE8O14NEXTR E ZUG5*****> > > = E NUM=E 8O15MULTI ANA ZERO= N ADDWTE8T15ADDWTE8O15NEXTR F ZUG5*****> > > = F NUM=E 8O16MULTI ANA ZERO= N ADDWTE8T16ADDWTE8O16NEXTR G ZUG5*****> > > = G NUM=E 8O17MULTI ANA ZERO= N ADDWTE8T17ADDWTE8O17NEXTR H ZUG5*****> > > = H NUM=E 8O18MULTI ANA ZERO= N ADDWTE8T18ADDWTE8O18NEXTR I ZUG5*****> > > = I NUM=E 8O19MULTI ANA ZERO= N ADDWTE8T19ADDWTE8O19NEXTR J ZUG5*****> > > = J NUM=E 8O20MULTI ANA ZERO= N ADDWTE8T20ADDWTE8O20NEXTR K ZUG5*****> > > = K NUM=E 8O21MULTI ANA ZERO= N ADDWTE8T21ADDWTE8O21NEXTR L ZUG5*****> > > = L NUM=E 8O22MULTI ANA ZERO= N ADDWTE8T22ADDWTE8O22NEXTR M ZUG5*****> > > = M NUM=E 8O23MULTI ANA ZERO= N ADDWTE8T23ADDWTE8O23NEXTR N ZUG5*****> > > = N NUM=E 8O24MULTI ANA ZERO= N ADDWTE8T24ADDWTE8O24NEXTR O ZUG5*****> > > = O NUM=E 8H25MULTI ANA ZERO= N ADDWTE8T25ADDWTE8H25NEXTR P ZUG5*****> > > = P NUM=E 8H26MULTI ANA ZERO= N ADDWTE8T26ADDWTE8H26 -------------------------------------------------------------------------------- ZNDP 019 ENDIF ZNDP 020 ACTIO ZUG6 Clear all variables -------------------------------------------------------------------------------- ZUG6***** ZERO=&NDSPZERO=&FLSAZERO=&FLSB -------------------------------------------------------------------------------- ZNDP 021 PRINT VAR ZNDP 022 PRINT RT ZNDP 023 BLOCK END