| 1 | FSCLIMIT ;SLC/STAFF-NOIS Limit Restrictions ;1/13/98  12:31 | 
|---|
| 2 | ;;1.1;NOIS;;Sep 06, 1998 | 
|---|
| 3 | ; | 
|---|
| 4 | RESTRICT(RESTRICT) ; from FSCULOOK | 
|---|
| 5 | N OK | 
|---|
| 6 | S OK=0 F  D  Q:OK | 
|---|
| 7 | .N DIR,X,Y K DIR S RESTRICT="" | 
|---|
| 8 | .S DIR(0)="SAMO^DATE RANGE:DATE RANGE;LAST N CALLS:LAST N CALLS;NO RESTRICTION:NO RESTRICTION" | 
|---|
| 9 | .S DIR("A",1)="-- restrictions that can be applied to this list --" | 
|---|
| 10 | .S DIR("A")="(D)ate range, (L)ast n calls, (N)o restriction: " | 
|---|
| 11 | .S DIR("B")="NO RESTRICTION" | 
|---|
| 12 | .S DIR("?",1)="Enter DATE RANGE to restrict calls to a date range (date openend)." | 
|---|
| 13 | .S DIR("?",2)="Enter LAST N CALLS to restrict to the last number of calls received." | 
|---|
| 14 | .S DIR("?",3)="Enter NO RESTRICTIONS or '^' to get the entire list." | 
|---|
| 15 | .S DIR("?",4)="Enter '??' for further help." | 
|---|
| 16 | .S DIR("?")="^D HELP^FSCU(.DIR)" | 
|---|
| 17 | .S DIR("??")="FSC U1 NOIS" | 
|---|
| 18 | .D ^DIR K DIR | 
|---|
| 19 | .S OK=1 | 
|---|
| 20 | .D | 
|---|
| 21 | ..I Y="NO RESTRICTION" S RESTRICT=0 Q | 
|---|
| 22 | ..I Y="DATE RANGE" D  Q | 
|---|
| 23 | ...N FROM,TO | 
|---|
| 24 | ...D DATES(.FROM,.TO) | 
|---|
| 25 | ...I FROM,TO S RESTRICT="1^^"_FROM_U_TO Q | 
|---|
| 26 | ...S OK=0 W $C(7) | 
|---|
| 27 | ..I Y="LAST N CALLS" D  Q | 
|---|
| 28 | ...N LASTN | 
|---|
| 29 | ...D LASTN(.LASTN) | 
|---|
| 30 | ...I LASTN S RESTRICT="1^"_LASTN Q | 
|---|
| 31 | ...S OK=0 W $C(7) | 
|---|
| 32 | Q | 
|---|
| 33 | ; | 
|---|
| 34 | DATES(FROM,TO) ; | 
|---|
| 35 | N DIR,X,Y K DIR S (FROM,TO)=0 | 
|---|
| 36 | S DIR(0)="DAO^2900101:DT:EX" | 
|---|
| 37 | S DIR("A")="From: " | 
|---|
| 38 | S DIR("?",1)="Enter the beginning date of a date range." | 
|---|
| 39 | S DIR("?")="^D HELP^%DTC,HELP^FSCU(.DIR)" | 
|---|
| 40 | S DIR("??")="FSC U1 NOIS" | 
|---|
| 41 | D ^DIR K DIR | 
|---|
| 42 | I $D(DIRUT) Q | 
|---|
| 43 | S FROM=Y | 
|---|
| 44 | ; | 
|---|
| 45 | N DIR,X,Y K DIR | 
|---|
| 46 | S DIR(0)="DAO^2900101:DT:EX" | 
|---|
| 47 | S DIR("A")="To: " | 
|---|
| 48 | S DIR("?",1)="Enter the ending date of a date range." | 
|---|
| 49 | S DIR("?")="^D HELP^%DTC,HELP^FSCU(.DIR)" | 
|---|
| 50 | S DIR("??")="FSC U1 NOIS" | 
|---|
| 51 | D ^DIR K DIR | 
|---|
| 52 | I $D(DIRUT) S FROM=0 Q | 
|---|
| 53 | S TO=Y I FROM>TO S X=FROM,FROM=TO,TO=X | 
|---|
| 54 | Q | 
|---|
| 55 | ; | 
|---|
| 56 | LASTN(LASTN) ; | 
|---|
| 57 | N DIR,X,Y K DIR S LASTN=0 | 
|---|
| 58 | S DIR(0)="NAO^1:100000:0" | 
|---|
| 59 | S DIR("A")="Enter the maximum number of the last calls received: " | 
|---|
| 60 | S DIR("?",1)="Enter the maximum number of calls you want from this list." | 
|---|
| 61 | S DIR("?",2)="The calls will be restricted to this number of calls, starting with" | 
|---|
| 62 | S DIR("?",3)="the most recently entered call, up to but not exceeding the number." | 
|---|
| 63 | S DIR("?")="^D HELP^FSCU(.DIR)" | 
|---|
| 64 | S DIR("??")="FSC U1 NOIS" | 
|---|
| 65 | D ^DIR K DIR | 
|---|
| 66 | I $D(DIRUT) Q | 
|---|
| 67 | S LASTN=+Y | 
|---|
| 68 | Q | 
|---|
| 69 | ; | 
|---|
| 70 | ASK(LIST) ; $$(list#) -> 1 or 0, on whether to ask for restrictions | 
|---|
| 71 | N APPROX,LIMIT | 
|---|
| 72 | S LIMIT=$P($G(^FSC("LIST",+LIST,0)),U,8),APPROX=$P($G(^(0)),U,9) | 
|---|
| 73 | I 'LIMIT Q 0 | 
|---|
| 74 | I LIMIT=-1 Q 1 | 
|---|
| 75 | I APPROX,APPROX>LIMIT Q 1 | 
|---|
| 76 | Q 0 | 
|---|