PRSARC ;WOIFO/JAH - Recess Tracking ListManger Inteface ;10/16/06
;;4.0;PAID;**112**;Sep 21, 1995;Build 54
;;Per VHA Directive 2004-038, this routine should not be modified.
Q
ENEDIT ; -- main entry point for PRSA RECESS TRACKING
S PRSOUT=0
;
D SETUP(.PRSOUT)
I $G(PRSOUT)=1 D EXIT Q
;
; set global var to allow editing
S PRSVIEW=0
D EN^VALM("PRSA RECESS TRACKING MANAGER")
Q
SUP ;
TK ;
N PRSTLV,TLE,TLI
S PRSTLV=2 D ^PRSAUTL
Q:$G(TLE)=""
N DIC,Y,FYREC,PRSIEN,DUOUT,DTOUT
S DIC("S")="I $P(^PRSPC(+^PRST(458.8,+Y,0),0),U,8)=TLE"
S DIC(0)="AEMZQ"
S DIC("A")="Select 9-month AWS Nurse: "
S DIC="^PRST(458.8,"
D ^DIC
Q:$D(DUOUT)!$D(DTOUT)!($G(Y)'>0)
S PRSIEN=Y(0)
S FYREC=+Y
D ENVIEW
Q
HR ;
N DIC,Y,FYREC,PRSIEN,DUOUT,DTOUT
S DIC(0)="AEMZQ"
S DIC("A")="Select 9-month AWS Nurse: "
S DIC="^PRST(458.8,"
D ^DIC
Q:$D(DUOUT)!$D(DTOUT)!($G(Y)'>0)
S PRSIEN=Y(0)
S FYREC=+Y
D ENVIEW
Q
NURSE ;
N DIC,Y,FDEFAULT,SSN,FYREC,PRSIEN,DUOUT,DTOUT,ABORT
S PRSNURSE="",SSN=$P($G(^VA(200,DUZ,1)),"^",9)
I SSN'="" S PRSNURSE=$O(^PRSPC("SSN",SSN,0))
I 'PRSNURSE W !!!,*7,"Your SSN was not found in either the New Person file or the Employee file.",!! H 1 S ABORT=$$ASK^PRSLIB00(1) Q
S FDEFAULT=$O(^PRST(458.8,"AC",PRSNURSE,9999999),-1)
I 'FDEFAULT W !!,*7,"You have no recess schedules on file. Please contact your timekeeper.",!! H 1 S ABORT=$$ASK^PRSLIB00(1) Q
S FDEFAULT=$O(^PRST(458.8,"AC",PRSNURSE,FDEFAULT,0))
S FDEFAULT=+$G(^PRST(458.8,FDEFAULT,3))
S DIC("B")=FDEFAULT
S DIC(0)="AEMZQ"
S DIC("A")="Select a Recess Schedule: "
S DIC="^PRST(458.8,"
S DIC("S")="I +^PRST(458.8,+Y,0)=PRSNURSE"
D ^DIC
Q:$D(DUOUT)!$D(DTOUT)!($G(Y)'>0)
S PRSIEN=Y(0)
S FYREC=+Y
D ENVIEW
Q
ENVIEW ; -- main entry point for PRSA RECESS VIEWER
; ask user nurse then provide selection of available recess records
; by fiscal year that may be viewed.
;
N ZNODE,NAME,SSN,TLE
S ZNODE=$G(^PRSPC(+PRSIEN,0))
S NAME=$P(ZNODE,U)
; set global var so action protocols will be unavailable (view only)
S PRSVIEW=1
S SSN=$P(ZNODE,U,9),SSN="XXX-XX-"_$E(SSN,6,9)
S TLE=$P(ZNODE,U,8)
S PRSNURSE=PRSIEN_U_NAME_U_U_TLE_U_SSN
S PRSFY=$$FYRDATA^PRSARC03(FYREC)
S PRSFYRNG=$P(PRSFY,U,5,6)
D FYWEEKS^PRSARC04(.FMWKS,PRSFY,0)
D FYWEEKS^PRSARC04(.WKSFM,PRSFY,1)
S PRSDT=$P(PRSFY,U,11)
S PRSFSCYR=$$GETFSCYR^PRSARC04(PRSDT)
S PRSRWHRS=$$GETAVHRS^PRSARC04(.FMWKS,PRSDT)
D EN^VALM("PRSA RECESS TRACKING VIEWER")
Q
;
SETUP(OUT) ; Setup for a new AWS schedule-prompt for year & start or bring
; up an existing schedule
;
;
; get NURSE IEN^NAME^(0 edit only, 1 add and edit)
; if nurse is currently entitled to recess a new rec can be added,
; otherwise only edit existing records curr, next, or last are allowed.
; 2nd input param=2 for timekeepers T&L lookup
;
D GETNURSE^PRSARC02(.PRSNURSE,2)
I +$G(PRSNURSE)'>0 S OUT=1 Q
L +^PRST(458.8,+PRSNURSE):$S($G(DILOCKTM)>0:DILOCKTM,1:5) I '$T W !,"Another user is editing this nurses recess records." S OUT=1 Q
;
; Set global variable to hold total of weeks that are selectable
;
N ALLFY,FD,LD,RWREC
;
; Build schedule choice and ask which one to edit, current next last.
; If schedule exists we get 458.8 Recess Tracking IEN.
;
D CHOOSEFY^PRSARC02(.PRSFY,PRSNURSE)
;
I $G(PRSFY)'>0 S OUT=1 Q
S RWREC=$P(PRSFY,U,9)
;
; get range of dates for PRSFY
;
S PRSFYRNG=$P(PRSFY,U,5,6)
;
S FD=$P(PRSFYRNG,U,1)
S LD=$P(PRSFYRNG,U,2)
;
; Build 2 indexes: (1) FMWKS with FMdate subscript = week number and
; (2) WKSFM with week number subscript = FMdate (1st day of week)
;
D FYWEEKS^PRSARC04(.FMWKS,PRSFY,0)
D FYWEEKS^PRSARC04(.WKSFM,PRSFY,1)
;
; use existing AWS Start Date if it exist otherwise
; ask if AWS will cover entire fiscal year?
;
;code for setting continuous recess for new records
N NEWREC S NEWREC=0
;
S PRSDT=$P(PRSFY,U,11)
I PRSDT'>0 D
. ;code for setting continuous recess for new records
. S NEWREC=1
.;
. S ALLFY=$$ALLFYAWS^PRSARC04()
. I ALLFY<0 D
.. S OUT=1 K PRSFY
. E D
.. I ALLFY=1 D
... S PRSDT=FD
.. E D
... S PRSDT=$$AWSTART^PRSARC03(FD,LD,"Enter Date 9 mo. AWS begins")
... I PRSDT=0 S OUT=1 K PRSFY
. I 'OUT D
..; convert start to 1st day of pp and
..; update the PRSFY var with new start date info
.. N D1,DAY,PPI,PPE S D1=PRSDT D PP^PRSAPPU
.. I DAY'=1 N X1,X2,X,%H S X1=D1,X2=-(DAY-1) D C^%DTC S PRSDT=X
.. S $P(PRSFY,U,12)=PPE
.. S $P(PRSFY,U,10)=$E(PRSDT,4,5)_"/"_$E(PRSDT,6,7)_"/"_$E(PRSDT,2,3)
.. S $P(PRSFY,U,11)=PRSDT
Q:OUT
;
S PRSFSCYR=$$GETFSCYR^PRSARC04(PRSDT)
;
;GET total available hours based on fiscal year and start date.
;
S PRSRWHRS=$$GETAVHRS^PRSARC04(.FMWKS,PRSDT)
;code for setting continuous recess for new records
I NEWREC S PRSAUTOR=$$AUTOREC^PRSARC09(PRSDT,LD)
;
Q
;
HDR ; -- header code
N NAME,SSN,TLE,PAD
S NAME=$E($P(PRSNURSE,U,2),1,30)
S SSN=$P(PRSNURSE,U,5)
S TLE=$P(PRSNURSE,U,4)
S VALMHDR(1)=$P(PRSFSCYR,U,2)_" Recess Week "_$S($G(PRSVIEW):"Viewer",1:"Editor")_" for 9 month AWS with start date "_$P(PRSFY,U,10)_" (pp "_$P(PRSFY,U,12)_")"
S PAD=$E(" ",1,31-$L(NAME))
S VALMHDR(2)=NAME_PAD_SSN_" T&L Unit: "_TLE
Q
;
INIT ; -- init variables and list array
;
; PRSLSTRT = what week the list starts with. So if the schedule
; begins in the 13th week of the fiscal year, this var
; would be 13 and the first selectable item in the list.
; PRSWKLST = increment counter for items in the list that are #ed
; and thus selectable. when init is done calling main this
; should be set to week # of the last week in the FY.
; LINE = counter of all items in list, incl. non selectable items
; such as month headings.
;
Q:$G(PRSOUT)=1
N LISTI,LINE,FIRSTRW
S (LISTI,LINE)=0
K ^TMP("PRSARC",$J) ; array-all items in list, incl. non selectable
; items such as month headings.
K ^TMP("PRSLI",$J) ; index of all selectable items in the list.
K ^TMP("PRSSW",$J) ; index of items selected as recess weeks.
K ^TMP("PRSRW",$J) ; index of recess weeks with hours.
D MAIN^PRSARC06(.PRSLSTRT,.LISTI,.LINE,PRSDT,PRSFYRNG)
S PRSWKLST=LISTI-1
S VALMCNT=LINE
;
; add recess hours to screen and PRSRW array if they exist
;
S RWREC=$P(PRSFY,U,9)
I RWREC>0 D GETFLWKS^PRSARC03(RWREC,PRSDT)
;
; add recess hours if user elected to auto populated recess and start
; list display at that week
;
I +$G(PRSAUTOR)>0 D ADDAUTOR^PRSARC09(PRSAUTOR)
S FIRSTRW=$O(^TMP("PRSRW",$J,0))
I $G(FIRSTRW)>0 S FIRSTRW=+^TMP("PRSRW",$J,FIRSTRW) I $G(FIRSTRW)>3 S VALMBG=FIRSTRW-1
;
; get timecard posted recess that's certified
D RPOSTED^PRSARC03
Q
;
HELP ; -- help code
N DIR
I X="?" S DIR("A")="Enter RETURN to continue or '^' to exit",DIR(0)="E"
D FULL^VALM1
W !!,"The following actions are available:"
W !," GH Recess Hours Summary - recess weeks and hours summary with totals."
I $G(PRSVIEW)'=1 D
.W !," SE Select Recess Weeks - select weeks and add/edit recess hours."
.W !," EH Edit Recess Hours - edit recess hours for each selected week."
.W !," CR Cancel Recess Weeks - remove recess hours from selected weeks."
.W !," NS Change AWS Start - change pay period when the AWS becomes effective."
.W !," HE Help - Get more detailed help about the available actions."
.W !," SV Save Recess Schedule - save any edits and continue editing."
.W !," QU Quit without Saving - exit without saving changes."
.W !," EX Exit and Save Recess - file changes to recess schedule and exit."
I $D(DIR("A")) D ^DIR
S VALMBCK="R"
Q
;
EXIT ; -- exit code
D FULL^VALM1
I +$G(PRSFY) D VALIDRS^PRSARCS
I '$G(PRSVIEW) D
. L -^PRST(458.8,+$G(PRSNURSE))
. I +$G(PRSFY) D ALLOKEY^PRSARC04(+$G(PRSNURSE))
;
K ^TMP("PRSARC",$J),^TMP("PRSLI",$J),^TMP("PRSRW",$J),^TMP("PRSSW",$J)
K PRSFYRNG,PRSFSCYR,PRSWKLST,PRSLSTRT,PRSFY,PRSNURSE
K PRSVIEW,PRSOUT,PRSRWHRS,PRSDT,PRSVONLY,PRSAUTOR
K FMWKS,WKSFM,RWREC
; clean up vars from PRS calls outside of Recess Tracking
K C0,FLX,A1,DAY,AC,DAY,PP,PMP,STOP,T1,T2,Z1,TESTINPP
Q
;
EXPND ; -- expand code
Q
;
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPRSARC 8365 printed Nov 22, 2024@17:34:06 Page 2
PRSARC ;WOIFO/JAH - Recess Tracking ListManger Inteface ;10/16/06
+1 ;;4.0;PAID;**112**;Sep 21, 1995;Build 54
+2 ;;Per VHA Directive 2004-038, this routine should not be modified.
+3 QUIT
ENEDIT ; -- main entry point for PRSA RECESS TRACKING
+1 SET PRSOUT=0
+2 ;
+3 DO SETUP(.PRSOUT)
+4 IF $GET(PRSOUT)=1
DO EXIT
QUIT
+5 ;
+6 ; set global var to allow editing
+7 SET PRSVIEW=0
+8 DO EN^VALM("PRSA RECESS TRACKING MANAGER")
+9 QUIT
SUP ;
TK ;
+1 NEW PRSTLV,TLE,TLI
+2 SET PRSTLV=2
DO ^PRSAUTL
+3 if $GET(TLE)=""
QUIT
+4 NEW DIC,Y,FYREC,PRSIEN,DUOUT,DTOUT
+5 SET DIC("S")="I $P(^PRSPC(+^PRST(458.8,+Y,0),0),U,8)=TLE"
+6 SET DIC(0)="AEMZQ"
+7 SET DIC("A")="Select 9-month AWS Nurse: "
+8 SET DIC="^PRST(458.8,"
+9 DO ^DIC
+10 if $DATA(DUOUT)!$DATA(DTOUT)!($GET(Y)'>0)
QUIT
+11 SET PRSIEN=Y(0)
+12 SET FYREC=+Y
+13 DO ENVIEW
+14 QUIT
HR ;
+1 NEW DIC,Y,FYREC,PRSIEN,DUOUT,DTOUT
+2 SET DIC(0)="AEMZQ"
+3 SET DIC("A")="Select 9-month AWS Nurse: "
+4 SET DIC="^PRST(458.8,"
+5 DO ^DIC
+6 if $DATA(DUOUT)!$DATA(DTOUT)!($GET(Y)'>0)
QUIT
+7 SET PRSIEN=Y(0)
+8 SET FYREC=+Y
+9 DO ENVIEW
+10 QUIT
NURSE ;
+1 NEW DIC,Y,FDEFAULT,SSN,FYREC,PRSIEN,DUOUT,DTOUT,ABORT
+2 SET PRSNURSE=""
SET SSN=$PIECE($GET(^VA(200,DUZ,1)),"^",9)
+3 IF SSN'=""
SET PRSNURSE=$ORDER(^PRSPC("SSN",SSN,0))
+4 IF 'PRSNURSE
WRITE !!!,*7,"Your SSN was not found in either the New Person file or the Employee file.",!!
HANG 1
SET ABORT=$$ASK^PRSLIB00(1)
QUIT
+5 SET FDEFAULT=$ORDER(^PRST(458.8,"AC",PRSNURSE,9999999),-1)
+6 IF 'FDEFAULT
WRITE !!,*7,"You have no recess schedules on file. Please contact your timekeeper.",!!
HANG 1
SET ABORT=$$ASK^PRSLIB00(1)
QUIT
+7 SET FDEFAULT=$ORDER(^PRST(458.8,"AC",PRSNURSE,FDEFAULT,0))
+8 SET FDEFAULT=+$GET(^PRST(458.8,FDEFAULT,3))
+9 SET DIC("B")=FDEFAULT
+10 SET DIC(0)="AEMZQ"
+11 SET DIC("A")="Select a Recess Schedule: "
+12 SET DIC="^PRST(458.8,"
+13 SET DIC("S")="I +^PRST(458.8,+Y,0)=PRSNURSE"
+14 DO ^DIC
+15 if $DATA(DUOUT)!$DATA(DTOUT)!($GET(Y)'>0)
QUIT
+16 SET PRSIEN=Y(0)
+17 SET FYREC=+Y
+18 DO ENVIEW
+19 QUIT
ENVIEW ; -- main entry point for PRSA RECESS VIEWER
+1 ; ask user nurse then provide selection of available recess records
+2 ; by fiscal year that may be viewed.
+3 ;
+4 NEW ZNODE,NAME,SSN,TLE
+5 SET ZNODE=$GET(^PRSPC(+PRSIEN,0))
+6 SET NAME=$PIECE(ZNODE,U)
+7 ; set global var so action protocols will be unavailable (view only)
+8 SET PRSVIEW=1
+9 SET SSN=$PIECE(ZNODE,U,9)
SET SSN="XXX-XX-"_$EXTRACT(SSN,6,9)
+10 SET TLE=$PIECE(ZNODE,U,8)
+11 SET PRSNURSE=PRSIEN_U_NAME_U_U_TLE_U_SSN
+12 SET PRSFY=$$FYRDATA^PRSARC03(FYREC)
+13 SET PRSFYRNG=$PIECE(PRSFY,U,5,6)
+14 DO FYWEEKS^PRSARC04(.FMWKS,PRSFY,0)
+15 DO FYWEEKS^PRSARC04(.WKSFM,PRSFY,1)
+16 SET PRSDT=$PIECE(PRSFY,U,11)
+17 SET PRSFSCYR=$$GETFSCYR^PRSARC04(PRSDT)
+18 SET PRSRWHRS=$$GETAVHRS^PRSARC04(.FMWKS,PRSDT)
+19 DO EN^VALM("PRSA RECESS TRACKING VIEWER")
+20 QUIT
+21 ;
SETUP(OUT) ; Setup for a new AWS schedule-prompt for year & start or bring
+1 ; up an existing schedule
+2 ;
+3 ;
+4 ; get NURSE IEN^NAME^(0 edit only, 1 add and edit)
+5 ; if nurse is currently entitled to recess a new rec can be added,
+6 ; otherwise only edit existing records curr, next, or last are allowed.
+7 ; 2nd input param=2 for timekeepers T&L lookup
+8 ;
+9 DO GETNURSE^PRSARC02(.PRSNURSE,2)
+10 IF +$GET(PRSNURSE)'>0
SET OUT=1
QUIT
+11 LOCK +^PRST(458.8,+PRSNURSE):$SELECT($GET(DILOCKTM)>0:DILOCKTM,1:5)
IF '$TEST
WRITE !,"Another user is editing this nurses recess records."
SET OUT=1
QUIT
+12 ;
+13 ; Set global variable to hold total of weeks that are selectable
+14 ;
+15 NEW ALLFY,FD,LD,RWREC
+16 ;
+17 ; Build schedule choice and ask which one to edit, current next last.
+18 ; If schedule exists we get 458.8 Recess Tracking IEN.
+19 ;
+20 DO CHOOSEFY^PRSARC02(.PRSFY,PRSNURSE)
+21 ;
+22 IF $GET(PRSFY)'>0
SET OUT=1
QUIT
+23 SET RWREC=$PIECE(PRSFY,U,9)
+24 ;
+25 ; get range of dates for PRSFY
+26 ;
+27 SET PRSFYRNG=$PIECE(PRSFY,U,5,6)
+28 ;
+29 SET FD=$PIECE(PRSFYRNG,U,1)
+30 SET LD=$PIECE(PRSFYRNG,U,2)
+31 ;
+32 ; Build 2 indexes: (1) FMWKS with FMdate subscript = week number and
+33 ; (2) WKSFM with week number subscript = FMdate (1st day of week)
+34 ;
+35 DO FYWEEKS^PRSARC04(.FMWKS,PRSFY,0)
+36 DO FYWEEKS^PRSARC04(.WKSFM,PRSFY,1)
+37 ;
+38 ; use existing AWS Start Date if it exist otherwise
+39 ; ask if AWS will cover entire fiscal year?
+40 ;
+41 ;code for setting continuous recess for new records
+42 NEW NEWREC
SET NEWREC=0
+43 ;
+44 SET PRSDT=$PIECE(PRSFY,U,11)
+45 IF PRSDT'>0
Begin DoDot:1
+46 ;code for setting continuous recess for new records
+47 SET NEWREC=1
+48 ;
+49 SET ALLFY=$$ALLFYAWS^PRSARC04()
+50 IF ALLFY<0
Begin DoDot:2
+51 SET OUT=1
KILL PRSFY
End DoDot:2
+52 IF '$TEST
Begin DoDot:2
+53 IF ALLFY=1
Begin DoDot:3
+54 SET PRSDT=FD
End DoDot:3
+55 IF '$TEST
Begin DoDot:3
+56 SET PRSDT=$$AWSTART^PRSARC03(FD,LD,"Enter Date 9 mo. AWS begins")
+57 IF PRSDT=0
SET OUT=1
KILL PRSFY
End DoDot:3
End DoDot:2
+58 IF 'OUT
Begin DoDot:2
+59 ; convert start to 1st day of pp and
+60 ; update the PRSFY var with new start date info
+61 NEW D1,DAY,PPI,PPE
SET D1=PRSDT
DO PP^PRSAPPU
+62 IF DAY'=1
NEW X1,X2,X,%H
SET X1=D1
SET X2=-(DAY-1)
DO C^%DTC
SET PRSDT=X
+63 SET $PIECE(PRSFY,U,12)=PPE
+64 SET $PIECE(PRSFY,U,10)=$EXTRACT(PRSDT,4,5)_"/"_$EXTRACT(PRSDT,6,7)_"/"_$EXTRACT(PRSDT,2,3)
+65 SET $PIECE(PRSFY,U,11)=PRSDT
End DoDot:2
End DoDot:1
+66 if OUT
QUIT
+67 ;
+68 SET PRSFSCYR=$$GETFSCYR^PRSARC04(PRSDT)
+69 ;
+70 ;GET total available hours based on fiscal year and start date.
+71 ;
+72 SET PRSRWHRS=$$GETAVHRS^PRSARC04(.FMWKS,PRSDT)
+73 ;code for setting continuous recess for new records
+74 IF NEWREC
SET PRSAUTOR=$$AUTOREC^PRSARC09(PRSDT,LD)
+75 ;
+76 QUIT
+77 ;
HDR ; -- header code
+1 NEW NAME,SSN,TLE,PAD
+2 SET NAME=$EXTRACT($PIECE(PRSNURSE,U,2),1,30)
+3 SET SSN=$PIECE(PRSNURSE,U,5)
+4 SET TLE=$PIECE(PRSNURSE,U,4)
+5 SET VALMHDR(1)=$PIECE(PRSFSCYR,U,2)_" Recess Week "_$SELECT($GET(PRSVIEW):"Viewer",1:"Editor")_" for 9 month AWS with start date "_$PIECE(PRSFY,U,10)_" (pp "_$PIECE(PRSFY,U,12)_")"
+6 SET PAD=$EXTRACT(" ",1,31-$LENGTH(NAME))
+7 SET VALMHDR(2)=NAME_PAD_SSN_" T&L Unit: "_TLE
+8 QUIT
+9 ;
INIT ; -- init variables and list array
+1 ;
+2 ; PRSLSTRT = what week the list starts with. So if the schedule
+3 ; begins in the 13th week of the fiscal year, this var
+4 ; would be 13 and the first selectable item in the list.
+5 ; PRSWKLST = increment counter for items in the list that are #ed
+6 ; and thus selectable. when init is done calling main this
+7 ; should be set to week # of the last week in the FY.
+8 ; LINE = counter of all items in list, incl. non selectable items
+9 ; such as month headings.
+10 ;
+11 if $GET(PRSOUT)=1
QUIT
+12 NEW LISTI,LINE,FIRSTRW
+13 SET (LISTI,LINE)=0
+14 ; array-all items in list, incl. non selectable
KILL ^TMP("PRSARC",$JOB)
+15 ; items such as month headings.
+16 ; index of all selectable items in the list.
KILL ^TMP("PRSLI",$JOB)
+17 ; index of items selected as recess weeks.
KILL ^TMP("PRSSW",$JOB)
+18 ; index of recess weeks with hours.
KILL ^TMP("PRSRW",$JOB)
+19 DO MAIN^PRSARC06(.PRSLSTRT,.LISTI,.LINE,PRSDT,PRSFYRNG)
+20 SET PRSWKLST=LISTI-1
+21 SET VALMCNT=LINE
+22 ;
+23 ; add recess hours to screen and PRSRW array if they exist
+24 ;
+25 SET RWREC=$PIECE(PRSFY,U,9)
+26 IF RWREC>0
DO GETFLWKS^PRSARC03(RWREC,PRSDT)
+27 ;
+28 ; add recess hours if user elected to auto populated recess and start
+29 ; list display at that week
+30 ;
+31 IF +$GET(PRSAUTOR)>0
DO ADDAUTOR^PRSARC09(PRSAUTOR)
+32 SET FIRSTRW=$ORDER(^TMP("PRSRW",$JOB,0))
+33 IF $GET(FIRSTRW)>0
SET FIRSTRW=+^TMP("PRSRW",$JOB,FIRSTRW)
IF $GET(FIRSTRW)>3
SET VALMBG=FIRSTRW-1
+34 ;
+35 ; get timecard posted recess that's certified
+36 DO RPOSTED^PRSARC03
+37 QUIT
+38 ;
HELP ; -- help code
+1 NEW DIR
+2 IF X="?"
SET DIR("A")="Enter RETURN to continue or '^' to exit"
SET DIR(0)="E"
+3 DO FULL^VALM1
+4 WRITE !!,"The following actions are available:"
+5 WRITE !," GH Recess Hours Summary - recess weeks and hours summary with totals."
+6 IF $GET(PRSVIEW)'=1
Begin DoDot:1
+7 WRITE !," SE Select Recess Weeks - select weeks and add/edit recess hours."
+8 WRITE !," EH Edit Recess Hours - edit recess hours for each selected week."
+9 WRITE !," CR Cancel Recess Weeks - remove recess hours from selected weeks."
+10 WRITE !," NS Change AWS Start - change pay period when the AWS becomes effective."
+11 WRITE !," HE Help - Get more detailed help about the available actions."
+12 WRITE !," SV Save Recess Schedule - save any edits and continue editing."
+13 WRITE !," QU Quit without Saving - exit without saving changes."
+14 WRITE !," EX Exit and Save Recess - file changes to recess schedule and exit."
End DoDot:1
+15 IF $DATA(DIR("A"))
DO ^DIR
+16 SET VALMBCK="R"
+17 QUIT
+18 ;
EXIT ; -- exit code
+1 DO FULL^VALM1
+2 IF +$GET(PRSFY)
DO VALIDRS^PRSARCS
+3 IF '$GET(PRSVIEW)
Begin DoDot:1
+4 LOCK -^PRST(458.8,+$GET(PRSNURSE))
+5 IF +$GET(PRSFY)
DO ALLOKEY^PRSARC04(+$GET(PRSNURSE))
End DoDot:1
+6 ;
+7 KILL ^TMP("PRSARC",$JOB),^TMP("PRSLI",$JOB),^TMP("PRSRW",$JOB),^TMP("PRSSW",$JOB)
+8 KILL PRSFYRNG,PRSFSCYR,PRSWKLST,PRSLSTRT,PRSFY,PRSNURSE
+9 KILL PRSVIEW,PRSOUT,PRSRWHRS,PRSDT,PRSVONLY,PRSAUTOR
+10 KILL FMWKS,WKSFM,RWREC
+11 ; clean up vars from PRS calls outside of Recess Tracking
+12 KILL C0,FLX,A1,DAY,AC,DAY,PP,PMP,STOP,T1,T2,Z1,TESTINPP
+13 QUIT
+14 ;
EXPND ; -- expand code
+1 QUIT
+2 ;