Top. 001: P.CNTRT.DTL.PAY.PERIOD.DT = AL.YEAR 002: V.VAR2 = 'Run for: ':P.CNTRT.DTL.PAY.PERIOD.DT 003: T.REM.ERN = 0 ; T.AWD = 0 ; T.HOURS = 0 ; T.CUM.ERN = 0 ; T.CUR.ERN = 0 004: FWS.T.HRS = 0 ; FWS.T.CUR.ERN = 0 ; FWS.T.CUM.ERN = 0 ; FWS.T.AWD = 0 005: FWS.T.REM.ERN = 0 006: MWS.T.HRS = 0 ; MWS.T.CUR.ERN = 0 ; MWS.T.CUM.ERN = 0 ; MWS.T.AWD = 0 007: MWS.T.REM.ERN = 0 008: 009: FOR_EACH SELECTED X.CNTRT.DTL.STU.ID 010: VL.LIST.VAR1 = '' ; VL.LIST.VAR2 = '' 011: TOT.AWD = 0 ; CUR.ERN = 0 ; CUM.ERN = 0 ; X5 = 0 012: HOURS = 0 ; SUM.CUR.ERN = 0 013: 014: NAME = "Can't fine name" 015: V.ID = V.X.CNTRT.DTL.STU.ID 016: FOR_THE REFERENCED ID 017: NAME = V.LAST.NAME:', ':V.FIRST.NAME:' ':V.MIDDLE.NAME[1,1] 018: END_THE ID 019: 020: V.X.CNTRT.DEPTS.ID = V.X.CNTRT.DTL.DEPT 021: FOR_THE REFERENCED X.CNTRT.DEPTS.ID 022: END_THE X.CNTRT.DEPTS.ID 023: 024: V.X.CNTRT.STU.ID = V.X.CNTRT.DTL.STU.ID 025: FOR_THE REFERENCED X.CNTRT.STU.ID 026: IF V.X.CNTRT.STATUS = 'T' THEN V.VAR11 = 'T' ELSE V.VAR11 = '' 027: FOR_EACH ASSOCIATED X.CNTRT.DEPT 028: IF V.X.CNTRT.DTL.DEPT = V.X.CNTRT.DEPT THEN 029: IF V.X.CNTRT.DTL.AWARD = V.X.CNTRT.AWARD.TYPE THEN 030: SUM.CUM = 0 031: FOR_EACH SECONDARY X.CNTRT.DTL.PAY.PERIOD.DT 032: TMP.ERN = V.X.CNTRT.RATE * VL.X.CNTRT.DTL.HOURS<1,X5> / 100 033: CUM.ERN += TMP.ERN 034: T.CUM.ERN += TMP.ERN 035: IF V.X.CNTRT.AWARD.TYPE = 'FWS' THEN 036: FWS.T.CUM.ERN += TMP.ERN 037: END 038: IF V.X.CNTRT.AWARD.TYPE = 'MWS' THEN 039: MWS.T.CUM.ERN += TMP.ERN 040: END 041: X5 += 1 042: P.DATE = ICONV(P.CNTRT.DTL.PAY.PERIOD.DT,'D2/') 043: R.DATE = ICONV(VL.X.CNTRT.DTL.PAY.PERIOD.DT<1,X5>,'D2/') 044: IF P.DATE = R.DATE THEN 045: HOURS += VL.X.CNTRT.DTL.HOURS<1,X5> 046: CUR.ERN += TMP.ERN 047: T.CUR.ERN += TMP.ERN 048: IF V.X.CNTRT.AWARD.TYPE = 'FWS' THEN 049: FWS.T.CUR.ERN += CUR.ERN 050: END 051: IF V.X.CNTRT.AWARD.TYPE = 'MWS' THEN 052: MWS.T.CUR.ERN += CUR.ERN 053: END 054: END 055: END_EACH X.CNTRT.DTL.PAY.PERIOD.DT 056: T.AWD += V.X.CNTRT.AWARD ;* Total Award 057: T.HOURS += HOURS ;* Total Hours 058: REM.ERN = V.X.CNTRT.AWARD - CUM.ERN ;* Remaining Earnings 059: T.REM.ERN += REM.ERN ;* Total Remaining Earn 060: GOSUB CUM.TOTALS 061: GOSUB PRINT.DETAIL.LINE 062: END 063: END 064: END_EACH X.CNTRT.DEPT 065: END_THE X.CNTRT.STU.ID 066: END_EACH X.CNTRT.DTL.STU.ID 067: 068: GOSUB DO.FINAL.TOTALS 069: 070: RETURN 071: 072: CUM.TOTALS: 073: 074: IF V.X.CNTRT.AWARD.TYPE = 'FWS' THEN 075: FWS.T.HRS += HOURS 076: FWS.T.AWD += V.X.CNTRT.AWARD 077: FWS.T.REM.ERN += V.X.CNTRT.AWARD - CUM.ERN ;* Remaining Earnings 078: END 079: IF V.X.CNTRT.AWARD.TYPE = 'MWS' THEN 080: MWS.T.HRS += HOURS 081: MWS.T.AWD += V.X.CNTRT.AWARD 082: MWS.T.REM.ERN += V.X.CNTRT.AWARD - CUM.ERN ;* Remaining Earnings 083: END 084: 085: RETURN 086: 087: DO.FINAL.TOTALS: 088: 089: V.VAR8 = 'Grand Totals' 090: V.VAR9 = T.HOURS 091: V.VAR10 = T.CUR.ERN 092: V.VAR12 = T.REM.ERN 093: V.VAR13 = T.CUM.ERN 094: V.VAR14 = T.AWD 095: PRINT_DETAIL LINE 5 096: PRINT_DETAIL LINE 4 097: 098: V.VAR8 = 'FWS Totals' 099: V.VAR9 = FWS.T.HRS 100: V.VAR10 = FWS.T.CUR.ERN 101: V.VAR12 = FWS.T.REM.ERN 102: V.VAR13 = FWS.T.CUM.ERN 103: V.VAR14 = FWS.T.AWD 104: PRINT_DETAIL LINE 5 105: PRINT_DETAIL LINE 4 106: 107: V.VAR8 = 'MWS Totals' 108: V.VAR9 = MWS.T.HRS 109: V.VAR10 = MWS.T.CUR.ERN 110: V.VAR13 = MWS.T.CUM.ERN 111: V.VAR14 = MWS.T.AWD 112: V.VAR12 = MWS.T.REM.ERN 113: PRINT_DETAIL LINE 5 114: PRINT_DETAIL LINE 4 115: 116: RETURN 117: 118: PRINT.DETAIL.LINE: 119: 120: V.VAR1 = NAME 121: V.VAR3 = HOURS 122: V.VAR4 = CUR.ERN 123: V.VAR5 = CUM.ERN 124: V.VAR6 = REM.ERN 125: PRINT_DETAIL LINE 1 126: 127: RETURN Bottom. *--: