OCXSENDB ;SLC/RJS,CLA - BUILD RULE TRANSPORTER ROUTINES (Get List of Objects to Transport  continued) ;8/04/98  13:21
 ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32,105,143**;Dec 17,1997
 ;;  ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
 ;
 ;
DIC(OCXDIC,OCXDIC0,OCXDICA,OCXX,OCXDICS,OCXW) ;
 ;
 N DIC,X,Y
 S DIC=$G(OCXDIC) Q:'$L(DIC) -1
 S DIC(0)=$G(OCXDIC0) S:$L($G(OCXX)) X=OCXX
 S:$L($G(OCXDICS)) DIC("S")=OCXDICS
 S:$L($G(OCXDICA)) DIC("A")=OCXDICA
 S:$L($G(OCXW)) DIC("W")=OCXW
 D ^DIC Q:(Y<1) 0 Q Y
 ;
CHECK(FILE,VALUE) ;
 ;
 N IEN,OCXID
 Q:'$L(VALUE)
 I (VALUE[U),VALUE S VALUE=+VALUE
 I (VALUE=+VALUE) S IEN=VALUE
 E  S IEN=+$$DIC(FILE,"XM","",VALUE)
 I 'IEN W !!,$P(^OCXS(FILE,0),U,1)," -1-> ",VALUE,"  [",IEN,"]  ERROR - RECORD NOT FOUND" Q
 I '$D(^OCXS(FILE,IEN)) W !!,$P(^OCXS(FILE,0),U,1)," -2-> ",VALUE," [",IEN,"]  ERROR - RECORD NOT FOUND" Q
 D ADDREC^OCXSEND1(FILE,IEN)
 Q
 ;
8602 ; ORDER CHECK RULE
 ;
 N D0,MSG,PIEC
 ;
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"C",D0)) Q:'D0  D  ; TRUTH ELEMENTS multiple
 .D CHECK(860.3,$P($G(^OCXS(FILE,REC,"C",D0,0)),U,2)) ; ELEMENT NAME
 ;
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"R",D0)) Q:'D0  D  ; RELATION ACTIONS multiple
 .S MSG=$G(^OCXS(FILE,REC,"R",D0,"MSG"))
 .I (MSG["|") F PIEC=2:2:$L(MSG,"|")  D CHECK(860.4,$P(MSG,"|",PIEC))
 .S MSG=$G(^OCXS(FILE,REC,"R",D0,"OCMSG"))
 .I (MSG["|") F PIEC=2:2:$L(MSG,"|")  D CHECK(860.4,$P(MSG,"|",PIEC))
 ;
 Q
 ;
8603 ; ORDER CHECK ELEMENT
 ;
 N D0,OPER,TERM
 ;
 D CHECK(860.6,$P($G(^OCXS(FILE,REC,0)),U,2)) ; ELEMENT CONTEXT
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"COND",D0)) Q:'D0  D  ; CONDITIONAL EXPRESSION multiple
 .D CHECK(860.4,$P($G(^OCXS(FILE,REC,"COND",D0,"DFLD1")),U,1)) ; DATA FIELD 1
 .D CHECK(863.9,$G(^OCXS(FILE,REC,"COND",D0,"OPER"))) ; OPERATOR/FUNCTION
 .D CHECK(860.4,$G(^OCXS(FILE,REC,"COND",D0,"DFLD2"))) ; DATA FIELD 2
 .D CHECK(860.4,$P($G(^OCXS(FILE,REC,"COND",D0,"DFLD3")),U,1)) ; DATA FIELD 3
 .;
 .S OPER=$G(^OCXS(FILE,REC,"COND",D0,"OPER")) Q:'OPER
 .S OPER=$P($G(^OCXS(863.9,+OPER,0)),U,1) Q:'(OPER["TERM")
 .S TERM=$G(^OCXS(FILE,REC,"COND",D0,"VAL1"))
 .D CHECK(860.9,TERM)
 ;
 Q
 ;
8604 ; ORDER CHECK DATA FIELD
 ;
 N D0
 ;
 D CHECK(864.1,$P($G(^OCXS(FILE,REC,0)),U,3)) ; DATATYPE
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"LINK",D0)) Q:'D0  D  ; DATA SOURCES multiple
 .D CHECK(860.6,$P($G(^OCXS(FILE,REC,"LINK",D0,0)),U,1)) ; DATA CONTEXT
 .D CHECK(860.5,$P($G(^OCXS(FILE,REC,"LINK",D0,0)),U,2)) ; DATA SOURCE
 .D CHECK(863.3,$G(^OCXS(FILE,REC,"LINK",D0,"DATAPATH"))) ; LINK
 ;
 Q
 ;
8605 ; ORDER CHECK DATA SOURCE
 ;
 N D0
 ;
 D CHECK(860.6,$P($G(^OCXS(FILE,REC,0)),U,2)) ; CONTEXT
 Q
 ;
8608 ; ORDER CHECK COMPILER FUNCTIONS
 ;
 N D0,TEXT,PIEC,CALL
 ;
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"CODE",D0)) Q:'D0  D  ; CODE multiple
 .S TEXT=$G(^OCXS(FILE,REC,"CODE",D0,0))
 .;
 .I (TEXT["$$") F PIEC=2:1:$L(TEXT,"$$")  D
 ..S CALL=$P($P(TEXT,"$$",PIEC),"(",1) Q:'$L(CALL)  Q:(CALL[U)
 ..D CHECK(860.8,CALL)
 ;
 Q
 ;
863 ; OCX MDD CLASS
 ;
 N D0
 ;
 D CHECK(863,$P($G(^OCXS(FILE,REC,0)),U,3)) ; PARENT CLASS
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0  D  ; PARAMETER multiple
 .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER
 ;
 Q
 ;
8631 ; OCX MDD APPLICATION
 ;
 N D0
 ;
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0  D  ; PARAMETER multiple
 .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER NAME
 ;
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"SUBJ",D0)) Q:'D0  D  ; PRIMARY SUBJECT multiple
 .D CHECK(863.2,$P($G(^OCXS(FILE,REC,"SUBJ",D0,0)),U,1)) ; PRIMARY SUBJECT
 ;
 Q
 ;
8632 ; OCX MDD SUBJECT
 ;
 N D0
 ;
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0  D  ; PARAMETER multiple
 .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER NAME
 ;
 Q
 ;
8633 ; OCX MDD LINK
 ;
 N D0
 ;
 D CHECK(863.2,$P($G(^OCXS(FILE,REC,0)),U,2)) ; PARENT SUBJECT
 D CHECK(863.2,$P($G(^OCXS(FILE,REC,0)),U,3)) ; DESCENDANT SUBJECT
 D CHECK(863.4,$P($G(^OCXS(FILE,REC,0)),U,5)) ; ATTRIBUTE
 ;
 S FCPARM=$O(^OCXS(863.8,"B","OCXO EXTERNAL FUNCTION CALL",0))
 ;
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0  D  ; PARAMETER multiple
 .N PARM,PIEC
 .S PARM=$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1) ; PARAMETER NAME
 .D CHECK(863.8,PARM) ; PARAMETER NAME
 .S PARMV=$G(^OCXS(FILE,REC,"PAR",D0,"VAL")) ; PARAMETER NAME
 .Q:'(PARM=FCPARM)
 .I '($P(PARMV,"(")[U) D CHECK(860.8,$P(PARMV,"(",1))
 .I (PARMV["|") F PIEC=2:2:$L(PARMV,"|")  D CHECK(860.4,$P(PARMV,"|",PIEC))
 ;
 Q
 ;
8634 ; OCX MDD ATTRIBUTE
 ;
 N D0
 ;
 D CHECK(863.4,$P($G(^OCXS(FILE,REC,"MOM")),U,1)) ; PARENT ATTRIBUTE
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0  D  ; PARAMETER multiple
 .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER NAME
 ;
 Q
 ;
8635 ; OCX MDD VALUES
 ;
 N D0
 ;
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0  D  ; PARAMETER multiple
 .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER
 ;
 Q
 ;
8636 ; OCX MDD METHOD
 ;
 N D0
 ;
 D CHECK(863,$P($G(^OCXS(FILE,REC,0)),U,3)) ; CLASS FILE
 ;
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0  D  ; PARAMETER multiple
 .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER NAME
 ;
 Q
 ;
8637 ; OCX MDD PUBLIC FUNCTION
 ;
 N D0
 ;
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0  D  ; PARAMETER multiple
 .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETERS
 ;
 Q
 ;
8638 ; OCX MDD PARAMETER
 ;
 N D0
 ;
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0  D  ; PARAMETER ATTRIBUTE multiple
 .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER
 ;
 Q
 ;
8639 ; OCX MDD CONDITION/FUNCTION
 ;
 N D0
 ;
 D CHECK(864.1,$P($G(^OCXS(FILE,REC,0)),U,2)) ; DATATYPE
 D CHECK(863.7,$P($G(^OCXS(FILE,REC,0)),U,3)) ; CODE GENERATOR FUNCTION
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0  D  ; PARAMETER multiple
 .S PARM=$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)
 .S PARMV=$G(^OCXS(FILE,REC,"PAR",D0,"VAL"))
 .D CHECK(863.8,PARM) ; PARAMETER
 .I (PARM="OCXO GENERATE CODE FUNCTION") D CHECK(863.7,PARMV)
 ;
 Q
 ;
8641 ; OCX MDD DATATYPE
 ;
 N D0
 ;
 D CHECK(864.1,$P($G(^OCXS(FILE,REC,"MOM")),U,1)) ; PARENT DATA TYPE
 S D0=0 F  S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0  D  ; PARAMETER multiple
 .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER NAME
 ;
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HOCXSENDB   6449     printed  Sep 23, 2025@20:02:51                                                                                                                                                                                                    Page 2
OCXSENDB  ;SLC/RJS,CLA - BUILD RULE TRANSPORTER ROUTINES (Get List of Objects to Transport  continued) ;8/04/98  13:21
 +1       ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32,105,143**;Dec 17,1997
 +2       ;;  ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
 +3       ;
 +4       ;
DIC(OCXDIC,OCXDIC0,OCXDICA,OCXX,OCXDICS,OCXW) ;
 +1       ;
 +2        NEW DIC,X,Y
 +3        SET DIC=$GET(OCXDIC)
           if '$LENGTH(DIC)
               QUIT -1
 +4        SET DIC(0)=$GET(OCXDIC0)
           if $LENGTH($GET(OCXX))
               SET X=OCXX
 +5        if $LENGTH($GET(OCXDICS))
               SET DIC("S")=OCXDICS
 +6        if $LENGTH($GET(OCXDICA))
               SET DIC("A")=OCXDICA
 +7        if $LENGTH($GET(OCXW))
               SET DIC("W")=OCXW
 +8        DO ^DIC
           if (Y<1)
               QUIT 0
           QUIT Y
 +9       ;
CHECK(FILE,VALUE) ;
 +1       ;
 +2        NEW IEN,OCXID
 +3        if '$LENGTH(VALUE)
               QUIT 
 +4        IF (VALUE[U)
               IF VALUE
                   SET VALUE=+VALUE
 +5        IF (VALUE=+VALUE)
               SET IEN=VALUE
 +6       IF '$TEST
               SET IEN=+$$DIC(FILE,"XM","",VALUE)
 +7        IF 'IEN
               WRITE !!,$PIECE(^OCXS(FILE,0),U,1)," -1-> ",VALUE,"  [",IEN,"]  ERROR - RECORD NOT FOUND"
               QUIT 
 +8        IF '$DATA(^OCXS(FILE,IEN))
               WRITE !!,$PIECE(^OCXS(FILE,0),U,1)," -2-> ",VALUE," [",IEN,"]  ERROR - RECORD NOT FOUND"
               QUIT 
 +9        DO ADDREC^OCXSEND1(FILE,IEN)
 +10       QUIT 
 +11      ;
8602      ; ORDER CHECK RULE
 +1       ;
 +2        NEW D0,MSG,PIEC
 +3       ;
 +4       ; TRUTH ELEMENTS multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"C",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +5       ; ELEMENT NAME
                   DO CHECK(860.3,$PIECE($GET(^OCXS(FILE,REC,"C",D0,0)),U,2))
               End DoDot:1
 +6       ;
 +7       ; RELATION ACTIONS multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"R",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +8                SET MSG=$GET(^OCXS(FILE,REC,"R",D0,"MSG"))
 +9                IF (MSG["|")
                       FOR PIEC=2:2:$LENGTH(MSG,"|")
                           DO CHECK(860.4,$PIECE(MSG,"|",PIEC))
 +10               SET MSG=$GET(^OCXS(FILE,REC,"R",D0,"OCMSG"))
 +11               IF (MSG["|")
                       FOR PIEC=2:2:$LENGTH(MSG,"|")
                           DO CHECK(860.4,$PIECE(MSG,"|",PIEC))
               End DoDot:1
 +12      ;
 +13       QUIT 
 +14      ;
8603      ; ORDER CHECK ELEMENT
 +1       ;
 +2        NEW D0,OPER,TERM
 +3       ;
 +4       ; ELEMENT CONTEXT
           DO CHECK(860.6,$PIECE($GET(^OCXS(FILE,REC,0)),U,2))
 +5       ; CONDITIONAL EXPRESSION multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"COND",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +6       ; DATA FIELD 1
                   DO CHECK(860.4,$PIECE($GET(^OCXS(FILE,REC,"COND",D0,"DFLD1")),U,1))
 +7       ; OPERATOR/FUNCTION
                   DO CHECK(863.9,$GET(^OCXS(FILE,REC,"COND",D0,"OPER")))
 +8       ; DATA FIELD 2
                   DO CHECK(860.4,$GET(^OCXS(FILE,REC,"COND",D0,"DFLD2")))
 +9       ; DATA FIELD 3
                   DO CHECK(860.4,$PIECE($GET(^OCXS(FILE,REC,"COND",D0,"DFLD3")),U,1))
 +10      ;
 +11               SET OPER=$GET(^OCXS(FILE,REC,"COND",D0,"OPER"))
                   if 'OPER
                       QUIT 
 +12               SET OPER=$PIECE($GET(^OCXS(863.9,+OPER,0)),U,1)
                   if '(OPER["TERM")
                       QUIT 
 +13               SET TERM=$GET(^OCXS(FILE,REC,"COND",D0,"VAL1"))
 +14               DO CHECK(860.9,TERM)
               End DoDot:1
 +15      ;
 +16       QUIT 
 +17      ;
8604      ; ORDER CHECK DATA FIELD
 +1       ;
 +2        NEW D0
 +3       ;
 +4       ; DATATYPE
           DO CHECK(864.1,$PIECE($GET(^OCXS(FILE,REC,0)),U,3))
 +5       ; DATA SOURCES multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"LINK",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +6       ; DATA CONTEXT
                   DO CHECK(860.6,$PIECE($GET(^OCXS(FILE,REC,"LINK",D0,0)),U,1))
 +7       ; DATA SOURCE
                   DO CHECK(860.5,$PIECE($GET(^OCXS(FILE,REC,"LINK",D0,0)),U,2))
 +8       ; LINK
                   DO CHECK(863.3,$GET(^OCXS(FILE,REC,"LINK",D0,"DATAPATH")))
               End DoDot:1
 +9       ;
 +10       QUIT 
 +11      ;
8605      ; ORDER CHECK DATA SOURCE
 +1       ;
 +2        NEW D0
 +3       ;
 +4       ; CONTEXT
           DO CHECK(860.6,$PIECE($GET(^OCXS(FILE,REC,0)),U,2))
 +5        QUIT 
 +6       ;
8608      ; ORDER CHECK COMPILER FUNCTIONS
 +1       ;
 +2        NEW D0,TEXT,PIEC,CALL
 +3       ;
 +4       ; CODE multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"CODE",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +5                SET TEXT=$GET(^OCXS(FILE,REC,"CODE",D0,0))
 +6       ;
 +7                IF (TEXT["$$")
                       FOR PIEC=2:1:$LENGTH(TEXT,"$$")
                           Begin DoDot:2
 +8                            SET CALL=$PIECE($PIECE(TEXT,"$$",PIEC),"(",1)
                               if '$LENGTH(CALL)
                                   QUIT 
                               if (CALL[U)
                                   QUIT 
 +9                            DO CHECK(860.8,CALL)
                           End DoDot:2
               End DoDot:1
 +10      ;
 +11       QUIT 
 +12      ;
863       ; OCX MDD CLASS
 +1       ;
 +2        NEW D0
 +3       ;
 +4       ; PARENT CLASS
           DO CHECK(863,$PIECE($GET(^OCXS(FILE,REC,0)),U,3))
 +5       ; PARAMETER multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"PAR",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +6       ; PARAMETER
                   DO CHECK(863.8,$PIECE($GET(^OCXS(FILE,REC,"PAR",D0,0)),U,1))
               End DoDot:1
 +7       ;
 +8        QUIT 
 +9       ;
8631      ; OCX MDD APPLICATION
 +1       ;
 +2        NEW D0
 +3       ;
 +4       ; PARAMETER multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"PAR",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +5       ; PARAMETER NAME
                   DO CHECK(863.8,$PIECE($GET(^OCXS(FILE,REC,"PAR",D0,0)),U,1))
               End DoDot:1
 +6       ;
 +7       ; PRIMARY SUBJECT multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"SUBJ",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +8       ; PRIMARY SUBJECT
                   DO CHECK(863.2,$PIECE($GET(^OCXS(FILE,REC,"SUBJ",D0,0)),U,1))
               End DoDot:1
 +9       ;
 +10       QUIT 
 +11      ;
8632      ; OCX MDD SUBJECT
 +1       ;
 +2        NEW D0
 +3       ;
 +4       ; PARAMETER multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"PAR",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +5       ; PARAMETER NAME
                   DO CHECK(863.8,$PIECE($GET(^OCXS(FILE,REC,"PAR",D0,0)),U,1))
               End DoDot:1
 +6       ;
 +7        QUIT 
 +8       ;
8633      ; OCX MDD LINK
 +1       ;
 +2        NEW D0
 +3       ;
 +4       ; PARENT SUBJECT
           DO CHECK(863.2,$PIECE($GET(^OCXS(FILE,REC,0)),U,2))
 +5       ; DESCENDANT SUBJECT
           DO CHECK(863.2,$PIECE($GET(^OCXS(FILE,REC,0)),U,3))
 +6       ; ATTRIBUTE
           DO CHECK(863.4,$PIECE($GET(^OCXS(FILE,REC,0)),U,5))
 +7       ;
 +8        SET FCPARM=$ORDER(^OCXS(863.8,"B","OCXO EXTERNAL FUNCTION CALL",0))
 +9       ;
 +10      ; PARAMETER multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"PAR",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +11               NEW PARM,PIEC
 +12      ; PARAMETER NAME
                   SET PARM=$PIECE($GET(^OCXS(FILE,REC,"PAR",D0,0)),U,1)
 +13      ; PARAMETER NAME
                   DO CHECK(863.8,PARM)
 +14      ; PARAMETER NAME
                   SET PARMV=$GET(^OCXS(FILE,REC,"PAR",D0,"VAL"))
 +15               if '(PARM=FCPARM)
                       QUIT 
 +16               IF '($PIECE(PARMV,"(")[U)
                       DO CHECK(860.8,$PIECE(PARMV,"(",1))
 +17               IF (PARMV["|")
                       FOR PIEC=2:2:$LENGTH(PARMV,"|")
                           DO CHECK(860.4,$PIECE(PARMV,"|",PIEC))
               End DoDot:1
 +18      ;
 +19       QUIT 
 +20      ;
8634      ; OCX MDD ATTRIBUTE
 +1       ;
 +2        NEW D0
 +3       ;
 +4       ; PARENT ATTRIBUTE
           DO CHECK(863.4,$PIECE($GET(^OCXS(FILE,REC,"MOM")),U,1))
 +5       ; PARAMETER multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"PAR",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +6       ; PARAMETER NAME
                   DO CHECK(863.8,$PIECE($GET(^OCXS(FILE,REC,"PAR",D0,0)),U,1))
               End DoDot:1
 +7       ;
 +8        QUIT 
 +9       ;
8635      ; OCX MDD VALUES
 +1       ;
 +2        NEW D0
 +3       ;
 +4       ; PARAMETER multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"PAR",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +5       ; PARAMETER
                   DO CHECK(863.8,$PIECE($GET(^OCXS(FILE,REC,"PAR",D0,0)),U,1))
               End DoDot:1
 +6       ;
 +7        QUIT 
 +8       ;
8636      ; OCX MDD METHOD
 +1       ;
 +2        NEW D0
 +3       ;
 +4       ; CLASS FILE
           DO CHECK(863,$PIECE($GET(^OCXS(FILE,REC,0)),U,3))
 +5       ;
 +6       ; PARAMETER multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"PAR",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +7       ; PARAMETER NAME
                   DO CHECK(863.8,$PIECE($GET(^OCXS(FILE,REC,"PAR",D0,0)),U,1))
               End DoDot:1
 +8       ;
 +9        QUIT 
 +10      ;
8637      ; OCX MDD PUBLIC FUNCTION
 +1       ;
 +2        NEW D0
 +3       ;
 +4       ; PARAMETER multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"PAR",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +5       ; PARAMETERS
                   DO CHECK(863.8,$PIECE($GET(^OCXS(FILE,REC,"PAR",D0,0)),U,1))
               End DoDot:1
 +6       ;
 +7        QUIT 
 +8       ;
8638      ; OCX MDD PARAMETER
 +1       ;
 +2        NEW D0
 +3       ;
 +4       ; PARAMETER ATTRIBUTE multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"PAR",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +5       ; PARAMETER
                   DO CHECK(863.8,$PIECE($GET(^OCXS(FILE,REC,"PAR",D0,0)),U,1))
               End DoDot:1
 +6       ;
 +7        QUIT 
 +8       ;
8639      ; OCX MDD CONDITION/FUNCTION
 +1       ;
 +2        NEW D0
 +3       ;
 +4       ; DATATYPE
           DO CHECK(864.1,$PIECE($GET(^OCXS(FILE,REC,0)),U,2))
 +5       ; CODE GENERATOR FUNCTION
           DO CHECK(863.7,$PIECE($GET(^OCXS(FILE,REC,0)),U,3))
 +6       ; PARAMETER multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"PAR",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +7                SET PARM=$PIECE($GET(^OCXS(FILE,REC,"PAR",D0,0)),U,1)
 +8                SET PARMV=$GET(^OCXS(FILE,REC,"PAR",D0,"VAL"))
 +9       ; PARAMETER
                   DO CHECK(863.8,PARM)
 +10               IF (PARM="OCXO GENERATE CODE FUNCTION")
                       DO CHECK(863.7,PARMV)
               End DoDot:1
 +11      ;
 +12       QUIT 
 +13      ;
8641      ; OCX MDD DATATYPE
 +1       ;
 +2        NEW D0
 +3       ;
 +4       ; PARENT DATA TYPE
           DO CHECK(864.1,$PIECE($GET(^OCXS(FILE,REC,"MOM")),U,1))
 +5       ; PARAMETER multiple
           SET D0=0
           FOR 
               SET D0=$ORDER(^OCXS(FILE,REC,"PAR",D0))
               if 'D0
                   QUIT 
               Begin DoDot:1
 +6       ; PARAMETER NAME
                   DO CHECK(863.8,$PIECE($GET(^OCXS(FILE,REC,"PAR",D0,0)),U,1))
               End DoDot:1
 +7       ;
 +8        QUIT