1 | ENPRPAD ;(WIRMFO)/SAB-Project Actions Due Report ;1/29/1998
|
---|
2 | ;;7.0;ENGINEERING;**28,49**;Aug 17, 1993
|
---|
3 | ;
|
---|
4 | ASKDM ; ask due date (month/year)
|
---|
5 | S DIR(0)="D^::E",DIR("A")="Report Actions Due In"
|
---|
6 | S DIR("?")="Enter action due date (month and year)"
|
---|
7 | S DIR("B")=$$FMTE^XLFDT($E(DT,1,5)_"00")
|
---|
8 | D ^DIR K DIR G:$D(DIRUT) EXIT S ENDM=$E(Y,1,5)
|
---|
9 | I $E(ENDM,4,5)="00" W $C(7),!,"Month is required.",! G ASKDM
|
---|
10 | ; ask project screen
|
---|
11 | S DIR(0)="Y",DIR("A")="Only include projects with MONTHLY UPDATES = YES"
|
---|
12 | S DIR("B")="YES"
|
---|
13 | D ^DIR K DIR G:$D(DIRUT) EXIT S ENONLYMU=Y
|
---|
14 | ; ask device
|
---|
15 | S %ZIS="QM" D ^%ZIS G:POP EXIT
|
---|
16 | I $D(IO("Q")) D G EXIT
|
---|
17 | . S ZTRTN="QEN^ENPRPAD",ZTDESC="Project Actions Due Report"
|
---|
18 | . S ZTSAVE("ENDM")="",ZTSAVE("ENONLYMU")=""
|
---|
19 | . D ^%ZTLOAD,HOME^%ZIS K ZTSK
|
---|
20 | QEN ; queued entry
|
---|
21 | U IO
|
---|
22 | S (END,ENPG)=0 D NOW^%DTC S Y=% D DD^%DT S ENDT=Y
|
---|
23 | S ENL="",$P(ENL,"-",IOM)=""
|
---|
24 | ; loop thru project file
|
---|
25 | K ^TMP($J)
|
---|
26 | S ENT=0
|
---|
27 | S ENDA=0 F S ENDA=$O(^ENG("PROJ",ENDA)) Q:'ENDA D Q:END
|
---|
28 | . I ENONLYMU,$$GET1^DIQ(6925,ENDA,2.5)'="YES" Q ; not monthly updates
|
---|
29 | . S ENPN=$$GET1^DIQ(6925,ENDA,.01)
|
---|
30 | . S ENPR=$$GET1^DIQ(6925,ENDA,155,"I")
|
---|
31 | . Q:"^MA^MI^MM^NR^SL^"'[(U_ENPR_U)
|
---|
32 | . ; build applicable milestone list for project
|
---|
33 | . S ENMSOK=$$MSL^ENPRUTL(ENDA)
|
---|
34 | . ; get milestone dates for project
|
---|
35 | . D MSD^ENPRUTL(ENDA)
|
---|
36 | . ; check milestones
|
---|
37 | . F ENI=1:1:22 D:$P(ENMSOK,U,ENI)
|
---|
38 | . . Q:ENMS("A",ENI)]"" ; have actual
|
---|
39 | . . S ENCPL=$S(ENMS("R",ENI)]"":ENMS("R",ENI),1:ENMS("P",ENI)) ; current planned
|
---|
40 | . . Q:ENCPL="" ; not planned
|
---|
41 | . . I $E(ENCPL,1,5)=ENDM S ^TMP($J,ENPR,ENPN,ENI)=ENCPL_U_"D"
|
---|
42 | . . I $E(ENCPL,1,5)<ENDM S ^TMP($J,ENPR,ENPN,ENI)=ENCPL_U_"O"
|
---|
43 | . I $D(^TMP($J,ENPR,ENPN))=10 S ^TMP($J,ENPR,ENPN)=ENDA
|
---|
44 | . K ENCPL,ENMS,ENMSOK
|
---|
45 | PRT ; print results
|
---|
46 | D HD
|
---|
47 | I '$D(^TMP($J)) W !!,"No Due or OverDue actions on projects" W:ENONLYMU " marked for MONTHLY UPDATE" W "."
|
---|
48 | S ENPR="" F S ENPR=$O(^TMP($J,ENPR)) Q:ENPR="" D Q:END
|
---|
49 | . W !!,"PROGRAM: ",$$EXTERNAL^DILFD(6925,155,"",ENPR)
|
---|
50 | . S ENPN="" F S ENPN=$O(^TMP($J,ENPR,ENPN)) Q:ENPN="" D Q:END
|
---|
51 | . . S ENDA=$P(^TMP($J,ENPR,ENPN),U)
|
---|
52 | . . W !!,ENPN,?15,$$GET1^DIQ(6925,ENDA,2)
|
---|
53 | . . S ENI="" F S ENI=$O(^TMP($J,ENPR,ENPN,ENI)) Q:ENI="" D Q:END
|
---|
54 | . . . S ENX=^TMP($J,ENPR,ENPN,ENI)
|
---|
55 | . . . I $Y+6>IOSL D HD Q:END D HDC
|
---|
56 | . . . W !,?5,$S($P(ENX,U,2)="D":"Due",1:"Overdue")
|
---|
57 | . . . W ?15,$$MS^ENPRUTL(ENI)," (",$$FMTE^XLFDT($P(ENX,U),2),") "
|
---|
58 | I 'END,$E(IOST,1,2)="C-" S DIR(0)="E" D ^DIR K DIR
|
---|
59 | D ^%ZISC
|
---|
60 | EXIT I $D(ZTQUEUED) S ZTREQ="Q"
|
---|
61 | K DIR,DIROUT,DIRUT,DTOUT,DUOUT,X,Y
|
---|
62 | K END,ENDM,ENDT,ENL,ENPG
|
---|
63 | K EN,ENC,ENDA,ENI,ENL,ENONLYMU,ENPN,ENPR,ENT,ENX
|
---|
64 | Q
|
---|
65 | HD ; header
|
---|
66 | I $D(ZTQUEUED),$$S^%ZTLOAD S ZTSTOP=1,END=1 Q
|
---|
67 | I $E(IOST,1,2)="C-",ENPG S DIR(0)="E" D ^DIR K DIR I 'Y S END=1 Q
|
---|
68 | I $E(IOST,1,2)="C-"!ENPG W @IOF
|
---|
69 | S ENPG=ENPG+1
|
---|
70 | S $X=0
|
---|
71 | W "PROJECT ACTIONS DUE IN ",$$FMTE^XLFDT(ENDM),?48,ENDT,?72,"page ",ENPG
|
---|
72 | W !,"For ",$S(ENONLYMU:"projects with MONTHLY UPDATE = YES",1:"all projects"),"."
|
---|
73 | W !,ENL
|
---|
74 | Q
|
---|
75 | HDC ; header for continued project
|
---|
76 | W !,"PROGRAM: ",$$EXTERNAL^DILFD(6925,155,"",ENPR)," (continued)"
|
---|
77 | W !!,ENPN,?15,$$GET1^DIQ(6925,ENDA,2)," (continued)"
|
---|
78 | Q
|
---|
79 | ;ENPRPAD
|
---|