1 | PRSXP43 ;WCIOFO/JAH-POST INIT FOR PATCH 43 OT WARNINGS--8/18/98
|
---|
2 | ;;4.0;PAID;**43**;Sep 21, 1995
|
---|
3 | ;PAID
|
---|
4 | ; Post install loops thru the pay period (pp) file (458) & looks for
|
---|
5 | ; situations where an overtime warning should appear on the Pay Period
|
---|
6 | ; Exceptions report. If such condition occurs, warning is filed in the
|
---|
7 | ; file 458.6 (OVERTIME WARNINGS)--new with patch 43 & used to maintain
|
---|
8 | ; status of overtime warnings. Payroll may later clear warnings
|
---|
9 | ; thru the new option Overtime Warnings.
|
---|
10 | Q
|
---|
11 | ;
|
---|
12 | SERCH4OT ;
|
---|
13 | N PPSTART,XPDIDTOT,PPI,PPE,PRSDIV,PRSPCT,DFN,OTFLCNT
|
---|
14 | S PPSTART="1998-11",OTFLCNT=0
|
---|
15 | ;quit if patch installed already
|
---|
16 | I $$PATCH^XPDUTL("PRS*4.0*43") D MES^XPDUTL(" OT Warning search skipped. Checked on earlier PRS*4*43 install") Q
|
---|
17 | ;
|
---|
18 | ; update installer of patch with messages about post-install.
|
---|
19 | ;
|
---|
20 | S PPSTART=$O(^PRST(458,"AB",PPSTART))
|
---|
21 | Q:$G(PPSTART)'>0
|
---|
22 | S PPI=$O(^PRST(458,"AB",PPSTART,0))
|
---|
23 | Q:$G(PPI)'>0
|
---|
24 | ;
|
---|
25 | D MES^XPDUTL(" This process may take several minutes.")
|
---|
26 | D MES^XPDUTL(" Estimating # of records to check for overtime (OT) warnings.")
|
---|
27 | S XPDIDTOT=$$TOTAL(PPSTART)
|
---|
28 | S PRSDIV=XPDIDTOT\50 I 'PRSDIV S PRSDIV=1
|
---|
29 | S PRSPCT=0
|
---|
30 | ;
|
---|
31 | D MES^XPDUTL(" OT check--TT8B string vs. request--pay period "_PPSTART_" to present.")
|
---|
32 | ;
|
---|
33 | ; back up PPI to include records from current PPI in loop
|
---|
34 | S PPI=PPI-.1
|
---|
35 | F S PPI=$O(^PRST(458,PPI)) Q:PPI'>0 D
|
---|
36 | .S PPE=$P($G(^PRST(458,PPI,0)),"^")
|
---|
37 | .S DFN=0
|
---|
38 | .F S DFN=$O(^PRST(458,PPI,"E",DFN)) Q:DFN'>0 D
|
---|
39 | .. S PRSPCT=PRSPCT+1 ; # records processed
|
---|
40 | ..; call to KIDS to update %complete bar at bottom of install screen.
|
---|
41 | .. I '(PRSPCT#PRSDIV),(PRSPCT<XPDIDTOT) D UPDATE^XPDID(PRSPCT)
|
---|
42 | ..;
|
---|
43 | .. Q:'$D(^PRST(458,PPI,"E",DFN,"D",0))
|
---|
44 | ..;
|
---|
45 | ..; If timecard does not have a status of (T)imekeeper.
|
---|
46 | ..; and there is a TT8b string on file.
|
---|
47 | ..; Compare OT that's been calculated in the
|
---|
48 | ..; TT8B to that which is approved in the request file.
|
---|
49 | ..;
|
---|
50 | .. N TT8B,STATUS,WEEK,OT8B,OTAPP
|
---|
51 | .. S TT8B=$G(^PRST(458,PPI,"E",DFN,5)),STATUS=$P($G(^(0)),"^",2)
|
---|
52 | .. Q:(STATUS="T")!(TT8B="")
|
---|
53 | .. F WEEK=1:1:2 D
|
---|
54 | ... D GETOTS^PRSAOTT(PPE,DFN,TT8B,WEEK,.OT8B,.OTAPP)
|
---|
55 | ... I OTAPP<OT8B D
|
---|
56 | .... D FILEOTW^PRSAOTTF(PPI,DFN,WEEK,OT8B,OTAPP)
|
---|
57 | .... S OTFLCNT=OTFLCNT+1
|
---|
58 | D UPDATE^XPDID(XPDIDTOT)
|
---|
59 | D MES^XPDUTL(" "_OTFLCNT_" overtime warnings filed in 458.6")
|
---|
60 | D MES^XPDUTL(" Please delete routine PRSXP43 when installation is complete.")
|
---|
61 | Q
|
---|
62 | TOTAL(PPE4Y) ;ESTIMATE TOTAL RECORDS TO EXAM DURING POST INIT
|
---|
63 | ; Get # of records for 1 pay period (pp) & multiply by # of pps on
|
---|
64 | ; file from pp passed in. This total estimates records to
|
---|
65 | ; process during post-install & is used to update KIDS % complete bar.
|
---|
66 | ; INPUT: pp in 4 digit year format
|
---|
67 | ; LOCAL: PPS = # pps from PPE4Y to present
|
---|
68 | ; PPE = pp external. PPI = pp ien. DFN = timecard ien
|
---|
69 | ; OUTPUT: TOT = estimated timecards from pp passed (PPE4Y)- present
|
---|
70 | ;
|
---|
71 | S TOT=0
|
---|
72 | N PPS,PPE,PPI,DFN
|
---|
73 | S PPS=1,PPE=PPE4Y
|
---|
74 | F S PPE=$O(^PRST(458,"AB",PPE)) Q:PPE'>0 S PPS=PPS+1
|
---|
75 | S PPI=$O(^PRST(458,"AB",PPE4Y,0))
|
---|
76 | ;
|
---|
77 | Q:$G(PPI)'>0 TOT
|
---|
78 | S TOT=$P($G(^PRST(458,PPI,"E",0)),"^",4)
|
---|
79 | I TOT'>0 D
|
---|
80 | . S DFN=0 F S DFN=$O(^PRST(458,PPI,"E",DFN)) Q:DFN'>0 S TOT=TOT+1
|
---|
81 | S TOT=TOT*PPS
|
---|
82 | Q TOT
|
---|
83 | ;
|
---|