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