1 | OCXOCMPK ;SLC/RJS,CLA - ORDER CHECK CODE COMPILER (Build LIST Function Code cont...) ;10/29/98 12:37
|
---|
2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**32**;Dec 17,1997
|
---|
3 | ;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
|
---|
4 | ;
|
---|
5 | Q
|
---|
6 | ;
|
---|
7 | RANGE(ROOT,ELEM,INDEX,PARAM,CD) ;
|
---|
8 | ;
|
---|
9 | Q:$G(OCXWARN) 1
|
---|
10 | N OCXDTYP,FIELD,VARNDX,VARVAL,VARCNT,VSTRT,VSTOP
|
---|
11 | S FIELD=$P(PARAM," ",1),VSTRT=$P(PARAM," ",3),VSTOP=$P(PARAM," ",5)
|
---|
12 | S VARNDX="OCXLX"_(+INDEX),VARVAL="OCXLV"_(+INDEX),VARCNT="OCXLC"_(+INDEX),VARLIM="OCXLB"_(+INDEX)
|
---|
13 | ;
|
---|
14 | I '$L($G(ROOT)) D WARN^OCXOCMPV("'RANGE' Function array root not defined.",2,OCXD0,$P($T(+1)," ",1)) Q OCXWARN
|
---|
15 | I '$L($G(ELEM)) D WARN^OCXOCMPV("'RANGE' Function element not defined.",2,OCXD0,$P($T(+1)," ",1)) Q OCXWARN
|
---|
16 | I ($L(PARAM," ")>5) D WARN^OCXOCMPV("'RANGE' Function with too many parameters.",2,OCXD0,$P($T(+1)," ",1)) Q OCXWARN
|
---|
17 | ;
|
---|
18 | S FIELD=$P(PARAM," ",1) I '($E(FIELD,1)="|")!'($E(FIELD,$L(FIELD))="|") D Q OCXWARN
|
---|
19 | .D WARN^OCXOCMPV("'RANGE' Function field name missing in parameter list.",2,OCXD0,$P($T(+1)," ",1)) Q OCXWARN
|
---|
20 | S FIELD=+$P(FIELD,"|",2),OCXDTYP=$$GETDTYP^OCXOCMPI(FIELD)
|
---|
21 | ;
|
---|
22 | I '$L(VSTRT) D Q OCXWARN
|
---|
23 | .D WARN^OCXOCMPV("'RANGE' Function start value missing in parameter list.",2,OCXD0,$P($T(+1)," ",1)) Q OCXWARN
|
---|
24 | I '$L(VSTOP) D Q OCXWARN
|
---|
25 | .D WARN^OCXOCMPV("'RANGE' Function stop value missing in parameter list.",2,OCXD0,$P($T(+1)," ",1)) Q OCXWARN
|
---|
26 | S VSTRT=""""_VSTRT_"""",VSTOP=""""_VSTOP_""""
|
---|
27 | I (OCXDTYP="DATE/TIME") S VSTRT="$$INT2DT("_VSTRT_")",VSTOP="$$INT2DT("_VSTOP_")"
|
---|
28 | ;
|
---|
29 | S CD(1)="; RANGE"
|
---|
30 | S CD(2)="S "_VARVAL_"="_VSTRT_","_VARLIM_"="_VSTOP_" D K "_VARVAL_","_VARLIM_","_VARNDX
|
---|
31 | S CD(3)=".D:$L("_VARVAL_") F S "_VARVAL_"=$O("_ROOT_"""D"","_ELEM_","_FIELD_","_VARVAL_")) Q:'$L("_VARVAL_") Q:("_VARVAL_"]"_VARLIM_") D"
|
---|
32 | S CD(4)="..S "_VARNDX_"="""" F S "_VARNDX_"=$O("_ROOT_"""D"","_ELEM_","_FIELD_","_VARVAL_","_VARNDX_")) Q:'"_VARNDX_" D @@@@"
|
---|
33 | Q OCXWARN
|
---|
34 | ;
|
---|
35 | ANY(ROOT,ELEM,INDEX,PARAM,CD) ;
|
---|
36 | ;
|
---|
37 | N OCXDTYP
|
---|
38 | I '$L($G(ROOT)) D WARN^OCXOCMPV("'ANY' Function array root not defined.",2,OCXD0,$P($T(+1)," ",1)) Q OCXWARN
|
---|
39 | I '$L($G(ELEM)) D WARN^OCXOCMPV("'ANY' Function element not defined.",2,OCXD0,$P($T(+1)," ",1)) Q OCXWARN
|
---|
40 | I $L(PARAM) D WARN^OCXOCMPV("'ANY' Function does not require parameters.",2,OCXD0,$P($T(+1)," ",1)) Q OCXWARN
|
---|
41 | S VARNDX="OCXLX"_(+INDEX)
|
---|
42 | ;
|
---|
43 | S CD(1)="; ANY"
|
---|
44 | S CD(2)="S "_(VARNDX)_"="""" F "_(VARNDX)_"=$O("_ROOT_"""C"","_ELEM_","_(VARNDX)_")) Q:'"_(VARNDX)_" D @@@@ K "_VARNDX
|
---|
45 | ;
|
---|
46 | Q OCXWARN
|
---|
47 | ;
|
---|