| 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 |  ;
 | 
|---|