| 1 | ORRU ; SLC/JER - Scroll-mode Utility Subroutines ; 5-APR-2002 12:39:51 | 
|---|
| 2 | ;;3.0;ORDER ENTRY/RESULTS REPORTING;**174**;Dec 17, 1997 | 
|---|
| 3 | STOP(PROMPT,SCROLL) ; Call DIR at bottom of screen | 
|---|
| 4 | N DIR,X,Y | 
|---|
| 5 | I $E(IOST)'="C" S Y="" G STOPX | 
|---|
| 6 | I +$G(SCROLL),(IOSL>($Y+5)) F  W ! Q:IOSL<($Y+6) | 
|---|
| 7 | S DIR(0)="FO^1:1" | 
|---|
| 8 | S DIR("A")=$S($G(PROMPT)]"":PROMPT,1:"Press RETURN to continue or '^' to exit") | 
|---|
| 9 | S DIR("?")="Enter '^' to quit present action or '^^' to quit to menu" | 
|---|
| 10 | D ^DIR I $D(DIRUT),(Y="") K DIRUT | 
|---|
| 11 | S Y=$S(Y="^":0,Y="^^":0,$D(DTOUT):"",Y="":1,1:1_U_Y) | 
|---|
| 12 | STOPX Q Y | 
|---|
| 13 | READ(TYPE,PROMPT,DEFAULT,HELP,SCREEN) ; Calls reader, returns response | 
|---|
| 14 | N DIR,X,Y | 
|---|
| 15 | S DIR(0)=TYPE | 
|---|
| 16 | I $D(SCREEN) S DIR("S")=SCREEN | 
|---|
| 17 | I $G(PROMPT)]"" S DIR("A")=PROMPT | 
|---|
| 18 | I $G(DEFAULT)]"" S DIR("B")=DEFAULT | 
|---|
| 19 | I $D(HELP) S DIR("?")=HELP | 
|---|
| 20 | D ^DIR | 
|---|
| 21 | I $G(X)="@" S Y="@" G READX | 
|---|
| 22 | I Y]"",($L($G(Y),U)'=2) S Y=Y_U_$G(Y(0),Y) | 
|---|
| 23 | READX Q Y | 
|---|
| 24 | LISTREAD(ORLIST,ANSTYPE) ; Present list to user for selection of item(s) | 
|---|
| 25 | N ORI,ORL,ORY S (ORI,ORY)=0 | 
|---|
| 26 | S ANSTYPE=$S($G(ANSTYPE)]"":$G(ANSTYPE),1:"N") | 
|---|
| 27 | F  S ORI=$O(ORLIST(ORI)) Q:+ORI'>0  D | 
|---|
| 28 | . W !,ORI,?5,$P(ORLIST(ORI),U,2) S ORL=ORI | 
|---|
| 29 | I +$G(ORL) D | 
|---|
| 30 | . W ! | 
|---|
| 31 | . S ORY=$$READ(ANSTYPE_"A^1:"_ORL,"Select "_$P(ORLIST,U)_": ") | 
|---|
| 32 | . I +ORY S ORY=$G(ORLIST(+ORY)) | 
|---|
| 33 | Q ORY | 
|---|