- SCCVEGD2 ;ALB/MJK - Estimate Summary ; 30-NOV-1998
- ;;5.3;Scheduling;**211,1015**;Aug 13, 1993;Build 21
- ;
- EN ; -- main entry point for SCCV GLOBAL ESTIMATE SUMMARY
- N SCDET,DIR
- S DIR(0)="YA",DIR("B")="No",DIR("A")="Include CST Detail? "
- D ^DIR
- K DIR
- IF $D(DIRUT) G ENQ
- S SCDET=+Y
- D EN^VALM("SCCV CONV ESTIMATE SUMMARY")
- ENQ Q
- ;
- HDR ; -- header code
- ;S VALMHDR(1)=" "
- Q
- ;
- INIT ; -- init variables and list array
- N SCLINE,SCNT
- S (SCNT,SCLINE)=0
- D GLOBAL
- D ENTRY
- D MOD
- D PER
- D FOOTER
- S VALMCNT=SCNT,VALMBG=1
- IF 'SCDET D
- . D CHGCAP^VALM("CST"," ")
- . D CHGCAP^VALM("START DATE"," ")
- Q
- ;
- SET(STR) ; -- set line in array
- S SCLINE=SCLINE+1
- S SCNT=SCNT+1
- D SET^VALM10(SCLINE,STR)
- Q
- ;
- SECT(STR) ; -- set section hdr in array
- N Y
- S Y=""
- S Y=$$SETSTR^VALM1(STR,Y,2,$L(STR))
- D SET(Y)
- D CNTRL^VALM10(SCLINE,2,$L(STR),IORVON,IORVOFF)
- Q
- ;
- GLOBAL ; -- build global growth lines
- N SCI,DIC,DR,DIQ,DA,X,Y,Z,SCTOT,SCSTDT,FLD
- S DIC=404.98,DR=".03;207:211",DIQ="SCDATA",DIQ(0)="IE"
- S SCI=0
- ;
- D SECT("Global Block Growth")
- ;
- S SCSTDT=0
- F S SCSTDT=$O(^SD(404.98,"C",SCSTDT)) Q:'SCSTDT D
- . F S SCI=$O(^SD(404.98,"C",SCSTDT,SCI)) Q:'SCI S X=$G(^SD(404.98,SCI,0)) D
- . . N SCDATA
- . . IF $P(X,U,9) Q ; -- canceled
- . . S DA=SCI D EN^DIQ1
- . . S Y=""
- . . S Y=$$SETFLD^VALM1($J(SCI,4),Y,"CST")
- . . S Y=$$SETFLD^VALM1($$FMTE^XLFDT(SCDATA(404.98,SCI,.03,"I"),"5ZD"),Y,"START DATE")
- . . D FLDUPD("SCE",207,.Y)
- . . D FLDUPD("AUPNVSIT",208,.Y)
- . . D FLDUPD("AUPNVPRV",209,.Y)
- . . D FLDUPD("AUPNVPOV",210,.Y)
- . . D FLDUPD("AUPNVCPT",211,.Y)
- . . IF SCDET D SET(Y)
- ;
- S Y=" Total Blocks"
- D TOTUPD("SCE",207,.Y)
- D TOTUPD("AUPNVSIT",208,.Y)
- D TOTUPD("AUPNVPRV",209,.Y)
- D TOTUPD("AUPNVPOV",210,.Y)
- D TOTUPD("AUPNVCPT",211,.Y)
- D SET(Y)
- D CNTRL^VALM10(SCLINE,1,79,IOINHI,IOINORM)
- ;
- S Z=0 F FLD=207:1:211 S Z=Z+$G(SCTOT(FLD))
- D SET(" (Grand Total: "_$FN(Z,",")_")")
- D CNTRL^VALM10(SCLINE,1,79,IOINHI,IOINORM)
- D SET(" ")
- Q
- ;
- ENTRY ; -- build new entry lines
- N SCI,DIC,DR,DIQ,DA,X,Y,Z,SCTOT,SCSTDT
- S DIC=404.98,DR=".03;2.07:2.11",DIQ="SCDATA",DIQ(0)="IE"
- S SCI=0
- ;
- D SECT("New Entries")
- ;
- S SCSTDT=0
- F S SCSTDT=$O(^SD(404.98,"C",SCSTDT)) Q:'SCSTDT D
- . F S SCI=$O(^SD(404.98,"C",SCSTDT,SCI)) Q:'SCI S X=$G(^SD(404.98,SCI,0)) D
- . . N SCDATA
- . . IF $P(X,U,9) Q ; -- canceled
- . . S DA=SCI D EN^DIQ1
- . . S Y=""
- . . S Y=$$SETFLD^VALM1($J(SCI,4),Y,"CST")
- . . S Y=$$SETFLD^VALM1($$FMTE^XLFDT(SCDATA(404.98,SCI,.03,"I"),"5ZD"),Y,"START DATE")
- . . D FLDUPD("SCE",2.07,.Y)
- . . D FLDUPD("AUPNVSIT",2.08,.Y)
- . . D FLDUPD("AUPNVPRV",2.09,.Y)
- . . D FLDUPD("AUPNVPOV",2.10,.Y)
- . . D FLDUPD("AUPNVCPT",2.11,.Y)
- . . IF SCDET D SET(Y)
- ;
- S Y=" Total Entries"
- D TOTUPD("SCE",2.07,.Y)
- D TOTUPD("AUPNVSIT",2.08,.Y)
- D TOTUPD("AUPNVPRV",2.09,.Y)
- D TOTUPD("AUPNVPOV",2.10,.Y)
- D TOTUPD("AUPNVCPT",2.11,.Y)
- D SET(Y)
- D CNTRL^VALM10(SCLINE,1,79,IOINHI,IOINORM)
- D SET(" ")
- Q
- MOD ; -- build modified entry lines
- N SCI,DIC,DR,DIQ,DA,X,Y,Z,SCTOT,SCSTDT
- S DIC=404.98,DR=".03;2.07:2.08",DIQ="SCDATA",DIQ(0)="IE"
- S SCI=0
- ;
- D SECT("Modified Entries")
- ;
- S SCSTDT=0
- F S SCSTDT=$O(^SD(404.98,"C",SCSTDT)) Q:'SCSTDT D
- . F S SCI=$O(^SD(404.98,"C",SCSTDT,SCI)) Q:'SCI S X=$G(^SD(404.98,SCI,0)) D
- . . N SCDATA,Z
- . . IF $P(X,U,9) Q ; -- canceled
- . . S DA=SCI D EN^DIQ1
- . . S Y=""
- . . S Y=$$SETFLD^VALM1($J(SCI,4),Y,"CST")
- . . S Y=$$SETFLD^VALM1($$FMTE^XLFDT(SCDATA(404.98,SCI,.03,"I"),"5ZD"),Y,"START DATE")
- . . S Z=SCDATA(404.98,SCI,2.08,"E")-SCDATA(404.98,SCI,2.07,"E")
- . . S Y=$$SETFLD^VALM1($J($FN(Z,","),11),Y,"SCE")
- . . S SCTOT(2.07)=$G(SCTOT(2.07))+Z
- . . IF SCDET D SET(Y)
- ;
- S Y=" Total Entries"
- D TOTUPD("SCE",2.07,.Y)
- D SET(Y)
- D CNTRL^VALM10(SCLINE,1,79,IOINHI,IOINORM)
- D SET(" ")
- Q
- ;
- PER ; -- build blocks per records lines
- N Y,SCDATA
- D ESTGROW^SCCVEGU1("SCDATA")
- ;
- D SECT("Global Block Estimates per Entry")
- ;
- S Y=" New Entries"
- S Y=$$SETFLD^VALM1($J(SCDATA("SCE","NEW"),11),Y,"SCE")
- S Y=$$SETFLD^VALM1($J(SCDATA("AUPNVSIT"),11),Y,"AUPNVSIT")
- S Y=$$SETFLD^VALM1($J(SCDATA("AUPNVPRV"),11),Y,"AUPNVPRV")
- S Y=$$SETFLD^VALM1($J(SCDATA("AUPNVPOV"),11),Y,"AUPNVPOV")
- S Y=$$SETFLD^VALM1($J(SCDATA("AUPNVCPT"),11),Y,"AUPNVCPT")
- D SET(Y)
- D CNTRL^VALM10(SCLINE,1,79,IOINHI,IOINORM)
- ;
- S Y=" Updated Entries"
- S Y=$$SETFLD^VALM1($J(SCDATA("SCE","UPD"),11),Y,"SCE")
- D SET(Y)
- D CNTRL^VALM10(SCLINE,1,79,IOINHI,IOINORM)
- Q
- ;
- D SET(" ")
- D SET(" ")
- D SET(" Note: Estimates are assuming the following:")
- D SET(" Block Size: "_$$BLKSIZE^SCCVEGU1()_" bytes")
- D SET(" Global Efficiency: 70%")
- Q
- ;
- FLDUPD(NAME,FLD,STR) ; -- update line with field info
- N Z
- S Z=SCDATA(404.98,SCI,FLD,"E")
- S STR=$$SETFLD^VALM1($J($FN(Z,","),11),STR,NAME)
- S SCTOT(FLD)=$G(SCTOT(FLD))+Z
- Q
- ;
- TOTUPD(NAME,FLD,STR) ; -- update total line with field total
- S STR=$$SETFLD^VALM1($J($FN(+$G(SCTOT(FLD)),","),11),STR,NAME)
- Q
- ;
- HELP ; -- help code
- S X="?" D DISP^XQORM1 W !!
- Q
- ;
- EXIT ; -- exit code
- K ^TMP("SCCV GESTIMATE",$J)
- Q
- ;
- EXPND ; -- expand code
- Q
- ;
- SCCVEGD2 ;ALB/MJK - Estimate Summary ; 30-NOV-1998
- +1 ;;5.3;Scheduling;**211,1015**;Aug 13, 1993;Build 21
- +2 ;
- EN ; -- main entry point for SCCV GLOBAL ESTIMATE SUMMARY
- +1 NEW SCDET,DIR
- +2 SET DIR(0)="YA"
- SET DIR("B")="No"
- SET DIR("A")="Include CST Detail? "
- +3 DO ^DIR
- +4 KILL DIR
- +5 IF $DATA(DIRUT)
- GOTO ENQ
- +6 SET SCDET=+Y
- +7 DO EN^VALM("SCCV CONV ESTIMATE SUMMARY")
- ENQ QUIT
- +1 ;
- HDR ; -- header code
- +1 ;S VALMHDR(1)=" "
- +2 QUIT
- +3 ;
- INIT ; -- init variables and list array
- +1 NEW SCLINE,SCNT
- +2 SET (SCNT,SCLINE)=0
- +3 DO GLOBAL
- +4 DO ENTRY
- +5 DO MOD
- +6 DO PER
- +7 DO FOOTER
- +8 SET VALMCNT=SCNT
- SET VALMBG=1
- +9 IF 'SCDET
- Begin DoDot:1
- +10 DO CHGCAP^VALM("CST"," ")
- +11 DO CHGCAP^VALM("START DATE"," ")
- End DoDot:1
- +12 QUIT
- +13 ;
- SET(STR) ; -- set line in array
- +1 SET SCLINE=SCLINE+1
- +2 SET SCNT=SCNT+1
- +3 DO SET^VALM10(SCLINE,STR)
- +4 QUIT
- +5 ;
- SECT(STR) ; -- set section hdr in array
- +1 NEW Y
- +2 SET Y=""
- +3 SET Y=$$SETSTR^VALM1(STR,Y,2,$LENGTH(STR))
- +4 DO SET(Y)
- +5 DO CNTRL^VALM10(SCLINE,2,$LENGTH(STR),IORVON,IORVOFF)
- +6 QUIT
- +7 ;
- GLOBAL ; -- build global growth lines
- +1 NEW SCI,DIC,DR,DIQ,DA,X,Y,Z,SCTOT,SCSTDT,FLD
- +2 SET DIC=404.98
- SET DR=".03;207:211"
- SET DIQ="SCDATA"
- SET DIQ(0)="IE"
- +3 SET SCI=0
- +4 ;
- +5 DO SECT("Global Block Growth")
- +6 ;
- +7 SET SCSTDT=0
- +8 FOR
- SET SCSTDT=$ORDER(^SD(404.98,"C",SCSTDT))
- IF 'SCSTDT
- QUIT
- Begin DoDot:1
- +9 FOR
- SET SCI=$ORDER(^SD(404.98,"C",SCSTDT,SCI))
- IF 'SCI
- QUIT
- SET X=$GET(^SD(404.98,SCI,0))
- Begin DoDot:2
- +10 NEW SCDATA
- +11 ; -- canceled
- IF $PIECE(X,U,9)
- QUIT
- +12 SET DA=SCI
- DO EN^DIQ1
- +13 SET Y=""
- +14 SET Y=$$SETFLD^VALM1($JUSTIFY(SCI,4),Y,"CST")
- +15 SET Y=$$SETFLD^VALM1($$FMTE^XLFDT(SCDATA(404.98,SCI,.03,"I"),"5ZD"),Y,"START DATE")
- +16 DO FLDUPD("SCE",207,.Y)
- +17 DO FLDUPD("AUPNVSIT",208,.Y)
- +18 DO FLDUPD("AUPNVPRV",209,.Y)
- +19 DO FLDUPD("AUPNVPOV",210,.Y)
- +20 DO FLDUPD("AUPNVCPT",211,.Y)
- +21 IF SCDET
- DO SET(Y)
- End DoDot:2
- End DoDot:1
- +22 ;
- +23 SET Y=" Total Blocks"
- +24 DO TOTUPD("SCE",207,.Y)
- +25 DO TOTUPD("AUPNVSIT",208,.Y)
- +26 DO TOTUPD("AUPNVPRV",209,.Y)
- +27 DO TOTUPD("AUPNVPOV",210,.Y)
- +28 DO TOTUPD("AUPNVCPT",211,.Y)
- +29 DO SET(Y)
- +30 DO CNTRL^VALM10(SCLINE,1,79,IOINHI,IOINORM)
- +31 ;
- +32 SET Z=0
- FOR FLD=207:1:211
- SET Z=Z+$GET(SCTOT(FLD))
- +33 DO SET(" (Grand Total: "_$FNUMBER(Z,",")_")")
- +34 DO CNTRL^VALM10(SCLINE,1,79,IOINHI,IOINORM)
- +35 DO SET(" ")
- +36 QUIT
- +37 ;
- ENTRY ; -- build new entry lines
- +1 NEW SCI,DIC,DR,DIQ,DA,X,Y,Z,SCTOT,SCSTDT
- +2 SET DIC=404.98
- SET DR=".03;2.07:2.11"
- SET DIQ="SCDATA"
- SET DIQ(0)="IE"
- +3 SET SCI=0
- +4 ;
- +5 DO SECT("New Entries")
- +6 ;
- +7 SET SCSTDT=0
- +8 FOR
- SET SCSTDT=$ORDER(^SD(404.98,"C",SCSTDT))
- IF 'SCSTDT
- QUIT
- Begin DoDot:1
- +9 FOR
- SET SCI=$ORDER(^SD(404.98,"C",SCSTDT,SCI))
- IF 'SCI
- QUIT
- SET X=$GET(^SD(404.98,SCI,0))
- Begin DoDot:2
- +10 NEW SCDATA
- +11 ; -- canceled
- IF $PIECE(X,U,9)
- QUIT
- +12 SET DA=SCI
- DO EN^DIQ1
- +13 SET Y=""
- +14 SET Y=$$SETFLD^VALM1($JUSTIFY(SCI,4),Y,"CST")
- +15 SET Y=$$SETFLD^VALM1($$FMTE^XLFDT(SCDATA(404.98,SCI,.03,"I"),"5ZD"),Y,"START DATE")
- +16 DO FLDUPD("SCE",2.07,.Y)
- +17 DO FLDUPD("AUPNVSIT",2.08,.Y)
- +18 DO FLDUPD("AUPNVPRV",2.09,.Y)
- +19 DO FLDUPD("AUPNVPOV",2.10,.Y)
- +20 DO FLDUPD("AUPNVCPT",2.11,.Y)
- +21 IF SCDET
- DO SET(Y)
- End DoDot:2
- End DoDot:1
- +22 ;
- +23 SET Y=" Total Entries"
- +24 DO TOTUPD("SCE",2.07,.Y)
- +25 DO TOTUPD("AUPNVSIT",2.08,.Y)
- +26 DO TOTUPD("AUPNVPRV",2.09,.Y)
- +27 DO TOTUPD("AUPNVPOV",2.10,.Y)
- +28 DO TOTUPD("AUPNVCPT",2.11,.Y)
- +29 DO SET(Y)
- +30 DO CNTRL^VALM10(SCLINE,1,79,IOINHI,IOINORM)
- +31 DO SET(" ")
- +32 QUIT
- MOD ; -- build modified entry lines
- +1 NEW SCI,DIC,DR,DIQ,DA,X,Y,Z,SCTOT,SCSTDT
- +2 SET DIC=404.98
- SET DR=".03;2.07:2.08"
- SET DIQ="SCDATA"
- SET DIQ(0)="IE"
- +3 SET SCI=0
- +4 ;
- +5 DO SECT("Modified Entries")
- +6 ;
- +7 SET SCSTDT=0
- +8 FOR
- SET SCSTDT=$ORDER(^SD(404.98,"C",SCSTDT))
- IF 'SCSTDT
- QUIT
- Begin DoDot:1
- +9 FOR
- SET SCI=$ORDER(^SD(404.98,"C",SCSTDT,SCI))
- IF 'SCI
- QUIT
- SET X=$GET(^SD(404.98,SCI,0))
- Begin DoDot:2
- +10 NEW SCDATA,Z
- +11 ; -- canceled
- IF $PIECE(X,U,9)
- QUIT
- +12 SET DA=SCI
- DO EN^DIQ1
- +13 SET Y=""
- +14 SET Y=$$SETFLD^VALM1($JUSTIFY(SCI,4),Y,"CST")
- +15 SET Y=$$SETFLD^VALM1($$FMTE^XLFDT(SCDATA(404.98,SCI,.03,"I"),"5ZD"),Y,"START DATE")
- +16 SET Z=SCDATA(404.98,SCI,2.08,"E")-SCDATA(404.98,SCI,2.07,"E")
- +17 SET Y=$$SETFLD^VALM1($JUSTIFY($FNUMBER(Z,","),11),Y,"SCE")
- +18 SET SCTOT(2.07)=$GET(SCTOT(2.07))+Z
- +19 IF SCDET
- DO SET(Y)
- End DoDot:2
- End DoDot:1
- +20 ;
- +21 SET Y=" Total Entries"
- +22 DO TOTUPD("SCE",2.07,.Y)
- +23 DO SET(Y)
- +24 DO CNTRL^VALM10(SCLINE,1,79,IOINHI,IOINORM)
- +25 DO SET(" ")
- +26 QUIT
- +27 ;
- PER ; -- build blocks per records lines
- +1 NEW Y,SCDATA
- +2 DO ESTGROW^SCCVEGU1("SCDATA")
- +3 ;
- +4 DO SECT("Global Block Estimates per Entry")
- +5 ;
- +6 SET Y=" New Entries"
- +7 SET Y=$$SETFLD^VALM1($JUSTIFY(SCDATA("SCE","NEW"),11),Y,"SCE")
- +8 SET Y=$$SETFLD^VALM1($JUSTIFY(SCDATA("AUPNVSIT"),11),Y,"AUPNVSIT")
- +9 SET Y=$$SETFLD^VALM1($JUSTIFY(SCDATA("AUPNVPRV"),11),Y,"AUPNVPRV")
- +10 SET Y=$$SETFLD^VALM1($JUSTIFY(SCDATA("AUPNVPOV"),11),Y,"AUPNVPOV")
- +11 SET Y=$$SETFLD^VALM1($JUSTIFY(SCDATA("AUPNVCPT"),11),Y,"AUPNVCPT")
- +12 DO SET(Y)
- +13 DO CNTRL^VALM10(SCLINE,1,79,IOINHI,IOINORM)
- +14 ;
- +15 SET Y=" Updated Entries"
- +16 SET Y=$$SETFLD^VALM1($JUSTIFY(SCDATA("SCE","UPD"),11),Y,"SCE")
- +17 DO SET(Y)
- +18 DO CNTRL^VALM10(SCLINE,1,79,IOINHI,IOINORM)
- +19 QUIT
- +20 ;
- +1 DO SET(" ")
- +2 DO SET(" ")
- +3 DO SET(" Note: Estimates are assuming the following:")
- +4 DO SET(" Block Size: "_$$BLKSIZE^SCCVEGU1()_" bytes")
- +5 DO SET(" Global Efficiency: 70%")
- +6 QUIT
- +7 ;
- FLDUPD(NAME,FLD,STR) ; -- update line with field info
- +1 NEW Z
- +2 SET Z=SCDATA(404.98,SCI,FLD,"E")
- +3 SET STR=$$SETFLD^VALM1($JUSTIFY($FNUMBER(Z,","),11),STR,NAME)
- +4 SET SCTOT(FLD)=$GET(SCTOT(FLD))+Z
- +5 QUIT
- +6 ;
- TOTUPD(NAME,FLD,STR) ; -- update total line with field total
- +1 SET STR=$$SETFLD^VALM1($JUSTIFY($FNUMBER(+$GET(SCTOT(FLD)),","),11),STR,NAME)
- +2 QUIT
- +3 ;
- HELP ; -- help code
- +1 SET X="?"
- DO DISP^XQORM1
- WRITE !!
- +2 QUIT
- +3 ;
- EXIT ; -- exit code
- +1 KILL ^TMP("SCCV GESTIMATE",$JOB)
- +2 QUIT
- +3 ;
- EXPND ; -- expand code
- +1 QUIT
- +2 ;