| 1 | GECSSTTT ;WISC/RFJ-stacker file transmission routine ;08 Dec 93 | 
|---|
| 2 | ;;2.0;GCS;**27**;MAR 14, 1995 | 
|---|
| 3 | Q | 
|---|
| 4 | ; | 
|---|
| 5 | ; | 
|---|
| 6 | TRANSMIT ;  transmit from ^tmp($j,"gecssttr","cs",sequence,line,0) | 
|---|
| 7 | N %X,%Y,BATCH,BATCHDA,DA,GECSXMY,SEGTYPES,SEQUENCE,XCNP,XMDISPI,XMDUZ,XMMG,XMSUB,XMTEXT,XMY,XMZ | 
|---|
| 8 | S SEQUENCE=0 F  S SEQUENCE=$O(^TMP($J,"GECSSTTR","CS",SEQUENCE)) Q:'SEQUENCE  D | 
|---|
| 9 | .   S BATCHDA=^TMP($J,"GECSSTTR","BATCH",SEQUENCE),BATCH=$G(^GECS(2101.1,BATCHDA,0)) S:$P(BATCH,"^")="" $P(BATCH,"^")="<<UNDEFINED BATCH TYPE>>" S:$P(BATCH,"^",4)="" $P(BATCH,"^",4)="???" | 
|---|
| 10 | .   D RECUSER(BATCHDA,1) | 
|---|
| 11 | .   I '$D(GECSXMY) D TRANSERR("No receiving users for batch type: "_$P(BATCH,"^")) Q | 
|---|
| 12 | .   S %X="GECSXMY(",%Y="XMY(" D %XY^%RCR | 
|---|
| 13 | .   ; | 
|---|
| 14 | .   S SEGTYPES=$G(^TMP($J,"GECSSTTR","SEGS",SEQUENCE)) | 
|---|
| 15 | .   S XMDUZ=$S($D(ZTQUEUED):.5,'$G(DUZ):.5,$G(GECSFQUE):.5,1:DUZ),XMTEXT="^TMP($J,""GECSSTTR"",""CS"","_SEQUENCE_",",XMSUB="GCS TRANSACTION "_$P(BATCH,"^",4)_$S(SEGTYPES="":"",1:":"_SEGTYPES) | 
|---|
| 16 | .   I $L(XMSUB)>65 S XMSUB=$E(XMSUB,1,64)_"*" | 
|---|
| 17 | .   K XMMG,XMZ | 
|---|
| 18 | .   D ^XMD | 
|---|
| 19 | .   I '$G(XMZ) D TRANSERR("Mailman Error: "_$S($G(XMMG)'="":XMMG,1:"<not recorded>")) Q | 
|---|
| 20 | .   S DA=0 F  S DA=$O(^TMP($J,"GECSSTTR","LIST",SEQUENCE,DA)) Q:'DA  D | 
|---|
| 21 | .   .   D MESSAGE^GECSSTTR(DA,20,XMZ) | 
|---|
| 22 | .   .   D SETSTAT^GECSSTAA(DA,"T") | 
|---|
| 23 | Q | 
|---|
| 24 | ; | 
|---|
| 25 | ; | 
|---|
| 26 | TRANSERR(ERROR)    ;  error during transmitting mail message | 
|---|
| 27 | S DA=0 F  S DA=$O(^TMP($J,"GECSSTTR","LIST",SEQUENCE,DA)) Q:'DA  D ERROR^GECSSTTR(DA,ERROR) | 
|---|
| 28 | Q | 
|---|
| 29 | ; | 
|---|
| 30 | ; | 
|---|
| 31 | RECUSER(DA,GROUP)  ;  build receiving user array for batch (2101.1) | 
|---|
| 32 | ;  group = 1 to include G.batch mail group | 
|---|
| 33 | ;  receiving user array returned in GECSXMY | 
|---|
| 34 | K GECSXMY | 
|---|
| 35 | N %,D,DOMAIN,SYSID | 
|---|
| 36 | I '$D(^GECS(2101.1,+DA)) Q | 
|---|
| 37 | S %=0 F  S %=$O(^GECS(2101.1,DA,2,%)) Q:'%  S D=$G(^(%,0)) I $P(D,"^",3)=1 D | 
|---|
| 38 | .   S DOMAIN=$P($G(^DIC(4.2,+$P(D,"^",2),0)),"^") I DOMAIN'="" S DOMAIN="@"_DOMAIN | 
|---|
| 39 | .   S GECSXMY($P(D,"^")_DOMAIN)="" | 
|---|
| 40 | ; | 
|---|
| 41 | ; get user in mail group | 
|---|
| 42 | I GROUP S SYSID=$P($G(^GECS(2101.1,DA,0)),"^",4) I $L(SYSID) S GECSXMY("G."_SYSID)="" | 
|---|
| 43 | Q | 
|---|