PRSXP84 ;WCIOFO/MGD-CORRECT ERRONEOUS DATA IN 459 ;07/25/2003
;;4.0;PAID;**84**;Sep 21, 1995
;
Q
;
; This routine will correct erroneous data in the PAID PAYRUN DATA
; (#459) file for Pay Periods 03-06, 03-07 and 03-08.
; The following fields in the EMPLOYEE (#459.01) multiple will be
; updated:
; GRADE (#3)
; STEP (#4)
; SALARY (#13)
;
; For more details see the patch description on FORUM.
;
START ; Main Driver
;
K ^TMP($J),TMP
N D0305,D0306,D0307,D0308,D450,DA,DB,DIK,DR,EMP,EMPX,FLSA
N GRD05,GRD06,GRD07,GRD08,GRADE,IEN05,IEN06,IEN07,IEN08
N LCNT,MCNT,MESS,MESS1,NAME,PDATE,PP,STP05,STP06,STP07,STP08
N SAL05,SAL06,SAL07,SAL08,SALARY,SD,SSN,STANUM,STEP
N TCNT,TIME,TMP,U,UCIX,XMSUB
S U="^",(DA,LCNT,TCNT)=0,MCNT=1
D NOW^%DTC
S Y=%
D DD^%DT
S TIME=Y
W !!,"Post install routine PRSXP84 beginning at ",TIME_"."
;
; Get Station Number
;
S STANUM=$$KSP^XUPARAM("INST")_","
S STANUM=$$GET1^DIQ(4,STANUM,99)
S MESS1="Station: "_STANUM_" - "
;
; Check for UCI,VOL
;
X ^%ZOSF("UCI")
S UCIX=$G(Y)
I UCIX=""!(UCIX'?3U1","3U) S UCIX="???,???"
S MESS1=MESS1_UCIX_" - "
;
; Find IENs for Pay Periods in the PAID PAYRUN DATA (#459) file
;
S (IEN05,IEN06,IEN07,IEN08)=""
S IEN05=$O(^PRST(459,"B","03-05",IEN05))
S IEN06=$O(^PRST(459,"B","03-06",IEN06))
S IEN07=$O(^PRST(459,"B","03-07",IEN07))
S IEN08=$O(^PRST(459,"B","03-08",IEN08))
I IEN05'>0!(IEN06'>0)!(IEN07'>0)!(IEN08'>0) D Q
. I IEN05'>0 D
. .S ^TMP($J,"MGD",MCNT)=MESS1_"PP 03-05 Not Found"
. .S MCNT=MCNT+1
. I IEN06'>0 D
. .S ^TMP($J,"MGD",MCNT)=MESS1_"PP 03-06 Not Found"
. .S MCNT=MCNT+1
. I IEN07'>0 D
. .S ^TMP($J,"MGD",MCNT)=MESS1_"PP 03-07 Not Found"
. .S MCNT=MCNT+1
. I IEN08'>0 D
. .S ^TMP($J,"MGD",MCNT)=MESS1_"PP 03-08 Not Found"
. D XMT
;
; Loop through employees
;
S EMP=0
F S EMP=$O(^PRSPC(EMP)) Q:'EMP D
. ;
. ; Quit if the employee is separated
. ;
. Q:$P($G(^PRSPC(EMP,1)),U,1)="Y"
. ;
. S D450=$G(^PRSPC(EMP,0))
. Q:D450=""
. S PDATE=$P(D450,U,28)
. ;
06 . ; Check for employees who received a promotion in PP 03-06
. ;
. I PDATE>3030322&(PDATE<3030406) D Q
. . S TCNT=TCNT+1
. . D RPT
. . S MESS="PP 03-05"_$J(SAL05,10)_$J(GRD05,6)_$J(STP05,7)
. . S ^TMP($J,"MGD",MCNT)=MESS
. . S MCNT=MCNT+1
. . ;
. . S MESS="PP 03-06"_$J(SAL06,10)_$J(GRD06,6)_$J(STP06,7)
. . I SAL06'=SALARY!(GRD06'=GRADE)!(STP06'=STEP) D
. . . S MESS=MESS_$J(SALARY,19)_$J(GRADE,6)_$J(STEP,7)
. . S ^TMP($J,"MGD",MCNT)=MESS
. . S MCNT=MCNT+1
. . S DR="3////^S X=GRADE",DIE="^PRST(459,IEN06,""P"",",DA=EMP
. . L +^PRST(459,IEN06,"P",EMP):0 I $T D ^DIE
. . S DR="4////^S X=STEP",DIE="^PRST(459,IEN06,""P"",",DA=EMP D ^DIE
. . S DR="13////^S X=SALARY",DIE="^PRST(459,IEN06,""P"",",DA=EMP D ^DIE
. . L -^PRST(459,IEN06,"P",EMP)
. . ;
. . S MESS="PP 03-07"_$J(SAL07,10)_$J(GRD07,6)_$J(STP07,7)
. . I SAL07'=SALARY!(GRD07'=GRADE)!(STP07'=STEP) D
. . . S MESS=MESS_$J(SALARY,19)_$J(GRADE,6)_$J(STEP,7)
. . S ^TMP($J,"MGD",MCNT)=MESS
. . S MCNT=MCNT+1
. . S DR="3////^S X=GRADE",DIE="^PRST(459,IEN07,""P"",",DA=EMP
. . L +^PRST(459,IEN07,"P",EMP):0 I $T D ^DIE
. . S DR="4////^S X=STEP",DIE="^PRST(459,IEN07,""P"",",DA=EMP D ^DIE
. . S DR="13////^S X=SALARY",DIE="^PRST(459,IEN07,""P"",",DA=EMP D ^DIE
. . L -^PRST(459,IEN07,"P",EMP)
. . ;
. . S MESS="PP 03-08"_$J(SAL08,10)_$J(GRD08,6)_$J(STP08,7)
. . I SAL08'=SALARY!(GRD08'=GRADE)!(STP08'=STEP) D
. . . S MESS=MESS_$J(SALARY,19)_$J(GRADE,6)_$J(STEP,7)
. . S ^TMP($J,"MGD",MCNT)=MESS
. . S MCNT=MCNT+1
. . S DR="3////^S X=GRADE",DIE="^PRST(459,IEN08,""P"",",DA=EMP
. . L +^PRST(459,IEN08,"P",EMP):0 I $T D ^DIE
. . S DR="4////^S X=STEP",DIE="^PRST(459,IEN08,""P"",",DA=EMP D ^DIE
. . S DR="13////^S X=SALARY",DIE="^PRST(459,IEN08,""P"",",DA=EMP D ^DIE
. . L -^PRST(459,IEN08,"P",EMP)
. . ;
. . S ^TMP($J,"MGD",MCNT)=" IN 450"_$J(SALARY,10)_$J(GRADE,6)_$J(STEP,7)
. . S MCNT=MCNT+1
. . S ^TMP($J,"MGD",MCNT)=""
. . S MCNT=MCNT+1
. . ;
07 . . ; Check for employees who received a promotion in PP 03-07
. . ;
. I PDATE>3030405&(PDATE<3030420) D Q
. . ;
. . ; Load data from PP 03-05
. . ;
. . S TCNT=TCNT+1
. . D RPT
. . S MESS="PP 03-05"_$J(SAL05,10)_$J(GRD05,6)_$J(STP05,7)
. . S ^TMP($J,"MGD",MCNT)=MESS
. . S MCNT=MCNT+1
. . ;
. . S MESS="PP 03-06"_$J(SAL06,10)_$J(GRD06,6)_$J(STP06,7)
. . I SAL06'=SAL05!(GRD06'=GRD05)!(STP06'=STP05) D
. . . S MESS=MESS_$J(SAL05,19)_$J(GRD05,6)_$J(STP05,7)
. . S ^TMP($J,"MGD",MCNT)=MESS
. . S MCNT=MCNT+1
. . S DR="3////^S X=GRD05",DIE="^PRST(459,IEN06,""P"",",DA=EMP
. . L +^PRST(459,IEN06,"P",EMP):0 I $T D ^DIE
. . S DR="4////^S X=STP05",DIE="^PRST(459,IEN06,""P"",",DA=EMP D ^DIE
. . S DR="13////^S X=SAL05",DIE="^PRST(459,IEN06,""P"",",DA=EMP D ^DIE
. . L -^PRST(459,IEN06,"P",EMP)
. . ;
. . S MESS="PP 03-07"_$J(SAL07,10)_$J(GRD07,6)_$J(STP07,7)
. . I SAL07'=SALARY!(GRD07'=GRADE)!(STP07'=STEP) D
. . . S MESS=MESS_$J(SALARY,19)_$J(GRADE,6)_$J(STEP,7)
. . S ^TMP($J,"MGD",MCNT)=MESS
. . S MCNT=MCNT+1
. . S DR="3////^S X=GRADE",DIE="^PRST(459,IEN07,""P"",",DA=EMP
. . L +^PRST(459,IEN07,"P",EMP):0 I $T D ^DIE
. . S DR="4////^S X=STEP",DIE="^PRST(459,IEN07,""P"",",DA=EMP D ^DIE
. . S DR="13////^S X=SALARY",DIE="^PRST(459,IEN07,""P"",",DA=EMP D ^DIE
. . L -^PRST(459,IEN07,"P",EMP)
. . ;
. . S MESS="PP 03-08"_$J(SAL08,10)_$J(GRD08,6)_$J(STP08,7)
. . I SAL08'=SALARY!(GRD08'=GRADE)!(STP08'=STEP) D
. . . S MESS=MESS_$J(SALARY,19)_$J(GRADE,6)_$J(STEP,7)
. . S ^TMP($J,"MGD",MCNT)=MESS
. . S MCNT=MCNT+1
. . S DR="3////^S X=GRADE",DIE="^PRST(459,IEN08,""P"",",DA=EMP
. . L +^PRST(459,IEN08,"P",EMP):0 I $T D ^DIE
. . S DR="4////^S X=STEP",DIE="^PRST(459,IEN08,""P"",",DA=EMP D ^DIE
. . S DR="13////^S X=SALARY",DIE="^PRST(459,IEN08,""P"",",DA=EMP D ^DIE
. . L -^PRST(459,IEN08,"P",EMP)
. . S ^TMP($J,"MGD",MCNT)=" IN 450"_$J(SALARY,10)_$J(GRADE,6)_$J(STEP,7)
. . S MCNT=MCNT+1
. . S ^TMP($J,"MGD",MCNT)=""
. . S MCNT=MCNT+1
;
D XMT
K DIE
Q
;
XMT ; Send status via mail message
;
I $D(^TMP($J,"MGD")) D
. N DIFROM,XMDUZ,XMTEXT,XMY
. S XMDUZ=.5
. S XMTEXT="^TMP($J,""MGD"","
. S XMSUB=MESS1_"SALARY, GRADE & STEP CLEANUP"
. S XMY("DILL.MATT@DOMAIN.EXT")="",XMY(DUZ)=""
. S XMY("MCCLARAN.PAM@DOMAIN.EXT")=""
. D ^XMD
;
K ^TMP($J),Y,%
D NOW^%DTC
S Y=%
D DD^%DT
S TIME=Y
W !!,"Post install routine PRSXP84 completed at ",TIME_"."
W !,TCNT," Employees were updated."
Q
;
RPT ;
;
S GRADE=$P(D450,U,14),STEP=$P(D450,U,39),SALARY=$P(D450,U,29)
S DB=$P(D450,U,10),FLSA=$P(D450,U,12),PP=$P(D450,U,21)
S SSN=$E($P(D450,U,9),6,9),EMPX=" "
S NAME=$P($P(D450,U,1),",",1)_","_$E($P($P(D450,U,1),",",2))
;
S D0305=$G(^PRST(459,IEN05,"P",EMP,0))
S D0306=$G(^PRST(459,IEN06,"P",EMP,0))
S D0307=$G(^PRST(459,IEN07,"P",EMP,0))
S D0308=$G(^PRST(459,IEN08,"P",EMP,0))
;
S SAL05=$P(D0305,U,14),GRD05=$P(D0305,U,4),STP05=$P(D0305,U,5)
S SAL06=$P(D0306,U,14),GRD06=$P(D0306,U,4),STP06=$P(D0306,U,5)
S SAL07=$P(D0307,U,14),GRD07=$P(D0307,U,4),STP07=$P(D0307,U,5)
S SAL08=$P(D0308,U,14),GRD08=$P(D0308,U,4),STP08=$P(D0308,U,5)
S SD=""
I PDATE>3030322&(PDATE<3030406) S SD="PP 03-06"
I PDATE>3030405&(PDATE<3030420) S SD="PP 03-07"
S Y=PDATE
D DD^%DT
S PDATE=Y
S $E(EMPX,1,$L(EMP))=EMP
S MESS=NAME_" ID: "_SSN_" IEN: "_EMPX_" Salary date: "_PDATE_" - "_SD
S ^TMP($J,"MGD",MCNT)=MESS
S MCNT=MCNT+1
S MESS="Pay Plan: "_PP_" Duty Basis: "_DB_" FLSA: "_FLSA
S ^TMP($J,"MGD",MCNT)=MESS
S MCNT=MCNT+1
S MESS="Pay Period Salary Grade Step Corrected Salary Grade Step"
S ^TMP($J,"MGD",MCNT)=MESS
S MCNT=MCNT+1
Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPRSXP84 7817 printed Apr 09, 2024@21:27:20 Page 2
PRSXP84 ;WCIOFO/MGD-CORRECT ERRONEOUS DATA IN 459 ;07/25/2003
+1 ;;4.0;PAID;**84**;Sep 21, 1995
+2 ;
+3 QUIT
+4 ;
+5 ; This routine will correct erroneous data in the PAID PAYRUN DATA
+6 ; (#459) file for Pay Periods 03-06, 03-07 and 03-08.
+7 ; The following fields in the EMPLOYEE (#459.01) multiple will be
+8 ; updated:
+9 ; GRADE (#3)
+10 ; STEP (#4)
+11 ; SALARY (#13)
+12 ;
+13 ; For more details see the patch description on FORUM.
+14 ;
START ; Main Driver
+1 ;
+2 KILL ^TMP($JOB),TMP
+3 NEW D0305,D0306,D0307,D0308,D450,DA,DB,DIK,DR,EMP,EMPX,FLSA
+4 NEW GRD05,GRD06,GRD07,GRD08,GRADE,IEN05,IEN06,IEN07,IEN08
+5 NEW LCNT,MCNT,MESS,MESS1,NAME,PDATE,PP,STP05,STP06,STP07,STP08
+6 NEW SAL05,SAL06,SAL07,SAL08,SALARY,SD,SSN,STANUM,STEP
+7 NEW TCNT,TIME,TMP,U,UCIX,XMSUB
+8 SET U="^"
SET (DA,LCNT,TCNT)=0
SET MCNT=1
+9 DO NOW^%DTC
+10 SET Y=%
+11 DO DD^%DT
+12 SET TIME=Y
+13 WRITE !!,"Post install routine PRSXP84 beginning at ",TIME_"."
+14 ;
+15 ; Get Station Number
+16 ;
+17 SET STANUM=$$KSP^XUPARAM("INST")_","
+18 SET STANUM=$$GET1^DIQ(4,STANUM,99)
+19 SET MESS1="Station: "_STANUM_" - "
+20 ;
+21 ; Check for UCI,VOL
+22 ;
+23 XECUTE ^%ZOSF("UCI")
+24 SET UCIX=$GET(Y)
+25 IF UCIX=""!(UCIX'?3U1","3U)
SET UCIX="???,???"
+26 SET MESS1=MESS1_UCIX_" - "
+27 ;
+28 ; Find IENs for Pay Periods in the PAID PAYRUN DATA (#459) file
+29 ;
+30 SET (IEN05,IEN06,IEN07,IEN08)=""
+31 SET IEN05=$ORDER(^PRST(459,"B","03-05",IEN05))
+32 SET IEN06=$ORDER(^PRST(459,"B","03-06",IEN06))
+33 SET IEN07=$ORDER(^PRST(459,"B","03-07",IEN07))
+34 SET IEN08=$ORDER(^PRST(459,"B","03-08",IEN08))
+35 IF IEN05'>0!(IEN06'>0)!(IEN07'>0)!(IEN08'>0)
Begin DoDot:1
+36 IF IEN05'>0
Begin DoDot:2
+37 SET ^TMP($JOB,"MGD",MCNT)=MESS1_"PP 03-05 Not Found"
+38 SET MCNT=MCNT+1
End DoDot:2
+39 IF IEN06'>0
Begin DoDot:2
+40 SET ^TMP($JOB,"MGD",MCNT)=MESS1_"PP 03-06 Not Found"
+41 SET MCNT=MCNT+1
End DoDot:2
+42 IF IEN07'>0
Begin DoDot:2
+43 SET ^TMP($JOB,"MGD",MCNT)=MESS1_"PP 03-07 Not Found"
+44 SET MCNT=MCNT+1
End DoDot:2
+45 IF IEN08'>0
Begin DoDot:2
+46 SET ^TMP($JOB,"MGD",MCNT)=MESS1_"PP 03-08 Not Found"
End DoDot:2
+47 DO XMT
End DoDot:1
QUIT
+48 ;
+49 ; Loop through employees
+50 ;
+51 SET EMP=0
+52 FOR
SET EMP=$ORDER(^PRSPC(EMP))
if 'EMP
QUIT
Begin DoDot:1
+53 ;
+54 ; Quit if the employee is separated
+55 ;
+56 if $PIECE($GET(^PRSPC(EMP,1)),U,1)="Y"
QUIT
+57 ;
+58 SET D450=$GET(^PRSPC(EMP,0))
+59 if D450=""
QUIT
+60 SET PDATE=$PIECE(D450,U,28)
+61 ;
06 ; Check for employees who received a promotion in PP 03-06
+1 ;
+2 IF PDATE>3030322&(PDATE<3030406)
Begin DoDot:2
+3 SET TCNT=TCNT+1
+4 DO RPT
+5 SET MESS="PP 03-05"_$JUSTIFY(SAL05,10)_$JUSTIFY(GRD05,6)_$JUSTIFY(STP05,7)
+6 SET ^TMP($JOB,"MGD",MCNT)=MESS
+7 SET MCNT=MCNT+1
+8 ;
+9 SET MESS="PP 03-06"_$JUSTIFY(SAL06,10)_$JUSTIFY(GRD06,6)_$JUSTIFY(STP06,7)
+10 IF SAL06'=SALARY!(GRD06'=GRADE)!(STP06'=STEP)
Begin DoDot:3
+11 SET MESS=MESS_$JUSTIFY(SALARY,19)_$JUSTIFY(GRADE,6)_$JUSTIFY(STEP,7)
End DoDot:3
+12 SET ^TMP($JOB,"MGD",MCNT)=MESS
+13 SET MCNT=MCNT+1
+14 SET DR="3////^S X=GRADE"
SET DIE="^PRST(459,IEN06,""P"","
SET DA=EMP
+15 LOCK +^PRST(459,IEN06,"P",EMP):0
IF $TEST
DO ^DIE
+16 SET DR="4////^S X=STEP"
SET DIE="^PRST(459,IEN06,""P"","
SET DA=EMP
DO ^DIE
+17 SET DR="13////^S X=SALARY"
SET DIE="^PRST(459,IEN06,""P"","
SET DA=EMP
DO ^DIE
+18 LOCK -^PRST(459,IEN06,"P",EMP)
+19 ;
+20 SET MESS="PP 03-07"_$JUSTIFY(SAL07,10)_$JUSTIFY(GRD07,6)_$JUSTIFY(STP07,7)
+21 IF SAL07'=SALARY!(GRD07'=GRADE)!(STP07'=STEP)
Begin DoDot:3
+22 SET MESS=MESS_$JUSTIFY(SALARY,19)_$JUSTIFY(GRADE,6)_$JUSTIFY(STEP,7)
End DoDot:3
+23 SET ^TMP($JOB,"MGD",MCNT)=MESS
+24 SET MCNT=MCNT+1
+25 SET DR="3////^S X=GRADE"
SET DIE="^PRST(459,IEN07,""P"","
SET DA=EMP
+26 LOCK +^PRST(459,IEN07,"P",EMP):0
IF $TEST
DO ^DIE
+27 SET DR="4////^S X=STEP"
SET DIE="^PRST(459,IEN07,""P"","
SET DA=EMP
DO ^DIE
+28 SET DR="13////^S X=SALARY"
SET DIE="^PRST(459,IEN07,""P"","
SET DA=EMP
DO ^DIE
+29 LOCK -^PRST(459,IEN07,"P",EMP)
+30 ;
+31 SET MESS="PP 03-08"_$JUSTIFY(SAL08,10)_$JUSTIFY(GRD08,6)_$JUSTIFY(STP08,7)
+32 IF SAL08'=SALARY!(GRD08'=GRADE)!(STP08'=STEP)
Begin DoDot:3
+33 SET MESS=MESS_$JUSTIFY(SALARY,19)_$JUSTIFY(GRADE,6)_$JUSTIFY(STEP,7)
End DoDot:3
+34 SET ^TMP($JOB,"MGD",MCNT)=MESS
+35 SET MCNT=MCNT+1
+36 SET DR="3////^S X=GRADE"
SET DIE="^PRST(459,IEN08,""P"","
SET DA=EMP
+37 LOCK +^PRST(459,IEN08,"P",EMP):0
IF $TEST
DO ^DIE
+38 SET DR="4////^S X=STEP"
SET DIE="^PRST(459,IEN08,""P"","
SET DA=EMP
DO ^DIE
+39 SET DR="13////^S X=SALARY"
SET DIE="^PRST(459,IEN08,""P"","
SET DA=EMP
DO ^DIE
+40 LOCK -^PRST(459,IEN08,"P",EMP)
+41 ;
+42 SET ^TMP($JOB,"MGD",MCNT)=" IN 450"_$JUSTIFY(SALARY,10)_$JUSTIFY(GRADE,6)_$JUSTIFY(STEP,7)
+43 SET MCNT=MCNT+1
+44 SET ^TMP($JOB,"MGD",MCNT)=""
+45 SET MCNT=MCNT+1
+46 ;
07 ; Check for employees who received a promotion in PP 03-07
+1 ;
End DoDot:2
QUIT
+2 IF PDATE>3030405&(PDATE<3030420)
Begin DoDot:2
+3 ;
+4 ; Load data from PP 03-05
+5 ;
+6 SET TCNT=TCNT+1
+7 DO RPT
+8 SET MESS="PP 03-05"_$JUSTIFY(SAL05,10)_$JUSTIFY(GRD05,6)_$JUSTIFY(STP05,7)
+9 SET ^TMP($JOB,"MGD",MCNT)=MESS
+10 SET MCNT=MCNT+1
+11 ;
+12 SET MESS="PP 03-06"_$JUSTIFY(SAL06,10)_$JUSTIFY(GRD06,6)_$JUSTIFY(STP06,7)
+13 IF SAL06'=SAL05!(GRD06'=GRD05)!(STP06'=STP05)
Begin DoDot:3
+14 SET MESS=MESS_$JUSTIFY(SAL05,19)_$JUSTIFY(GRD05,6)_$JUSTIFY(STP05,7)
End DoDot:3
+15 SET ^TMP($JOB,"MGD",MCNT)=MESS
+16 SET MCNT=MCNT+1
+17 SET DR="3////^S X=GRD05"
SET DIE="^PRST(459,IEN06,""P"","
SET DA=EMP
+18 LOCK +^PRST(459,IEN06,"P",EMP):0
IF $TEST
DO ^DIE
+19 SET DR="4////^S X=STP05"
SET DIE="^PRST(459,IEN06,""P"","
SET DA=EMP
DO ^DIE
+20 SET DR="13////^S X=SAL05"
SET DIE="^PRST(459,IEN06,""P"","
SET DA=EMP
DO ^DIE
+21 LOCK -^PRST(459,IEN06,"P",EMP)
+22 ;
+23 SET MESS="PP 03-07"_$JUSTIFY(SAL07,10)_$JUSTIFY(GRD07,6)_$JUSTIFY(STP07,7)
+24 IF SAL07'=SALARY!(GRD07'=GRADE)!(STP07'=STEP)
Begin DoDot:3
+25 SET MESS=MESS_$JUSTIFY(SALARY,19)_$JUSTIFY(GRADE,6)_$JUSTIFY(STEP,7)
End DoDot:3
+26 SET ^TMP($JOB,"MGD",MCNT)=MESS
+27 SET MCNT=MCNT+1
+28 SET DR="3////^S X=GRADE"
SET DIE="^PRST(459,IEN07,""P"","
SET DA=EMP
+29 LOCK +^PRST(459,IEN07,"P",EMP):0
IF $TEST
DO ^DIE
+30 SET DR="4////^S X=STEP"
SET DIE="^PRST(459,IEN07,""P"","
SET DA=EMP
DO ^DIE
+31 SET DR="13////^S X=SALARY"
SET DIE="^PRST(459,IEN07,""P"","
SET DA=EMP
DO ^DIE
+32 LOCK -^PRST(459,IEN07,"P",EMP)
+33 ;
+34 SET MESS="PP 03-08"_$JUSTIFY(SAL08,10)_$JUSTIFY(GRD08,6)_$JUSTIFY(STP08,7)
+35 IF SAL08'=SALARY!(GRD08'=GRADE)!(STP08'=STEP)
Begin DoDot:3
+36 SET MESS=MESS_$JUSTIFY(SALARY,19)_$JUSTIFY(GRADE,6)_$JUSTIFY(STEP,7)
End DoDot:3
+37 SET ^TMP($JOB,"MGD",MCNT)=MESS
+38 SET MCNT=MCNT+1
+39 SET DR="3////^S X=GRADE"
SET DIE="^PRST(459,IEN08,""P"","
SET DA=EMP
+40 LOCK +^PRST(459,IEN08,"P",EMP):0
IF $TEST
DO ^DIE
+41 SET DR="4////^S X=STEP"
SET DIE="^PRST(459,IEN08,""P"","
SET DA=EMP
DO ^DIE
+42 SET DR="13////^S X=SALARY"
SET DIE="^PRST(459,IEN08,""P"","
SET DA=EMP
DO ^DIE
+43 LOCK -^PRST(459,IEN08,"P",EMP)
+44 SET ^TMP($JOB,"MGD",MCNT)=" IN 450"_$JUSTIFY(SALARY,10)_$JUSTIFY(GRADE,6)_$JUSTIFY(STEP,7)
+45 SET MCNT=MCNT+1
+46 SET ^TMP($JOB,"MGD",MCNT)=""
+47 SET MCNT=MCNT+1
End DoDot:2
QUIT
End DoDot:1
+48 ;
+49 DO XMT
+50 KILL DIE
+51 QUIT
+52 ;
XMT ; Send status via mail message
+1 ;
+2 IF $DATA(^TMP($JOB,"MGD"))
Begin DoDot:1
+3 NEW DIFROM,XMDUZ,XMTEXT,XMY
+4 SET XMDUZ=.5
+5 SET XMTEXT="^TMP($J,""MGD"","
+6 SET XMSUB=MESS1_"SALARY, GRADE & STEP CLEANUP"
+7 SET XMY("DILL.MATT@DOMAIN.EXT")=""
SET XMY(DUZ)=""
+8 SET XMY("MCCLARAN.PAM@DOMAIN.EXT")=""
+9 DO ^XMD
End DoDot:1
+10 ;
+11 KILL ^TMP($JOB),Y,%
+12 DO NOW^%DTC
+13 SET Y=%
+14 DO DD^%DT
+15 SET TIME=Y
+16 WRITE !!,"Post install routine PRSXP84 completed at ",TIME_"."
+17 WRITE !,TCNT," Employees were updated."
+18 QUIT
+19 ;
RPT ;
+1 ;
+2 SET GRADE=$PIECE(D450,U,14)
SET STEP=$PIECE(D450,U,39)
SET SALARY=$PIECE(D450,U,29)
+3 SET DB=$PIECE(D450,U,10)
SET FLSA=$PIECE(D450,U,12)
SET PP=$PIECE(D450,U,21)
+4 SET SSN=$EXTRACT($PIECE(D450,U,9),6,9)
SET EMPX=" "
+5 SET NAME=$PIECE($PIECE(D450,U,1),",",1)_","_$EXTRACT($PIECE($PIECE(D450,U,1),",",2))
+6 ;
+7 SET D0305=$GET(^PRST(459,IEN05,"P",EMP,0))
+8 SET D0306=$GET(^PRST(459,IEN06,"P",EMP,0))
+9 SET D0307=$GET(^PRST(459,IEN07,"P",EMP,0))
+10 SET D0308=$GET(^PRST(459,IEN08,"P",EMP,0))
+11 ;
+12 SET SAL05=$PIECE(D0305,U,14)
SET GRD05=$PIECE(D0305,U,4)
SET STP05=$PIECE(D0305,U,5)
+13 SET SAL06=$PIECE(D0306,U,14)
SET GRD06=$PIECE(D0306,U,4)
SET STP06=$PIECE(D0306,U,5)
+14 SET SAL07=$PIECE(D0307,U,14)
SET GRD07=$PIECE(D0307,U,4)
SET STP07=$PIECE(D0307,U,5)
+15 SET SAL08=$PIECE(D0308,U,14)
SET GRD08=$PIECE(D0308,U,4)
SET STP08=$PIECE(D0308,U,5)
+16 SET SD=""
+17 IF PDATE>3030322&(PDATE<3030406)
SET SD="PP 03-06"
+18 IF PDATE>3030405&(PDATE<3030420)
SET SD="PP 03-07"
+19 SET Y=PDATE
+20 DO DD^%DT
+21 SET PDATE=Y
+22 SET $EXTRACT(EMPX,1,$LENGTH(EMP))=EMP
+23 SET MESS=NAME_" ID: "_SSN_" IEN: "_EMPX_" Salary date: "_PDATE_" - "_SD
+24 SET ^TMP($JOB,"MGD",MCNT)=MESS
+25 SET MCNT=MCNT+1
+26 SET MESS="Pay Plan: "_PP_" Duty Basis: "_DB_" FLSA: "_FLSA
+27 SET ^TMP($JOB,"MGD",MCNT)=MESS
+28 SET MCNT=MCNT+1
+29 SET MESS="Pay Period Salary Grade Step Corrected Salary Grade Step"
+30 SET ^TMP($JOB,"MGD",MCNT)=MESS
+31 SET MCNT=MCNT+1
+32 QUIT