[623] | 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 | ;
|
---|