- SDAMQ4 ;ALB/MJK - AM Background Job/Add/Edit Processing ; 24 Aug 99 9:59 PM
- ;;5.3;Scheduling;**24,132,153,199,1015**;Aug 13, 1993;Build 21
- ;
- EN(SDBEG,SDEND) ; -- count add/edits
- N SDT,SDOE
- S SDT=SDBEG
- F S SDT=$O(^SCE("B",SDT)) Q:'SDT!(SDT>SDEND) D
- . S SDOE=0
- . F S SDOE=$O(^SCE("B",SDT,SDOE)) Q:'SDOE D CHK(SDOE)
- ENQ Q
- ;
- CHK(SDOE) ; -- set data in ^tmp if appropriate
- N SDOE0,SDIVNM,SDNAT,X,SDSTOP,SDSTAT
- S SDOE0=$G(^SCE(SDOE,0))
- S SDPAR=+$P(SDOE0,U,6)
- S SDORG=+$P(SDOE0,U,8)
- S SDSTAT=$P(SDOE0,U,12)
- ;
- ; -- do checks
- IF SDPAR G CHKQ ; -- quit if has parent
- IF SDORG'=2 G CHKQ ; -- quit if no a/e
- IF $$REQ^SDM1A(+SDOE0)'="CO" G CHKQ ; -- quit if "CO" not required
- IF '$$DIV^SDAMQ(+$P(SDOE0,U,11),.SDIVNM,35) G CHKQ ; -- quit if no division
- ;
- ; -- set ^tmp
- S SDNAT='$$CO^SDAMQ(SDOE) I SDNAT S SDNAT=SDSTAT=14
- S SDSTOP=+$P($G(^DIC(40.7,+$P(SDOE0,U,3),0)),U,2)
- S X=$G(^TMP("SDSTATS",$J,SDIVNM,"AE",SDSTOP))
- S ^TMP("SDSTATS",$J,SDIVNM,"AE",SDSTOP)=(X+SDNAT)_U_($P(X,U,2)+1)
- ;
- CHKQ Q
- ;
- BULL(SDIVNM,SDLN,SDTOT) ;
- N SDSTOP,SDSTOPN,NAT,GRAND,OTHER,TNAT,TGRAND
- D HDR
- S (OTHER,SDSTOP,TNAT,TGRAND)=0
- F S SDSTOP=$O(^TMP("SDSTATS",$J,SDIVNM,"AE",SDSTOP)) Q:'SDSTOP S X=^(SDSTOP) D
- .S NAT=+X,GRAND=+$P(X,U,2)
- .S TNAT=TNAT+NAT,TGRAND=TGRAND+GRAND
- .S SDTOT("DIV","NAT")=SDTOT("DIV","NAT")+NAT
- .S SDTOT("DIV","GRAND")=SDTOT("DIV","GRAND")+GRAND
- .S SDSTOPN=$S($D(^DIC(40.7,+$O(^DIC(40.7,"C",SDSTOP,0)),0)):$P(^(0),U),1:"UNKNOWN")
- .I 'NAT S OTHER=OTHER+GRAND
- .I NAT D LINE^SDAMQ3(SDSTOP_"-"_SDSTOPN,NAT,GRAND)
- D LINE^SDAMQ3("ALL OTHER STOPS",0,OTHER)
- D SET^SDAMQ3(" --------------- ---------------- ------- -------")
- D LINE^SDAMQ3("Add/Edit Totals",TNAT,TGRAND)
- BULLQ Q
- ;
- HDR ; -- ae header block
- D SET^SDAMQ3("")
- D SET^SDAMQ3(" Add/Edits Total")
- D SET^SDAMQ3(" Stop Code Requiring Action Stops Pct.")
- D SET^SDAMQ3(" --------- ---------------- ------- -------")
- Q
- SDAMQ4 ;ALB/MJK - AM Background Job/Add/Edit Processing ; 24 Aug 99 9:59 PM
- +1 ;;5.3;Scheduling;**24,132,153,199,1015**;Aug 13, 1993;Build 21
- +2 ;
- EN(SDBEG,SDEND) ; -- count add/edits
- +1 NEW SDT,SDOE
- +2 SET SDT=SDBEG
- +3 FOR
- SET SDT=$ORDER(^SCE("B",SDT))
- IF 'SDT!(SDT>SDEND)
- QUIT
- Begin DoDot:1
- +4 SET SDOE=0
- +5 FOR
- SET SDOE=$ORDER(^SCE("B",SDT,SDOE))
- IF 'SDOE
- QUIT
- DO CHK(SDOE)
- End DoDot:1
- ENQ QUIT
- +1 ;
- CHK(SDOE) ; -- set data in ^tmp if appropriate
- +1 NEW SDOE0,SDIVNM,SDNAT,X,SDSTOP,SDSTAT
- +2 SET SDOE0=$GET(^SCE(SDOE,0))
- +3 SET SDPAR=+$PIECE(SDOE0,U,6)
- +4 SET SDORG=+$PIECE(SDOE0,U,8)
- +5 SET SDSTAT=$PIECE(SDOE0,U,12)
- +6 ;
- +7 ; -- do checks
- +8 ; -- quit if has parent
- IF SDPAR
- GOTO CHKQ
- +9 ; -- quit if no a/e
- IF SDORG'=2
- GOTO CHKQ
- +10 ; -- quit if "CO" not required
- IF $$REQ^SDM1A(+SDOE0)'="CO"
- GOTO CHKQ
- +11 ; -- quit if no division
- IF '$$DIV^SDAMQ(+$PIECE(SDOE0,U,11),.SDIVNM,35)
- GOTO CHKQ
- +12 ;
- +13 ; -- set ^tmp
- +14 SET SDNAT='$$CO^SDAMQ(SDOE)
- IF SDNAT
- SET SDNAT=SDSTAT=14
- +15 SET SDSTOP=+$PIECE($GET(^DIC(40.7,+$PIECE(SDOE0,U,3),0)),U,2)
- +16 SET X=$GET(^TMP("SDSTATS",$JOB,SDIVNM,"AE",SDSTOP))
- +17 SET ^TMP("SDSTATS",$JOB,SDIVNM,"AE",SDSTOP)=(X+SDNAT)_U_($PIECE(X,U,2)+1)
- +18 ;
- CHKQ QUIT
- +1 ;
- BULL(SDIVNM,SDLN,SDTOT) ;
- +1 NEW SDSTOP,SDSTOPN,NAT,GRAND,OTHER,TNAT,TGRAND
- +2 DO HDR
- +3 SET (OTHER,SDSTOP,TNAT,TGRAND)=0
- +4 FOR
- SET SDSTOP=$ORDER(^TMP("SDSTATS",$JOB,SDIVNM,"AE",SDSTOP))
- IF 'SDSTOP
- QUIT
- SET X=^(SDSTOP)
- Begin DoDot:1
- +5 SET NAT=+X
- SET GRAND=+$PIECE(X,U,2)
- +6 SET TNAT=TNAT+NAT
- SET TGRAND=TGRAND+GRAND
- +7 SET SDTOT("DIV","NAT")=SDTOT("DIV","NAT")+NAT
- +8 SET SDTOT("DIV","GRAND")=SDTOT("DIV","GRAND")+GRAND
- +9 SET SDSTOPN=$SELECT($DATA(^DIC(40.7,+$ORDER(^DIC(40.7,"C",SDSTOP,0)),0)):$PIECE(^(0),U),1:"UNKNOWN")
- +10 IF 'NAT
- SET OTHER=OTHER+GRAND
- +11 IF NAT
- DO LINE^SDAMQ3(SDSTOP_"-"_SDSTOPN,NAT,GRAND)
- End DoDot:1
- +12 DO LINE^SDAMQ3("ALL OTHER STOPS",0,OTHER)
- +13 DO SET^SDAMQ3(" --------------- ---------------- ------- -------")
- +14 DO LINE^SDAMQ3("Add/Edit Totals",TNAT,TGRAND)
- BULLQ QUIT
- +1 ;
- HDR ; -- ae header block
- +1 DO SET^SDAMQ3("")
- +2 DO SET^SDAMQ3(" Add/Edits Total")
- +3 DO SET^SDAMQ3(" Stop Code Requiring Action Stops Pct.")
- +4 DO SET^SDAMQ3(" --------- ---------------- ------- -------")
- +5 QUIT