| 1 | SD376P ;BP-OIFO/esw,swo - POSTINSTALL DRIVER ; 10/27/04 3:39pm | 
|---|
| 2 | ;;5.3;Scheduling;**376**;Aug 13, 1993 | 
|---|
| 3 | EN ;manual entry point | 
|---|
| 4 | ;ST   :  station number | 
|---|
| 5 | ;STR  :  list of stations receiving AA ack's only | 
|---|
| 6 | ;STS  :  current station number with comma's concatenated | 
|---|
| 7 | I '$$PROD^XUPROD(1) D  Q | 
|---|
| 8 | . D BMES^XPDUTL("NOT A PRODUCTION SYSTEM.  POST INIT CANCELLED") | 
|---|
| 9 | EN1 N ST,STR,STS | 
|---|
| 10 | S ST=$P($$SITE^VASITE(),"^",3) | 
|---|
| 11 | Q:ST="" | 
|---|
| 12 | S STR=","_$P($T(STAT),";;",2)_"," | 
|---|
| 13 | S STS=","_ST_"," | 
|---|
| 14 | I STR[STS D EN^SDRPA18,CLEAN Q  ;process stations that received AA ack only then quit | 
|---|
| 15 | I ST=674 D EN^SDRPA17(ST),EN^SDRPA18,CLEAN Q | 
|---|
| 16 | I ST<529 D EN^SDRPA10(ST),EN^SDRPA18,CLEAN Q | 
|---|
| 17 | I ST<547 D EN^SDRPA11(ST),EN^SDRPA18,CLEAN Q | 
|---|
| 18 | I ST<555 D EN^SDRPA12(ST),EN^SDRPA18,CLEAN Q | 
|---|
| 19 | I ST<571 D EN^SDRPA13(ST),EN^SDRPA18,CLEAN Q | 
|---|
| 20 | I ST<619 D EN^SDRPA14(ST),EN^SDRPA18,CLEAN Q | 
|---|
| 21 | I ST<664 D EN^SDRPA15(ST),EN^SDRPA18,CLEAN Q | 
|---|
| 22 | D EN^SDRPA16(ST),EN^SDRPA18,CLEAN Q | 
|---|
| 23 | Q | 
|---|
| 24 | PR(SB,SM,ER,SQ) ;process the message number and error code | 
|---|
| 25 | ;SB - Batch # | 
|---|
| 26 | ;SM - Message # | 
|---|
| 27 | ;ER - Error code | 
|---|
| 28 | ;SQ - Sequence number | 
|---|
| 29 | ;V1 - Run number | 
|---|
| 30 | ;V2 - ien in appt multiple | 
|---|
| 31 | ;V3 - ien in batch tracking multiple | 
|---|
| 32 | ;SM is the batch # found in the "AMSG" xref and corresponds to the message control id | 
|---|
| 33 | ;SB is our batch control, use for the 2 node multiples B xref lookups | 
|---|
| 34 | N V1,V2,V3 | 
|---|
| 35 | ;get the run number | 
|---|
| 36 | S V1=$O(^SDWL(409.6,"AMSG",SM,SQ,"")) Q:'V1  D | 
|---|
| 37 | . ;get the ien in that run | 
|---|
| 38 | . S V2=$O(^SDWL(409.6,"AMSG",SM,SQ,V1,"")) Q:'V2  D | 
|---|
| 39 | .. ;now get the ien of the batch tracking entry | 
|---|
| 40 | .. S V3=$O(^SDWL(409.6,V1,2,"B",SB,"")) Q:'V3  D | 
|---|
| 41 | ... ;quit if there is an ack date | 
|---|
| 42 | ... I $P($G(^SDWL(409.6,V1,2,V3,0)),"^",4)'="" Q | 
|---|
| 43 | ... ;update batch tracking | 
|---|
| 44 | ... I ER="" S DA=V3,DA(1)=V1,DIE="^SDWL(409.6,"_V1_",2,",DR=".04///"_$$NOW^XLFDT_";.05///AE" D ^DIE K DIE,DA,DR Q | 
|---|
| 45 | ...; | 
|---|
| 46 | ...;update error codes | 
|---|
| 47 | ... S DA=V2,DA(1)=V1,DIE="^SDWL(409.6,"_V1_",1," | 
|---|
| 48 | ... S DR="7////"_$O(^SCPT(404.472,"B",ER,"")) D ^DIE | 
|---|
| 49 | ... I $D(^SDWL(409.6,"AE","Y",V1,V2)) Q | 
|---|
| 50 | ... I $D(^SDWL(409.6,"AE","N",V1,V2)) D | 
|---|
| 51 | .... S DR="4///Y" D ^DIE K DIE,DA,DR | 
|---|
| 52 | Q | 
|---|
| 53 | CLEAN ;clean up batches previous to current one by checking for "AE",("S" or "R") xref and | 
|---|
| 54 | ;deleting if entry in xref exists | 
|---|
| 55 | ;RUN  :  run #           (ien of multiple entry) | 
|---|
| 56 | ;V1   :  previous run #  (ien of multiple entry) | 
|---|
| 57 | ;V2   :  ien           (ien in multiple) | 
|---|
| 58 | N V1,V2,V3,ZNODE | 
|---|
| 59 | S V1=9999999 F  S V1=$O(^SDWL(409.6,V1),-1) Q:'V1  D | 
|---|
| 60 | .F V3="R","S" S V2=0 F  S V2=$O(^SDWL(409.6,"AE",V3,V1,V2)) Q:'V2  D | 
|---|
| 61 | ..S ZNODE=$G(^SDWL(409.6,V1,1,V2,0)) | 
|---|
| 62 | ..S DIK="^SDWL(409.6,"_V1_",1," | 
|---|
| 63 | ..S DA(1)=V1,DA=V2 D ^DIK K DIK | 
|---|
| 64 | Q | 
|---|
| 65 | ;listing of all stations that received only AA ack - no rejection | 
|---|
| 66 | STAT ;;358,405,463,503,516,517,523,538,540,542,552,564,575,583,600,613,632,649,653,656,676,679,687,692,693,757 | 
|---|