[613] | 1 | FSCQCAV ;SLC/STAFF-NOIS Query Criteria Ask Value ;8/25/94 17:14
|
---|
| 2 | ;;1.1;NOIS;;Sep 06, 1998
|
---|
| 3 | ;
|
---|
| 4 | VALUE(COND,TYPE) ; from FSCLMPME, FSCQB
|
---|
| 5 | N DIC,DIR,VALUE1,VALUE2
|
---|
| 6 | S VALUE=""
|
---|
| 7 | I $P(COND,U,3)="exists" Q
|
---|
| 8 | I $P(COND,U,3)="not exists" Q
|
---|
| 9 | S DIR("?")="^D HELP^FSCQD"
|
---|
| 10 | ;
|
---|
| 11 | ; free-text values
|
---|
| 12 | I TYPE["F"!(TYPE["W") D Q
|
---|
| 13 | .S DIR(0)="FAO^1:30",DIR("A")="Text: "
|
---|
| 14 | .S DIR("?",1)="Enter the text to be used in the search."
|
---|
| 15 | .S DIR("??")="FSC U1 NOIS"
|
---|
| 16 | .D ^DIR
|
---|
| 17 | .S VALUE=Y_U_""""_Y_""""
|
---|
| 18 | ;
|
---|
| 19 | ; date values
|
---|
| 20 | I TYPE["D" D Q
|
---|
| 21 | .S DIR(0)="DAO^:DT:EX",DIR("A")="Date: "
|
---|
| 22 | .S DIR("?",1)="Enter the date to be used in the search."
|
---|
| 23 | .S DIR("??")="FSC U1 NOIS"
|
---|
| 24 | .I $P(COND,U,3)["range" D Q
|
---|
| 25 | ..S DIR("A")="First Date: " D ^DIR Q:$D(DTOUT) Q:$D(DUOUT) S VALUE1=Y,VALUE=VALUE1_U_$$FMTE^XLFDT(VALUE1)_" to "
|
---|
| 26 | ..S DIR("A")="Last Date: " D ^DIR Q:$D(DTOUT) Q:$D(DUOUT) S VALUE2=Y
|
---|
| 27 | ..S:VALUE1>VALUE2 X=VALUE1,VALUE1=VALUE2,VALUE2=X
|
---|
| 28 | ..S VALUE=VALUE1_"-"_VALUE2_U_$$FMTE^XLFDT(VALUE1)_" to "_$$FMTE^XLFDT(VALUE2)
|
---|
| 29 | .D ^DIR
|
---|
| 30 | .S VALUE=Y_U_$$FMTE^XLFDT(Y)
|
---|
| 31 | ;
|
---|
| 32 | ; numeric values
|
---|
| 33 | I TYPE["N" D Q
|
---|
| 34 | .S DIR(0)="NOA^0:999:2",DIR("A")="Number: "
|
---|
| 35 | .S DIR("?",1)="Enter a numeric value to be used in the search."
|
---|
| 36 | .S DIR("?",2)="The number may include two decimal places"
|
---|
| 37 | .S DIR("??")="FSC U1 NOIS"
|
---|
| 38 | .I $P(COND,U,3)["range" D Q
|
---|
| 39 | ..S DIR("A")="First Number: " D ^DIR Q:$D(DTOUT) Q:$D(DUOUT) S VALUE1=Y,VALUE=VALUE1_U_VALUE1_" to "
|
---|
| 40 | ..S DIR("A")="Last Number: " D ^DIR Q:$D(DTOUT) Q:$D(DUOUT) S VALUE2=Y
|
---|
| 41 | ..S:VALUE1>VALUE2 X=VALUE1,VALUE1=VALUE2,VALUE2=X
|
---|
| 42 | ..S VALUE=VALUE1_"-"_VALUE2_U_VALUE1_" to "_VALUE2
|
---|
| 43 | .D ^DIR
|
---|
| 44 | .S VALUE=+Y_U_Y
|
---|
| 45 | ;
|
---|
| 46 | ; pointer values
|
---|
| 47 | I TYPE["P" D Q
|
---|
| 48 | .S DIC=+$P(TYPE,"P",2),DIC(0)="EMOQZ",DIC("A")="Select "_$P(FIELD,U,2)_": "
|
---|
| 49 | .I $L($G(^FSC("FLD",+FIELD,.1))) S DIC("S")=^(.1)
|
---|
| 50 | .S DIR("?",1)="Select the value of the field."
|
---|
| 51 | .D LOOK^FSCQU(.DIC,.DIR)
|
---|
| 52 | .S VALUE=+Y_U_$G(Y(0,0))
|
---|
| 53 | Q
|
---|