| 1 | OCXOCMPR ;SLC/RJS,CLA - ORDER CHECK CODE COMPILER (Function Library Report and code edit) ;10/29/98  12:37 | 
|---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32**;Dec 17,1997 | 
|---|
| 3 | ;;  ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998 | 
|---|
| 4 | ; | 
|---|
| 5 | EN ; | 
|---|
| 6 | ; | 
|---|
| 7 | N CODE,D0,D1,IOP,LINLAB,NODE0 | 
|---|
| 8 | ; | 
|---|
| 9 | D ^%ZIS Q:POP | 
|---|
| 10 | ; | 
|---|
| 11 | U IO S D0=0 F  S D0=$O(^OCXS(860.8,D0)) Q:'D0  D | 
|---|
| 12 | .S NODE0=$G(^OCXS(860.8,D0,0)) Q:'$L(NODE0) | 
|---|
| 13 | .S LINLAB=$P(NODE0,U,2) Q:'$L(LINLAB) | 
|---|
| 14 | .W !!,$P(NODE0,U,1) | 
|---|
| 15 | .S LINLAB=LINLAB_"(",D1=0 F  S D1=$O(^OCXS(860.8,D0,"CODE",D1)) Q:'D1  I (^(D1,0)[LINLAB) S CODE=$P($P(^(0),";",2)," ",1) Q | 
|---|
| 16 | .W !,?5,CODE | 
|---|
| 17 | ; | 
|---|
| 18 | U IO W $C(12) D ^%ZISC | 
|---|
| 19 | ; | 
|---|
| 20 | Q | 
|---|
| 21 | ; | 
|---|
| 22 | DT(X,%DT) N Y D ^%DT Q +Y | 
|---|
| 23 | ; | 
|---|
| 24 | REPORT ; | 
|---|
| 25 | ; | 
|---|
| 26 | N FNAM S FNAM="" F  S FNAM=$O(^OCXS(860.8,"C",FNAM)) Q:'$L(FNAM)  D | 
|---|
| 27 | .N D0 | 
|---|
| 28 | .S D0=0 F  S D0=$O(^OCXS(860.8,"C",FNAM,D0)) Q:'D0  D | 
|---|
| 29 | ..N D1,OCXCALL,OCXHDR,OCXLAB,OCXREC M OCXREC=^OCXS(860.8,D0) | 
|---|
| 30 | ..S OCXLAB=$P(OCXREC(0),U,2),OCXHDR="" | 
|---|
| 31 | ..S D1=0 F  S D1=$O(OCXREC("CODE",D1)) Q:'D1  D | 
|---|
| 32 | ...N OCXPC,OCXLINE S OCXLINE=OCXREC("CODE",D1,0) | 
|---|
| 33 | ...I (OCXLINE[(";"_OCXLAB_"(")) S OCXHDR=$P($P(OCXLINE,";",2),")",1)_")" | 
|---|
| 34 | ...I (OCXLINE["$$") F OCXPC=2:1:$L(OCXLINE,"$$") D | 
|---|
| 35 | ....N OCXFUNC,OCXPIEC | 
|---|
| 36 | ....S OCXPIEC=$P($P(OCXLINE,"$$",OCXPC),")",1)_")",OCXFUNC=$P(OCXPIEC,"(",1) | 
|---|
| 37 | ....S OCXCALL((OCXFUNC[U)+1,OCXFUNC)=OCXPIEC | 
|---|
| 38 | ..; | 
|---|
| 39 | ..W !!,OCXHDR," ;",D0,"; ",$P(OCXREC(0),U,1) | 
|---|
| 40 | ..S D1=0 F  S D1=$O(OCXCALL(D1)) Q:'D1  D | 
|---|
| 41 | ...N D2 S D2="" F  S D2=$O(OCXCALL(D1,D2)) Q:'$L(D2)  D | 
|---|
| 42 | ....N OCXFUNC S OCXFUNC=OCXCALL(D1,D2) | 
|---|
| 43 | ....I '(D2[U) W !,?8,"Internal Call --> ",D2 | 
|---|
| 44 | ....E  W !,?5,"External Call --> ",OCXFUNC | 
|---|
| 45 | Q | 
|---|
| 46 | ; | 
|---|
| 47 | SCAN ; | 
|---|
| 48 | ; | 
|---|
| 49 | N OCXVAL,GLREF,COUNT,ANS | 
|---|
| 50 | W !!,"Enter value to scan for: " R OCXVAL:DTIME E  Q | 
|---|
| 51 | S GLREF="^OCX" F COUNT=1:1  S GLREF=$Q(@GLREF) Q:'$L(GLREF)  D | 
|---|
| 52 | .W:($X>70) ! W:'(COUNT#20) "." | 
|---|
| 53 | .I (@GLREF[OCXVAL) W !!,GLREF," = ",@GLREF,"    press <CR> to continue... " R ANS:DTIME W ! | 
|---|
| 54 | Q | 
|---|
| 55 | ; | 
|---|
| 56 | ERROR ; | 
|---|
| 57 | Q | 
|---|
| 58 | ; | 
|---|