[613] | 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
|
---|