1 | OCXSEND3 ;SLC/RJS,CLA - BUILD RULE TRANSPORTER ROUTINES (Build Routines) ;1/31/01 08:51
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32,74,96,105**;Dec 17,1997
|
---|
3 | ;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
|
---|
4 | ;
|
---|
5 | EN() ;
|
---|
6 | ;
|
---|
7 | N LAST,RLINE,RNUM,RTEXT,TOTLINE
|
---|
8 | K ^TMP("OCXSEND",$J,"RTN") S ^TMP("OCXSEND",$J,"RTN",100,0)=" ;"
|
---|
9 | S (TOTLINE,RSIZE,RLINE,RCNT)=0,RNUM=1 F S RLINE=$O(^TMP("OCXSEND",$J,"DATA",RLINE)) Q:'RLINE D
|
---|
10 | .S RTEXT=$G(^TMP("OCXSEND",$J,"DATA",RLINE)) Q:'$L(RTEXT)
|
---|
11 | .S LAST=$O(^TMP("OCXSEND",$J,"RTN",""),-1)+1,RCNT=RCNT+1,RSIZE=RSIZE+$L(RTEXT)
|
---|
12 | .S ^TMP("OCXSEND",$J,"RTN",LAST,0)=" ;;"_RTEXT
|
---|
13 | .I (RSIZE>6000) S TOTLINE=TOTLINE+$$RFILE($O(^TMP("OCXSEND",$J,"DATA",RLINE)),.RNUM) S (RSIZE,RCNT)=0
|
---|
14 | I $O(^TMP("OCXSEND",$J,"RTN",100)) S TOTLINE=TOTLINE+$$RFILE(0,.RNUM)
|
---|
15 | ;
|
---|
16 | Q TOTLINE
|
---|
17 | ;
|
---|
18 | RFILE(LINK,RNUM) ;
|
---|
19 | ;
|
---|
20 | N DIE,LAST,X,XCN,XCM
|
---|
21 | D HDR(LINK,RNUM)
|
---|
22 | S LAST=$O(^TMP("OCXSEND",$J,"RTN",""),-1)+1
|
---|
23 | S ^TMP("OCXSEND",$J,"RTN",LAST,0)=" ;1;"
|
---|
24 | S ^TMP("OCXSEND",$J,"RTN",LAST+1,0)=" ;"
|
---|
25 | S ^TMP("OCXSEND",$J,"RTN",LAST+2,0)="$"
|
---|
26 | S DIE="^TMP(""OCXSEND"","_$J_",""RTN"",",XCN=0
|
---|
27 | S X=$$RNAME(RNUM,2)
|
---|
28 | W !,X
|
---|
29 | X ^%ZOSF("SAVE")
|
---|
30 | W " ... ",XCM," Lines filed"
|
---|
31 | S RNUM=RNUM+1
|
---|
32 | K ^TMP("OCXSEND",$J,"RTN") S ^TMP("OCXSEND",$J,"RTN",100,0)=" ;"
|
---|
33 | Q XCM
|
---|
34 | ;
|
---|
35 | NOW() ;
|
---|
36 | N X,Y,%DT
|
---|
37 | S X="N",%DT="T" D ^%DT S Y=$$DATE^OCXSENDD(Y)
|
---|
38 | I (Y["@") S Y=$P(Y,"@",1)_" at "_$P(Y,"@",2)
|
---|
39 | Q Y
|
---|
40 | ;
|
---|
41 | HDR(LINK,RNUM) ;
|
---|
42 | ;
|
---|
43 | N R,LINE,TEXT,RNAME,RLINK,NOW
|
---|
44 | S NOW=$$NOW
|
---|
45 | I 'LINK S RLINK=";"
|
---|
46 | E S RLINK="G ^"_$$RNAME(RNUM+1,2)
|
---|
47 | S RNAME=$$RNAME(RNUM,2),(HEADER1,HEADER2,HEADER3,HEADER4,HEADER5)=";"
|
---|
48 | ;
|
---|
49 | F LINE=1:1:999 S TEXT=$P($T(TEXT+LINE),";",2,999) Q:TEXT S TEXT=$P(TEXT,";",2,999) S R(LINE,0)=$$CONV(TEXT)
|
---|
50 | ;
|
---|
51 | M ^TMP("OCXSEND",$J,"RTN")=R
|
---|
52 | ;
|
---|
53 | Q
|
---|
54 | ;
|
---|
55 | HEX(X) Q:'X "" Q $$HEX(X\36)_$E("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",((X#36)+1))
|
---|
56 | ;
|
---|
57 | RNAME(X,Y) ;
|
---|
58 | ; Y=0 -> Main Routine
|
---|
59 | ; Y=1 -> Runtime Library Routine
|
---|
60 | ; Y=2 -> Data Routine for ORYppp
|
---|
61 | ; Y=3 -> Data Routine for OCXRU
|
---|
62 | ;
|
---|
63 | N OCXRN1,OCXRN2,OCXSEQ
|
---|
64 | ;
|
---|
65 | S OCXRN1="OCXRULE",OCXRN2="OCXRU"
|
---|
66 | S:$L($G(OCXPATCH)) OCXRN2="ORY"_$E((1000+$P(OCXPATCH,"*",3)),2,4),OCXRN1=OCXRN2_"ES"
|
---|
67 | ;
|
---|
68 | Q:'Y OCXRN1
|
---|
69 | ;
|
---|
70 | I (Y=1),(X>35) Q ""
|
---|
71 | I (Y=2),'$L($G(OCXPATCH)) S Y=3
|
---|
72 | I (Y=2),(X>1295) Q ""
|
---|
73 | I (Y=3),(X>46655) Q ""
|
---|
74 | ;
|
---|
75 | S OCXSEQ=0 S:X OCXSEQ=$$HEX(X)
|
---|
76 | S OCXSEQ="00000"_OCXSEQ
|
---|
77 | S OCXSEQ=$E(OCXSEQ,($L(OCXSEQ)-Y+1),$L(OCXSEQ))
|
---|
78 | ;
|
---|
79 | Q OCXRN2_OCXSEQ
|
---|
80 | ;
|
---|
81 | CONV(X) ;
|
---|
82 | N VAL
|
---|
83 | F Q:'(X["|") D
|
---|
84 | .S VAL=$P(X,"|",2)
|
---|
85 | .X "S VAL="_VAL
|
---|
86 | .S X=$P(X,"|",1)_VAL_$P(X,"|",3,999)
|
---|
87 | I '(X="$"),'$L($P(X," ",2)) S X=X_" ;"
|
---|
88 | Q X
|
---|
89 | ;
|
---|
90 | TEXT ;
|
---|
91 | ;;|RNAME| ;SLC/RJS,CLA - OCX PACKAGE RULE TRANSPORT ROUTINE |OCXPATCH| ;|NOW|
|
---|
92 | ;;|OCXLIN2|
|
---|
93 | ;;|OCXLIN3|
|
---|
94 | ;; ;
|
---|
95 | ;;S ;
|
---|
96 | ;; ;
|
---|
97 | ;; D DOT^|$$RNAME^OCXSEND3(0,0)|
|
---|
98 | ;; ;
|
---|
99 | ;; ;
|
---|
100 | ;; K REMOTE,LOCAL,OPCODE,REF
|
---|
101 | ;; F LINE=1:1:500 S TEXT=$P($T(DATA+LINE),";",2,999) Q:TEXT I $L(TEXT) D Q:QUIT
|
---|
102 | ;; .S ^TMP("OCXRULE",$J,$O(^TMP("OCXRULE",$J,"A"),-1)+1)=TEXT
|
---|
103 | ;; ;
|
---|
104 | ;; |RLINK|
|
---|
105 | ;; ;
|
---|
106 | ;; Q
|
---|
107 | ;; ;
|
---|
108 | ;;DATA ;
|
---|
109 | ;1;
|
---|
110 | ;
|
---|