Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: OCXSEND3

OCXSEND3.m

Go to the documentation of this file.
  1. OCXSEND3 ;SLC/RJS,CLA - BUILD RULE TRANSPORTER ROUTINES (Build Routines) ;1/31/01 08:51
  1. ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32,74,96,105,243**;Dec 17,1997;Build 242
  1. ;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
  1. ;
  1. EN() ;
  1. ;
  1. N LAST,RLINE,RNUM,RTEXT,TOTLINE
  1. K ^TMP("OCXSEND",$J,"RTN") S ^TMP("OCXSEND",$J,"RTN",100,0)=" ;"
  1. S (TOTLINE,RSIZE,RLINE,RCNT)=0,RNUM=1 F S RLINE=$O(^TMP("OCXSEND",$J,"DATA",RLINE)) Q:'RLINE D
  1. .S RTEXT=$G(^TMP("OCXSEND",$J,"DATA",RLINE)) Q:'$L(RTEXT)
  1. .S LAST=$O(^TMP("OCXSEND",$J,"RTN",""),-1)+1,RCNT=RCNT+1,RSIZE=RSIZE+$L(RTEXT)
  1. .S ^TMP("OCXSEND",$J,"RTN",LAST,0)=" ;;"_RTEXT
  1. .I (RSIZE>6000) S TOTLINE=TOTLINE+$$RFILE($O(^TMP("OCXSEND",$J,"DATA",RLINE)),.RNUM) S (RSIZE,RCNT)=0
  1. I $O(^TMP("OCXSEND",$J,"RTN",100)) S TOTLINE=TOTLINE+$$RFILE(0,.RNUM)
  1. ;
  1. Q TOTLINE
  1. ;
  1. RFILE(LINK,RNUM) ;
  1. ;
  1. N DIE,LAST,X,XCN
  1. D HDR(LINK,RNUM)
  1. S LAST=$O(^TMP("OCXSEND",$J,"RTN",""),-1)+1
  1. S ^TMP("OCXSEND",$J,"RTN",LAST,0)=" ;1;"
  1. S ^TMP("OCXSEND",$J,"RTN",LAST+1,0)=" ;"
  1. S ^TMP("OCXSEND",$J,"RTN",LAST+2,0)="$"
  1. S DIE="^TMP(""OCXSEND"","_$J_",""RTN"",",XCN=0
  1. S X=$$RNAME(RNUM,2)
  1. W !,X
  1. X ^%ZOSF("SAVE")
  1. S RNUM=RNUM+1
  1. K ^TMP("OCXSEND",$J,"RTN") S ^TMP("OCXSEND",$J,"RTN",100,0)=" ;"
  1. Q ""
  1. ;
  1. NOW() ;
  1. N X,Y,%DT
  1. S X="N",%DT="T" D ^%DT S Y=$$DATE^OCXSENDD(Y)
  1. I (Y["@") S Y=$P(Y,"@",1)_" at "_$P(Y,"@",2)
  1. Q Y
  1. ;
  1. HDR(LINK,RNUM) ;
  1. ;
  1. N R,LINE,TEXT,RNAME,RLINK,NOW
  1. S NOW=$$NOW
  1. I 'LINK S RLINK=";"
  1. E S RLINK="G ^"_$$RNAME(RNUM+1,2)
  1. S RNAME=$$RNAME(RNUM,2),(HEADER1,HEADER2,HEADER3,HEADER4,HEADER5)=";"
  1. ;
  1. 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)
  1. ;
  1. M ^TMP("OCXSEND",$J,"RTN")=R
  1. ;
  1. Q
  1. ;
  1. HEX(X) Q:'X "" Q $$HEX(X\36)_$E("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",((X#36)+1))
  1. ;
  1. RNAME(X,Y) ;
  1. ; Y=0 -> Main Routine
  1. ; Y=1 -> Runtime Library Routine
  1. ; Y=2 -> Data Routine for ORYppp
  1. ; Y=3 -> Data Routine for OCXRU
  1. ;
  1. N OCXRN1,OCXRN2,OCXSEQ
  1. ;
  1. S OCXRN1="OCXRULE",OCXRN2="OCXRU"
  1. S:$L($G(OCXPATCH)) OCXRN2="ORY"_$E((1000+$P(OCXPATCH,"*",3)),2,4),OCXRN1=OCXRN2_"ES"
  1. ;
  1. Q:'Y OCXRN1
  1. ;
  1. I (Y=1),(X>35) Q ""
  1. I (Y=2),'$L($G(OCXPATCH)) S Y=3
  1. I (Y=2),(X>1295) Q ""
  1. I (Y=3),(X>46655) Q ""
  1. ;
  1. S OCXSEQ=0 S:X OCXSEQ=$$HEX(X)
  1. S OCXSEQ="00000"_OCXSEQ
  1. S OCXSEQ=$E(OCXSEQ,($L(OCXSEQ)-Y+1),$L(OCXSEQ))
  1. ;
  1. Q OCXRN2_OCXSEQ
  1. ;
  1. CONV(X) ;
  1. N VAL
  1. F Q:'(X["|") D
  1. .S VAL=$P(X,"|",2)
  1. .X "S VAL="_VAL
  1. .S X=$P(X,"|",1)_VAL_$P(X,"|",3,999)
  1. I '(X="$"),'$L($P(X," ",2)) S X=X_" ;"
  1. Q X
  1. ;
  1. TEXT ;
  1. ;;|RNAME| ;SLC/RJS,CLA - OCX PACKAGE RULE TRANSPORT ROUTINE |OCXPATCH| ;|NOW|
  1. ;;|OCXLIN2|
  1. ;;|OCXLIN3|
  1. ;; ;
  1. ;;S ;
  1. ;; ;
  1. ;; D DOT^|$$RNAME^OCXSEND3(0,0)|
  1. ;; ;
  1. ;; ;
  1. ;; K REMOTE,LOCAL,OPCODE,REF
  1. ;; F LINE=1:1:500 S TEXT=$P($T(DATA+LINE),";",2,999) Q:TEXT I $L(TEXT) D Q:QUIT
  1. ;; .S ^TMP("OCXRULE",$J,$O(^TMP("OCXRULE",$J,"A"),-1)+1)=TEXT
  1. ;; ;
  1. ;; |RLINK|
  1. ;; ;
  1. ;; Q
  1. ;; ;
  1. ;;DATA ;
  1. ;1;
  1. ;