91 lines
2.4 KiB
Mathematica
91 lines
2.4 KiB
Mathematica
|
OCXF22 ;SLC/RJS,CLA - GENERATES CODE FOR 'Free Text (String)' OPERATORS ;10/29/98 12:37
|
||
|
;;3.0;ORDER ENTRY/RESULTS REPORTING;**32**;Dec 17,1997
|
||
|
;; ;;ORDER CHECK EXPERT version 1.01 released OCT 29,1998
|
||
|
Q
|
||
|
;
|
||
|
;
|
||
|
LEN(X) ;
|
||
|
I ($E(X,1)="""") Q ($L(X)-2)
|
||
|
Q "$L("_X_")"
|
||
|
;
|
||
|
START(DATA,CVAL) ; DATA STARTS WITH VALUE
|
||
|
;
|
||
|
Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "($E("_DATA_",1,"_$$LEN(CVAL)_")="_CVAL_")"
|
||
|
;
|
||
|
END(DATA,CVAL) ; DATA ENDS WITH VALUE
|
||
|
;
|
||
|
Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "($E("_DATA_",($L("_DATA_")-("_$$LEN(CVAL)_"-1)),$L("_DATA_"))="_CVAL_")"
|
||
|
;
|
||
|
PAT(DATA,CVAL) ; MUMPS PATTERN MATCH
|
||
|
;
|
||
|
Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "("_DATA_"?"_CVAL_")"
|
||
|
;
|
||
|
;
|
||
|
CONT(DATA,CVAL) ; DATA CONTAINS VALUE
|
||
|
;
|
||
|
Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "("_DATA_"["_CVAL_")"
|
||
|
;
|
||
|
PREC(DATA,CVAL) ; DATA PRECEDES VALUE ALPHABETICALLY
|
||
|
;
|
||
|
Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "("_CVAL_"]"_DATA_")"
|
||
|
;
|
||
|
;
|
||
|
FOLLOW(DATA,CVAL) ; DATA FOLLOWS VALUE ALPHABETICALLY
|
||
|
;
|
||
|
Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "("_DATA_"]"_CVAL_")"
|
||
|
;
|
||
|
AEQ(DATA,CVAL) ; DATA EQUALS VALUE ALPHABETICALLY
|
||
|
;
|
||
|
Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "("_DATA_"="_CVAL_")"
|
||
|
;
|
||
|
AEQT(DATA,CVAL) ; DATA EQUALS STANDARD TERM ALPHABETICALLY
|
||
|
;
|
||
|
Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "$$EQTERM("_DATA_","_CVAL_")"
|
||
|
;
|
||
|
NAEQ(DATA,CVAL) ; DATA DOES NOT EQUAL VALUE ALPHABETICALLY
|
||
|
;
|
||
|
Q:'$L($G(DATA)) "" Q:'$L($G(CVAL)) "" Q "'("_DATA_"="_CVAL_")"
|
||
|
;
|
||
|
AINCL(DATA,CVAL1,CVAL2) ; ALPHA INCLUSIVE BETWEEN
|
||
|
;
|
||
|
Q:'$L($G(DATA)) "" Q:'$L($G(CVAL1)) "" Q:'$L($G(CVAL2)) ""
|
||
|
;
|
||
|
Q "'("_$$PREC(DATA,CVAL1)_"!"_$$FOLLOW(DATA,CVAL2)_")"
|
||
|
;
|
||
|
AEXCL(DATA,CVAL1,CVAL2) ; ALPHA EXCLUSIVE BETWEEN
|
||
|
;
|
||
|
Q:'$L($G(DATA)) "" Q:'$L($G(CVAL1)) "" Q:'$L($G(CVAL2)) ""
|
||
|
;
|
||
|
Q "("_$$FOLLOW(DATA,CVAL1)_"&"_$$PREC(DATA,CVAL2)_")"
|
||
|
;
|
||
|
; ***** STRING LENGTH OPERATORS *****
|
||
|
;
|
||
|
LGRT(DATA,CVAL) ; GREATER THAN SPECIFIED STRING LENGTH
|
||
|
;
|
||
|
Q $$GRT^OCXF20("$L("_DATA_")",CVAL)
|
||
|
;
|
||
|
LESS(DATA,CVAL) ; LESS THAN SPECIFIED STRING LENGTH
|
||
|
;
|
||
|
Q $$LESS^OCXF20("$L("_DATA_")",CVAL)
|
||
|
;
|
||
|
LEQ(DATA,CVAL) ; EQUALS SPECIFIED STRING LENGTH
|
||
|
;
|
||
|
Q $$EQ^OCXF20("$L("_DATA_")",CVAL)
|
||
|
;
|
||
|
LINCL(DATA,CVAL1,CVAL2) ; STRING LENGTH INCLUSIVE BETWEEN
|
||
|
;
|
||
|
Q $$INCL^OCXF20("$L("_DATA_")",CVAL1,CVAL2)
|
||
|
;
|
||
|
LEXCL(DATA,CVAL1,CVAL2) ; STRING LENGTH EXCLUSIVE BETWEEN
|
||
|
;
|
||
|
Q $$EXCL^OCXF20("$L("_DATA_")",CVAL1,CVAL2)
|
||
|
;
|
||
|
EQSET(DATA,CVAL) ; STRING IS EQUAL TO ONE OF A LIST OF VALUES
|
||
|
;
|
||
|
Q "$$LIST("_DATA_","_CVAL_")"
|
||
|
;
|
||
|
CONSET(DATA,CVAL) ; STRING CONTAINS ONE OF A LIST OF VALUES
|
||
|
;
|
||
|
Q "$$CLIST("_DATA_","_CVAL_")"
|
||
|
;
|