1 | ENFAXMTM ;WIRMFO/KLD,SAB-VALIDATE/TRANSMIT FAP EQUIPMENT; 6/9/97
|
---|
2 | ;;7.0;ENGINEERING;**25,29,39**;Aug 17, 1993
|
---|
3 | ;This routine should not be modified.
|
---|
4 | ST Q
|
---|
5 | ;
|
---|
6 | EQUIP ;Validite/Transmit FA docs by Equipment
|
---|
7 | ; Input
|
---|
8 | ; ENBAT("XMT") - flag; true (1) to transmit after validation
|
---|
9 | ; not returned
|
---|
10 | Q:$G(ENBAT("XMT"))="" ; required
|
---|
11 | W !!,"This option ",$S(ENBAT("XMT"):"TRANSMITS",1:"VALIDATES")," FA Documents (code sheets) for specified equipment.",!
|
---|
12 | EQUIPA ; ask equipment
|
---|
13 | D GETEQ^ENUTL G:Y<1 EQUIPX
|
---|
14 | S ENEQ("DA")=+Y
|
---|
15 | S X=$$CHKFA^ENFAUTL(ENEQ("DA")) I +X D G EQUIPA
|
---|
16 | . S Y=$P(X,U,2) D DD^%DT S ENFADT("E")=Y
|
---|
17 | . W !!,"FA document for ENTRY #",ENEQ("DA")," was processed on ",ENFADT("E"),"."
|
---|
18 | . W !,"No action taken.",!,$C(7)
|
---|
19 | . K DA,ENFADT,X,Y
|
---|
20 | ; set variables for calls to ENFAVAL or ENFAACQ
|
---|
21 | S:'ENBAT("XMT") ENFAP("DOC")="FA" ; validate for FA document
|
---|
22 | S:ENBAT("XMT") ENBAT("SILENT")="" ; ENFAACQ will save problems in ^TMP
|
---|
23 | K ^TMP($J)
|
---|
24 | I 'ENBAT("XMT") D ; validate only
|
---|
25 | . F I=0,2,3,8,9 S ENEQ(I)=$G(^ENG(6914,ENEQ("DA"),I))
|
---|
26 | . D ^ENFAVAL
|
---|
27 | I ENBAT("XMT") D ^ENFAACQ ; transmit (includes validation)
|
---|
28 | ; report results
|
---|
29 | I '$D(^TMP($J)) W !!,"Equipment Entry #: ",ENEQ("DA")," ",$S(ENBAT("XMT"):"was transmitted.",1:"looks OK!")
|
---|
30 | I $D(^TMP($J)) D LISTP W ! I ENBAT("XMT") W !,"Please correct the Equipment Record before sending a FA Document for this item.",!
|
---|
31 | G EQUIPA ; ask for another item
|
---|
32 | EQUIPX ; exit point for EQUIP
|
---|
33 | K DIC,DIR,DIRUT,DUOUT,ENBAT,ENFAP,I,X,Y
|
---|
34 | Q
|
---|
35 | ;
|
---|
36 | CMR ;Validite/Transmit FA docs by CMR
|
---|
37 | ; Input
|
---|
38 | ; ENBAT("XMT") - flag; true (1) to transmit after validation
|
---|
39 | ; not returned
|
---|
40 | Q:$G(ENBAT("XMT"))="" ; required
|
---|
41 | W !!,"This option ",$S(ENBAT("XMT"):"TRANSMITS",1:"VALIDATES")," FA Documents (code sheets)"
|
---|
42 | W !,"for all equipment that belongs to a specified CMR.",!
|
---|
43 | ; ask cmr
|
---|
44 | S DIC="^ENG(6914.1,",DIC(0)="QEAM" D ^DIC Q:Y<1
|
---|
45 | S ENBAT("SEL","I")=+Y ; selected cmr
|
---|
46 | ; ask device
|
---|
47 | W !,"Now select the device to print results on."
|
---|
48 | S %ZIS="Q" D ^%ZIS G:POP CMRX
|
---|
49 | I $D(IO("Q")) D G CMRX
|
---|
50 | . S ZTRTN="CMRQ^ENFAXMTM"
|
---|
51 | . S ZTDESC=$S(ENBAT("XMT"):"Transmit",1:"Validate")_" FA Doc. by CMR"
|
---|
52 | . F I="ENBAT(" S ZTSAVE(I)=""
|
---|
53 | . D ^%ZTLOAD W:$D(ZTSK) !,"Queued! Task #",ZTSK K ZTSK
|
---|
54 | CMRQ ; queued entry point to process cmr
|
---|
55 | ; Input
|
---|
56 | ; ENBAT("SEL","I") = ien of selected CMR
|
---|
57 | ; ENBAT("XMT") = flag; when true FA Documents will be transmitted
|
---|
58 | ; set variables for calls to ENFAVAL or ENFAACQ
|
---|
59 | S:'ENBAT("XMT") ENFAP("DOC")="FA" ; validate for FA document
|
---|
60 | S:ENBAT("XMT") ENBAT("SILENT")="" ; ENFAACQ will save problems in ^TMP
|
---|
61 | K ^TMP($J)
|
---|
62 | S (ENT("BAT"),ENT("BAD"),ENT("FAP"),ENT("SENT"))=0
|
---|
63 | ; loop thru equipment on cmr
|
---|
64 | S ENEQ("DA")=0
|
---|
65 | F S ENEQ("DA")=$O(^ENG(6914,"AD",ENBAT("SEL","I"),ENEQ("DA"))) Q:'ENEQ("DA") D
|
---|
66 | . Q:'$P($G(^ENG(6914,ENEQ("DA"),8)),U,2) ; not capitalized
|
---|
67 | . S ENT("BAT")=ENT("BAT")+1
|
---|
68 | . I +$$CHKFA^ENFAUTL(ENEQ("DA")) S ENT("FAP")=ENT("FAP")+1 Q ; already
|
---|
69 | . I 'ENBAT("XMT") D ; validate only
|
---|
70 | . . F I=0,2,3,8,9 S ENEQ(I)=$G(^ENG(6914,ENEQ("DA"),I))
|
---|
71 | . . D ^ENFAVAL
|
---|
72 | . I ENBAT("XMT") D ^ENFAACQ ; transmit (includes validation)
|
---|
73 | ; report results
|
---|
74 | S ENBAT("TYPE")="CMR"
|
---|
75 | S ENBAT("SEL","E")=$P($G(^ENG(6914.1,ENBAT("SEL","I"),0)),U) ; cmr name
|
---|
76 | D RPTB
|
---|
77 | CMRX ; exit point for CMR
|
---|
78 | K DIC,ENBAT,ENFA,ENFAP,X,Y
|
---|
79 | Q
|
---|
80 | ;
|
---|
81 | STN ;Validite/Transmit FA Docs by Station
|
---|
82 | ; Input
|
---|
83 | ; ENBAT("XMT") - flag; true (1) to transmit after validation
|
---|
84 | ; not returned
|
---|
85 | Q:$G(ENBAT("XMT"))="" ; required
|
---|
86 | W !!,"This option ",$S(ENBAT("XMT"):"TRANSMITS",1:"VALIDATES")," FA Documents (code sheets)"
|
---|
87 | W !,"for all equipment that belongs to a specified Station.",!
|
---|
88 | ; ask station
|
---|
89 | S DIR(0)="F^3:5",DIR("A")="STATION NUMBER"
|
---|
90 | S DIR("B")=$$GET1^DIQ(6910,"1,",1)
|
---|
91 | D ^DIR K DIR G:$D(DIRUT) STNX
|
---|
92 | S ENBAT("SEL","I")=Y ; selected station
|
---|
93 | ; ask device
|
---|
94 | W !,"Now select the device to print results on."
|
---|
95 | S %ZIS="Q" D ^%ZIS G:POP STNX
|
---|
96 | I $D(IO("Q")) D G STNX
|
---|
97 | . S ZTRTN="STNQ^ENFAXMTM"
|
---|
98 | . S ZTDESC=$S(ENBAT("XMT"):"Transmit",1:"Validate")_" FA Doc. by Station"
|
---|
99 | . F I="ENBAT(" S ZTSAVE(I)=""
|
---|
100 | . D ^%ZTLOAD W:$D(ZTSK) !,"Queued! Task #",ZTSK K ZTSK
|
---|
101 | STNQ ; queued entry point to process station
|
---|
102 | ; Input
|
---|
103 | ; ENBAT("SEL","I") = selected Station Number (3-5 characters)
|
---|
104 | ; ENBAT("XMT") = flag; when true FA Documents will be transmitted
|
---|
105 | ; set variables for calls to ENFAVAL or ENFAACQ
|
---|
106 | S:'ENBAT("XMT") ENFAP("DOC")="FA" ; validate for FA document
|
---|
107 | S:ENBAT("XMT") ENBAT("SILENT")="" ; ENFAACQ will save problems in ^TMP
|
---|
108 | K ^TMP($J)
|
---|
109 | S (ENT("BAT"),ENT("BAD"),ENT("FAP"),ENT("SENT"))=0
|
---|
110 | ; loop thru equipment on station
|
---|
111 | S ENSND=$$GET1^DIQ(6910,"1,",1) ; default station number
|
---|
112 | S ENEQ("DA")=0
|
---|
113 | F S ENEQ("DA")=$O(^ENG(6914,ENEQ("DA"))) Q:'ENEQ("DA") D
|
---|
114 | . Q:'$P($G(^ENG(6914,ENEQ("DA"),8)),U,2) ; not capitalized
|
---|
115 | . S ENSN=$P($G(^ENG(6914,ENEQ("DA"),9)),U,5) S:ENSN="" ENSN=ENSND
|
---|
116 | . Q:ENSN'=ENBAT("SEL","I") ; not station
|
---|
117 | . Q:$$GET1^DIQ(6914,ENEQ("DA"),19)']"" ; not on a CMR
|
---|
118 | . ; included in batch
|
---|
119 | . S ENT("BAT")=ENT("BAT")+1
|
---|
120 | . I +$$CHKFA^ENFAUTL(ENEQ("DA")) S ENT("FAP")=ENT("FAP")+1 Q ; already
|
---|
121 | . I 'ENBAT("XMT") D ; validate only
|
---|
122 | . . F I=0,2,3,8,9 S ENEQ(I)=$G(^ENG(6914,ENEQ("DA"),I))
|
---|
123 | . . D ^ENFAVAL
|
---|
124 | . I ENBAT("XMT") D ^ENFAACQ ; transmit (includes validation)
|
---|
125 | ; report results
|
---|
126 | S ENBAT("TYPE")="STATION"
|
---|
127 | S ENBAT("SEL","E")=ENBAT("SEL","I")
|
---|
128 | D RPTB
|
---|
129 | ;
|
---|
130 | STNX ; exit point for STN
|
---|
131 | K DIC,ENBAT,ENFA,ENFAP,ENSN,ENSND,X,Y
|
---|
132 | Q
|
---|
133 | ;
|
---|
134 | RPTB ; Report of Batch Validate/Transmit FA Documents for Equipment
|
---|
135 | ; Input - required
|
---|
136 | ; ENBAT("TYPE") = type of batch (CMR or STATION)
|
---|
137 | ; ENBA("SEL","E") = value specified (either a CMR or STATION NUMBER)
|
---|
138 | ; ENT("BAT") = count of equipment in batch (meets basic criteria)
|
---|
139 | ; ENT("FAP") = count of batch items already established in FAP
|
---|
140 | ; ENBAT("XMT") = flag (0 or 1), true for transmit options
|
---|
141 | ; Input - optional
|
---|
142 | ; ^TMP($J,"BAD",equip entry #,line number) = validation problem
|
---|
143 | ; Output
|
---|
144 | ; Kills ^TMP($J
|
---|
145 | U IO
|
---|
146 | S (END,ENPG)=0 D NOW^%DTC S Y=% D DD^%DT S ENFA("NOW")=Y
|
---|
147 | D RPTBHD
|
---|
148 | ; count batch items which failed validation
|
---|
149 | S I=0 F S I=$O(^TMP($J,"BAD",I)) Q:I'>0 S ENT("BAD")=ENT("BAD")+1
|
---|
150 | S ENT("SENT")=ENT("BAT")-(ENT("FAP")+ENT("BAD"))
|
---|
151 | ; summarize validate/transmit results
|
---|
152 | W !!,+ENT("BAT")_" records have been processed from ",ENBAT("TYPE")
|
---|
153 | W ": ",ENBAT("SEL","E")_"."
|
---|
154 | W !!,ENT("SENT")_" record",$S(ENT("SENT")=1:" ",1:"s ")
|
---|
155 | W $S('ENBAT("XMT"):"would have been",1:$S(ENT("SENT")=1:"was",1:"were"))_" sent to FAP."
|
---|
156 | W !,ENT("FAP")_$S('ENBAT("XMT"):" would not have been",1:$S(ENT("FAP")=1:" was not",1:" were not"))_" sent due to already being established in FAP."
|
---|
157 | W !,ENT("BAD")_$S('ENBAT("XMT"):" would not have been",1:$S(ENT("BAD")=1:" was not",1:" were not"))_" sent due to validation problems."
|
---|
158 | ; detailed validation problems
|
---|
159 | I ENT("BAD")>0 D
|
---|
160 | . W !!,"Equipment Records not sent because of validation problems: "
|
---|
161 | . W !!,"Entry #",?24,"Reason"
|
---|
162 | . S I=0 F S I=$O(^TMP($J,"BAD",I)) Q:'I D Q:END
|
---|
163 | . . S II=0 F S II=$O(^TMP($J,"BAD",I,II)) Q:'II D Q:END
|
---|
164 | . . . I $Y+4>IOSL D RPTBHD Q:END W !!,"Entry #",?24,"Reason"
|
---|
165 | . . . W !,$J(I,11)," ",^TMP($J,"BAD",I,II)
|
---|
166 | . . W !
|
---|
167 | I 'END,$E(IOST,1,2)="C-" S DIR(0)="E" D ^DIR
|
---|
168 | K ^TMP($J),DIR,DIROUT,DIRUT,DTOUT,DUOUT,I,II,X,Y
|
---|
169 | K END,ENEQ,ENFA,ENFAP,ENPG,ENT
|
---|
170 | S:$D(ZTQUEUED) ZTREQ="Q"
|
---|
171 | D ^%ZISC
|
---|
172 | Q
|
---|
173 | RPTBHD ; header for FA batch validate/transmit report
|
---|
174 | I $E(IOST,1,2)="C-",ENPG S DIR(0)="E" D ^DIR I 'Y S END=1 Q
|
---|
175 | I $E(IOST,1,2)="C-"!ENPG W @IOF
|
---|
176 | S ENPG=ENPG+1
|
---|
177 | W !,"FA DOCUMENT ",$S(ENBAT("XMT"):"TRANSMISSION",1:"VALIDITY CHECK")
|
---|
178 | W " FOR ",ENBAT("TYPE"),": ",ENBAT("SEL","E")
|
---|
179 | W ?49,ENFA("NOW"),?72,"page ",ENPG
|
---|
180 | Q
|
---|
181 | LISTP ; List Problems with Equipment/Document
|
---|
182 | ; Called from various FAP Document routines
|
---|
183 | ; Input
|
---|
184 | ; ENEQ("DA") - equipment entry #
|
---|
185 | ; ^TMP($J,"BAD",ENEQ("DA")) - number of problems
|
---|
186 | ; ^TMP($J,"BAD",ENEQ("DA"),seqn #) - description of a problem
|
---|
187 | ; ENBAT("XMT") - optional, flag; true when transmitting (for FA only)
|
---|
188 | ; Output
|
---|
189 | ; Problems are listed to the screen
|
---|
190 | ; ^TMP($J is killed
|
---|
191 | N I
|
---|
192 | W $C(7),!!,"This record "_$S($G(ENBAT("XMT"))=0:"would not have been",1:"was not")_" sent to FAP!"
|
---|
193 | W !,"Reason" W:^TMP($J,"BAD",ENEQ("DA"))>1 "s" W ":"
|
---|
194 | F I=1:1:^TMP($J,"BAD",ENEQ("DA")) W !?2,^TMP($J,"BAD",ENEQ("DA"),I)
|
---|
195 | K ^TMP($J)
|
---|
196 | Q
|
---|
197 | ;ENFAXMTM
|
---|