OCXBDT ;SLC/RJS,CLA - BUILD OCX PACKAGE DIAGNOSTIC ROUTINES ;8/04/98  13:21
 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32**;Dec 17,1997
 ;;  ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
 ;
S ;
 N X,IOP,TOTL S TOTL=0
 I '$D(IOM) S IOP=0 D ^%ZIS K IOP
 K ^TMP("OCXBDT",$J),^UTILITY($J),OCXPATH
 S ^TMP("OCXBDT",$J)=($P($H,",",2)+($H*86400)+(4*60*60))_" <- ^TMP ENTRY EXPIRATION DATE FOR ^OCXOPURG"
 S OCXLIN2=$T(+2)
 S OCXLIN3=$T(+3)
 ;
 D ^OCXBDT1 ; Get Routine Checksums
 ;
 D ^OCXBDT2 ; Get File Data
 ;
 S TOTL=$$EN^OCXBDT3 ; File Routines
 ;
 S TOTL=TOTL+$$EN^OCXBDTA ; File Runtime Library Routine OCXDIAG
 ;
 S TOTL=TOTL+$$EN^OCXBDT4 ; File Runtime Library Routine OCXDI0
 ;
 S TOTL=TOTL+$$EN^OCXBDT5 ; File Runtime Library Routine OCXDI1
 ;
 S TOTL=TOTL+$$EN^OCXBDT6 ; File Runtime Library Routine OCXDI2
 ;
 S TOTL=TOTL+$$EN^OCXBDT7 ; File Runtime Library Routine OCXDI3
 ;
 S TOTL=TOTL+$$EN^OCXBDT8 ; File Runtime Library Routine OCXDI4
 ;
 S TOTL=TOTL+$$EN^OCXBDT9 ; File Runtime Library Routine OCXDI5
 ;
EXIT K ^TMP("OCXBDT",$J),^UTILITY($J)
 ;
 W !!,TOTL,"  total lines of code filed.",!!
 ;
 Q
 ;
READ(OCX0,OCXA,OCXB,OCXL) ;
 N X,DIR,DTOUT,DUOUT,DIRUT,DIROUT
 Q:'$L($G(OCX0)) U
 S DIR(0)=OCX0
 S:$L($G(OCXA)) DIR("A")=OCXA
 S:$L($G(OCXB)) DIR("B")=OCXB
 F X=1:1:($G(OCXL)-1) W !
 D ^DIR
 I $D(DTOUT)!$D(DUOUT)!$D(DIRUT)!$D(DIROUT) Q U
 Q Y
 ;
CUCI() Q:'$D(^%ZOSF("UCI")) "" N Y X ^%ZOSF("UCI") Q Y
 ;
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HOCXBDT   1471     printed  Sep 23, 2025@19:58:37                                                                                                                                                                                                      Page 2
OCXBDT    ;SLC/RJS,CLA - BUILD OCX PACKAGE DIAGNOSTIC ROUTINES ;8/04/98  13:21
 +1       ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32**;Dec 17,1997
 +2       ;;  ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
 +3       ;
S         ;
 +1        NEW X,IOP,TOTL
           SET TOTL=0
 +2        IF '$DATA(IOM)
               SET IOP=0
               DO ^%ZIS
               KILL IOP
 +3        KILL ^TMP("OCXBDT",$JOB),^UTILITY($JOB),OCXPATH
 +4        SET ^TMP("OCXBDT",$JOB)=($PIECE($HOROLOG,",",2)+($HOROLOG*86400)+(4*60*60))_" <- ^TMP ENTRY EXPIRATION DATE FOR ^OCXOPURG"
 +5        SET OCXLIN2=$TEXT(+2)
 +6        SET OCXLIN3=$TEXT(+3)
 +7       ;
 +8       ; Get Routine Checksums
           DO ^OCXBDT1
 +9       ;
 +10      ; Get File Data
           DO ^OCXBDT2
 +11      ;
 +12      ; File Routines
           SET TOTL=$$EN^OCXBDT3
 +13      ;
 +14      ; File Runtime Library Routine OCXDIAG
           SET TOTL=TOTL+$$EN^OCXBDTA
 +15      ;
 +16      ; File Runtime Library Routine OCXDI0
           SET TOTL=TOTL+$$EN^OCXBDT4
 +17      ;
 +18      ; File Runtime Library Routine OCXDI1
           SET TOTL=TOTL+$$EN^OCXBDT5
 +19      ;
 +20      ; File Runtime Library Routine OCXDI2
           SET TOTL=TOTL+$$EN^OCXBDT6
 +21      ;
 +22      ; File Runtime Library Routine OCXDI3
           SET TOTL=TOTL+$$EN^OCXBDT7
 +23      ;
 +24      ; File Runtime Library Routine OCXDI4
           SET TOTL=TOTL+$$EN^OCXBDT8
 +25      ;
 +26      ; File Runtime Library Routine OCXDI5
           SET TOTL=TOTL+$$EN^OCXBDT9
 +27      ;
EXIT       KILL ^TMP("OCXBDT",$JOB),^UTILITY($JOB)
 +1       ;
 +2        WRITE !!,TOTL,"  total lines of code filed.",!!
 +3       ;
 +4        QUIT 
 +5       ;
READ(OCX0,OCXA,OCXB,OCXL) ;
 +1        NEW X,DIR,DTOUT,DUOUT,DIRUT,DIROUT
 +2        if '$LENGTH($GET(OCX0))
               QUIT U
 +3        SET DIR(0)=OCX0
 +4        if $LENGTH($GET(OCXA))
               SET DIR("A")=OCXA
 +5        if $LENGTH($GET(OCXB))
               SET DIR("B")=OCXB
 +6        FOR X=1:1:($GET(OCXL)-1)
               WRITE !
 +7        DO ^DIR
 +8        IF $DATA(DTOUT)!$DATA(DUOUT)!$DATA(DIRUT)!$DATA(DIROUT)
               QUIT U
 +9        QUIT Y
 +10      ;
CUCI()     if '$DATA(^%ZOSF("UCI"))
               QUIT ""
           NEW Y
           XECUTE ^%ZOSF("UCI")
           QUIT Y
 +1       ;