| 1 | OCXOCMPU ;SLC/RJS,CLA - ORDER CHECK CODE COMPILER (Build Local Term Translator) ;2/02/99  11:33 | 
|---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32**;Dec 17,1997 | 
|---|
| 3 | ;;  ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998 | 
|---|
| 4 | ; | 
|---|
| 5 | Q | 
|---|
| 6 | ; | 
|---|
| 7 | TERMLKUP ; | 
|---|
| 8 | ; | 
|---|
| 9 | N OCXSR,OCXD0,OCXD1,OCXNAME,TEXT,OCXREC,OCXFILE | 
|---|
| 10 | ; | 
|---|
| 11 | S OCXSR="" | 
|---|
| 12 | D INCLUDE("TERMLKUP(OCXTERM,OCXLIST) ;") | 
|---|
| 13 | ; | 
|---|
| 14 | I OCXTRACE D | 
|---|
| 15 | .D INCLUDE(" W:$G(OCXTRACE) !,||LNTAG||,?27,""Compiler Function TERMLKUP(OCXTERM,OCXLIST) Execution trace. """) | 
|---|
| 16 | .D INCLUDE(" W:$G(OCXTRACE) !,?35,"" OCXTERM: "",$G(OCXTERM)") | 
|---|
| 17 | .D INCLUDE(" ;") | 
|---|
| 18 | D INCLUDE(" Q $$||LINE:"_$$LINE^OCXOCMP4("TERM","OCXTERM","OCXLIST")_"||(OCXTERM,.OCXLIST)") | 
|---|
| 19 | D INCLUDE(" ;") | 
|---|
| 20 | ; | 
|---|
| 21 | K ^TMP("OCXCMP",$J,"INCLUDE","TERMLKUP") | 
|---|
| 22 | M ^TMP("OCXCMP",$J,"INCLUDE","TERMLKUP")=OCXSR | 
|---|
| 23 | ; | 
|---|
| 24 | Q | 
|---|
| 25 | ; | 
|---|
| 26 | TERM ; | 
|---|
| 27 | ; | 
|---|
| 28 | N OCXSR,OCXD0,OCXD1,OCXNAME,TEXT,OCXREC,OCXFILE | 
|---|
| 29 | ; | 
|---|
| 30 | D IN(" Q:'$L(OCXTERM) 0") | 
|---|
| 31 | D IN(" ;") | 
|---|
| 32 | ; | 
|---|
| 33 | D IN(" N FILE,IEN,LINE,LTERM,NTERM,TEXT S FILE=0 K OCXLIST") | 
|---|
| 34 | D IN(" F LINE=1:1:999 S TEXT=$T(TERM+LINE) Q:$P(TEXT,"";"",2)  I ($E(TEXT,2,3)="";;"") D") | 
|---|
| 35 | D IN(" .S TEXT=$P(TEXT,"";;"",2)") | 
|---|
| 36 | D IN(" .S NTERM=$P(TEXT,U,1) Q:'$L(NTERM)  Q:'(OCXTERM=NTERM)") | 
|---|
| 37 | D IN(" .S FILE=$P(TEXT,U,2),IEN=$P(TEXT,U,3),LTERM=$P(TEXT,U,4)") | 
|---|
| 38 | D IN(" .S OCXLIST(IEN)=LTERM,OCXLIST(""B"",LTERM,IEN)=""""") | 
|---|
| 39 | D IN(" ;") | 
|---|
| 40 | ; | 
|---|
| 41 | I (OCXTRACE) D | 
|---|
| 42 | .D IN(" I $G(OCXTRACE) S IEN=0 F  S IEN=$O(OCXLIST(IEN)) Q:'IEN  D") | 
|---|
| 43 | .D IN(" .W:$G(OCXTRACE) !,?35,"" OCXLIST: "",$J(IEN,7),"" = "",OCXLIST(IEN)") | 
|---|
| 44 | .D IN(" W:$G(OCXTRACE) !,||LNTAG||,?30,""TERM RESULT:  (FILE: "",+$G(FILE),"")     "",$G(COUNT),"" Local term(s) found.""") | 
|---|
| 45 | .D IN(" ;") | 
|---|
| 46 | ; | 
|---|
| 47 | D IN(" Q FILE") | 
|---|
| 48 | D IN(" ;") | 
|---|
| 49 | ; | 
|---|
| 50 | D IN(" ;TERM DATA;") | 
|---|
| 51 | S OCXD0=0 F  S OCXD0=$O(^OCXS(860.9,OCXD0)) Q:'OCXD0  D | 
|---|
| 52 | .K OCXREC M OCXREC=^OCXS(860.9,OCXD0) | 
|---|
| 53 | .S OCXNAME=$P(OCXREC(0),U,1) Q:'$L(OCXNAME) | 
|---|
| 54 | .S OCXFILE=$P(OCXREC(0),U,2) Q:'$L(OCXFILE) | 
|---|
| 55 | .;Q:'$O(OCXREC(1,0)) | 
|---|
| 56 | .S OCXD1=0 F  S OCXD1=$O(OCXREC(1,OCXD1)) Q:'OCXD1  D | 
|---|
| 57 | ..N IEN,NAME | 
|---|
| 58 | ..S NAME=$P($G(OCXREC(1,OCXD1,0)),"^",1) Q:'$L(NAME) | 
|---|
| 59 | ..S IEN=$P($G(OCXREC(1,OCXD1,0)),"^",2) Q:'IEN | 
|---|
| 60 | ..D IN(" ;;"_OCXNAME_U_OCXFILE_U_IEN_U_NAME) | 
|---|
| 61 | D IN(" ;1;") | 
|---|
| 62 | D IN(" ;") | 
|---|
| 63 | ; | 
|---|
| 64 | Q | 
|---|
| 65 | ; | 
|---|
| 66 | IN(CODE) D IN^OCXOCMP4("TERM",CODE,"Y",16000) Q | 
|---|
| 67 | ; | 
|---|
| 68 | INCLUDE(LINE) ; | 
|---|
| 69 | S OCXSR($O(OCXSR(" "),-1)+1,0)=LINE | 
|---|
| 70 | Q | 
|---|
| 71 | ; | 
|---|