- 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