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
|
---|