Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: OCXSENDB

OCXSENDB.m

Go to the documentation of this file.
  1. 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
  1. ;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
  1. ;
  1. ;
  1. DIC(OCXDIC,OCXDIC0,OCXDICA,OCXX,OCXDICS,OCXW) ;
  1. ;
  1. N DIC,X,Y
  1. S DIC=$G(OCXDIC) Q:'$L(DIC) -1
  1. S DIC(0)=$G(OCXDIC0) S:$L($G(OCXX)) X=OCXX
  1. S:$L($G(OCXDICS)) DIC("S")=OCXDICS
  1. S:$L($G(OCXDICA)) DIC("A")=OCXDICA
  1. S:$L($G(OCXW)) DIC("W")=OCXW
  1. D ^DIC Q:(Y<1) 0 Q Y
  1. ;
  1. CHECK(FILE,VALUE) ;
  1. ;
  1. N IEN,OCXID
  1. Q:'$L(VALUE)
  1. I (VALUE[U),VALUE S VALUE=+VALUE
  1. I (VALUE=+VALUE) S IEN=VALUE
  1. E S IEN=+$$DIC(FILE,"XM","",VALUE)
  1. I 'IEN W !!,$P(^OCXS(FILE,0),U,1)," -1-> ",VALUE," [",IEN,"] ERROR - RECORD NOT FOUND" Q
  1. I '$D(^OCXS(FILE,IEN)) W !!,$P(^OCXS(FILE,0),U,1)," -2-> ",VALUE," [",IEN,"] ERROR - RECORD NOT FOUND" Q
  1. D ADDREC^OCXSEND1(FILE,IEN)
  1. Q
  1. ;
  1. 8602 ; ORDER CHECK RULE
  1. ;
  1. N D0,MSG,PIEC
  1. ;
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"C",D0)) Q:'D0 D ; TRUTH ELEMENTS multiple
  1. .D CHECK(860.3,$P($G(^OCXS(FILE,REC,"C",D0,0)),U,2)) ; ELEMENT NAME
  1. ;
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"R",D0)) Q:'D0 D ; RELATION ACTIONS multiple
  1. .S MSG=$G(^OCXS(FILE,REC,"R",D0,"MSG"))
  1. .I (MSG["|") F PIEC=2:2:$L(MSG,"|") D CHECK(860.4,$P(MSG,"|",PIEC))
  1. .S MSG=$G(^OCXS(FILE,REC,"R",D0,"OCMSG"))
  1. .I (MSG["|") F PIEC=2:2:$L(MSG,"|") D CHECK(860.4,$P(MSG,"|",PIEC))
  1. ;
  1. Q
  1. ;
  1. 8603 ; ORDER CHECK ELEMENT
  1. ;
  1. N D0,OPER,TERM
  1. ;
  1. D CHECK(860.6,$P($G(^OCXS(FILE,REC,0)),U,2)) ; ELEMENT CONTEXT
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"COND",D0)) Q:'D0 D ; CONDITIONAL EXPRESSION multiple
  1. .D CHECK(860.4,$P($G(^OCXS(FILE,REC,"COND",D0,"DFLD1")),U,1)) ; DATA FIELD 1
  1. .D CHECK(863.9,$G(^OCXS(FILE,REC,"COND",D0,"OPER"))) ; OPERATOR/FUNCTION
  1. .D CHECK(860.4,$G(^OCXS(FILE,REC,"COND",D0,"DFLD2"))) ; DATA FIELD 2
  1. .D CHECK(860.4,$P($G(^OCXS(FILE,REC,"COND",D0,"DFLD3")),U,1)) ; DATA FIELD 3
  1. .;
  1. .S OPER=$G(^OCXS(FILE,REC,"COND",D0,"OPER")) Q:'OPER
  1. .S OPER=$P($G(^OCXS(863.9,+OPER,0)),U,1) Q:'(OPER["TERM")
  1. .S TERM=$G(^OCXS(FILE,REC,"COND",D0,"VAL1"))
  1. .D CHECK(860.9,TERM)
  1. ;
  1. Q
  1. ;
  1. 8604 ; ORDER CHECK DATA FIELD
  1. ;
  1. N D0
  1. ;
  1. D CHECK(864.1,$P($G(^OCXS(FILE,REC,0)),U,3)) ; DATATYPE
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"LINK",D0)) Q:'D0 D ; DATA SOURCES multiple
  1. .D CHECK(860.6,$P($G(^OCXS(FILE,REC,"LINK",D0,0)),U,1)) ; DATA CONTEXT
  1. .D CHECK(860.5,$P($G(^OCXS(FILE,REC,"LINK",D0,0)),U,2)) ; DATA SOURCE
  1. .D CHECK(863.3,$G(^OCXS(FILE,REC,"LINK",D0,"DATAPATH"))) ; LINK
  1. ;
  1. Q
  1. ;
  1. 8605 ; ORDER CHECK DATA SOURCE
  1. ;
  1. N D0
  1. ;
  1. D CHECK(860.6,$P($G(^OCXS(FILE,REC,0)),U,2)) ; CONTEXT
  1. Q
  1. ;
  1. 8608 ; ORDER CHECK COMPILER FUNCTIONS
  1. ;
  1. N D0,TEXT,PIEC,CALL
  1. ;
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"CODE",D0)) Q:'D0 D ; CODE multiple
  1. .S TEXT=$G(^OCXS(FILE,REC,"CODE",D0,0))
  1. .;
  1. .I (TEXT["$$") F PIEC=2:1:$L(TEXT,"$$") D
  1. ..S CALL=$P($P(TEXT,"$$",PIEC),"(",1) Q:'$L(CALL) Q:(CALL[U)
  1. ..D CHECK(860.8,CALL)
  1. ;
  1. Q
  1. ;
  1. 863 ; OCX MDD CLASS
  1. ;
  1. N D0
  1. ;
  1. D CHECK(863,$P($G(^OCXS(FILE,REC,0)),U,3)) ; PARENT CLASS
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0 D ; PARAMETER multiple
  1. .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER
  1. ;
  1. Q
  1. ;
  1. 8631 ; OCX MDD APPLICATION
  1. ;
  1. N D0
  1. ;
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0 D ; PARAMETER multiple
  1. .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER NAME
  1. ;
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"SUBJ",D0)) Q:'D0 D ; PRIMARY SUBJECT multiple
  1. .D CHECK(863.2,$P($G(^OCXS(FILE,REC,"SUBJ",D0,0)),U,1)) ; PRIMARY SUBJECT
  1. ;
  1. Q
  1. ;
  1. 8632 ; OCX MDD SUBJECT
  1. ;
  1. N D0
  1. ;
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0 D ; PARAMETER multiple
  1. .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER NAME
  1. ;
  1. Q
  1. ;
  1. 8633 ; OCX MDD LINK
  1. ;
  1. N D0
  1. ;
  1. D CHECK(863.2,$P($G(^OCXS(FILE,REC,0)),U,2)) ; PARENT SUBJECT
  1. D CHECK(863.2,$P($G(^OCXS(FILE,REC,0)),U,3)) ; DESCENDANT SUBJECT
  1. D CHECK(863.4,$P($G(^OCXS(FILE,REC,0)),U,5)) ; ATTRIBUTE
  1. ;
  1. S FCPARM=$O(^OCXS(863.8,"B","OCXO EXTERNAL FUNCTION CALL",0))
  1. ;
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0 D ; PARAMETER multiple
  1. .N PARM,PIEC
  1. .S PARM=$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1) ; PARAMETER NAME
  1. .D CHECK(863.8,PARM) ; PARAMETER NAME
  1. .S PARMV=$G(^OCXS(FILE,REC,"PAR",D0,"VAL")) ; PARAMETER NAME
  1. .Q:'(PARM=FCPARM)
  1. .I '($P(PARMV,"(")[U) D CHECK(860.8,$P(PARMV,"(",1))
  1. .I (PARMV["|") F PIEC=2:2:$L(PARMV,"|") D CHECK(860.4,$P(PARMV,"|",PIEC))
  1. ;
  1. Q
  1. ;
  1. 8634 ; OCX MDD ATTRIBUTE
  1. ;
  1. N D0
  1. ;
  1. D CHECK(863.4,$P($G(^OCXS(FILE,REC,"MOM")),U,1)) ; PARENT ATTRIBUTE
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0 D ; PARAMETER multiple
  1. .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER NAME
  1. ;
  1. Q
  1. ;
  1. 8635 ; OCX MDD VALUES
  1. ;
  1. N D0
  1. ;
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0 D ; PARAMETER multiple
  1. .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER
  1. ;
  1. Q
  1. ;
  1. 8636 ; OCX MDD METHOD
  1. ;
  1. N D0
  1. ;
  1. D CHECK(863,$P($G(^OCXS(FILE,REC,0)),U,3)) ; CLASS FILE
  1. ;
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0 D ; PARAMETER multiple
  1. .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER NAME
  1. ;
  1. Q
  1. ;
  1. 8637 ; OCX MDD PUBLIC FUNCTION
  1. ;
  1. N D0
  1. ;
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0 D ; PARAMETER multiple
  1. .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETERS
  1. ;
  1. Q
  1. ;
  1. 8638 ; OCX MDD PARAMETER
  1. ;
  1. N D0
  1. ;
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0 D ; PARAMETER ATTRIBUTE multiple
  1. .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER
  1. ;
  1. Q
  1. ;
  1. 8639 ; OCX MDD CONDITION/FUNCTION
  1. ;
  1. N D0
  1. ;
  1. D CHECK(864.1,$P($G(^OCXS(FILE,REC,0)),U,2)) ; DATATYPE
  1. D CHECK(863.7,$P($G(^OCXS(FILE,REC,0)),U,3)) ; CODE GENERATOR FUNCTION
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0 D ; PARAMETER multiple
  1. .S PARM=$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)
  1. .S PARMV=$G(^OCXS(FILE,REC,"PAR",D0,"VAL"))
  1. .D CHECK(863.8,PARM) ; PARAMETER
  1. .I (PARM="OCXO GENERATE CODE FUNCTION") D CHECK(863.7,PARMV)
  1. ;
  1. Q
  1. ;
  1. 8641 ; OCX MDD DATATYPE
  1. ;
  1. N D0
  1. ;
  1. D CHECK(864.1,$P($G(^OCXS(FILE,REC,"MOM")),U,1)) ; PARENT DATA TYPE
  1. S D0=0 F S D0=$O(^OCXS(FILE,REC,"PAR",D0)) Q:'D0 D ; PARAMETER multiple
  1. .D CHECK(863.8,$P($G(^OCXS(FILE,REC,"PAR",D0,0)),U,1)) ; PARAMETER NAME
  1. ;
  1. Q