| 1 | KMPDUT4C ;OAK/RAK; Multi-Lookup cont. ;2/17/04  10:48 | 
|---|
| 2 | ;;2.0;CAPACITY MANAGEMENT TOOLS;;Mar 22, 2002 | 
|---|
| 3 | ; | 
|---|
| 4 | HELP ;--help text | 
|---|
| 5 | N OUT | 
|---|
| 6 | W !!?7,"Enter '?D' to display entries selected so far." | 
|---|
| 7 | I $G(OPTION)'["S" W !!?7,"Select '*' for all entries or" | 
|---|
| 8 | W ! | 
|---|
| 9 | G:$G(OPTION)'["W" HELPM | 
|---|
| 10 | W !?7,"Select entries by typing one or more characters and then the '*'" | 
|---|
| 11 | W ! | 
|---|
| 12 | W !?7,"    Example:  'A*'     - will select all entries begging with" | 
|---|
| 13 | W !?7,"                         the letter 'A'" | 
|---|
| 14 | W !?7,"              'SMITH*' - will select all entries begging with" | 
|---|
| 15 | W !?7,"                         'SMITH'" | 
|---|
| 16 | W !!! | 
|---|
| 17 | D FTR^KMPDUTL4("Press <RET> to continue, '^' to exit Help",.OUT) | 
|---|
| 18 | I 'OUT W !!! Q | 
|---|
| 19 | W !!! | 
|---|
| 20 | HELPM ;help text for minus sign | 
|---|
| 21 | W !?7,"You may remove entries that have been selected so far by" | 
|---|
| 22 | W !?7,"entering a minus sign (-) before the entry to be removed" | 
|---|
| 23 | W ! | 
|---|
| 24 | W !?7,"    Example:  '-JONES,JANE' - will remove the entry 'JONES,JANE'" | 
|---|
| 25 | W !?7,"                              from the array" | 
|---|
| 26 | W !?7,"              '-SMITH*' - will remove all entries beginning with" | 
|---|
| 27 | W !?7,"                          'SMITH' from the array" | 
|---|
| 28 | W ! | 
|---|
| 29 | W !?7,"     ************************************************" | 
|---|
| 30 | W !?7,"     *** It is important to note that using the   ***" | 
|---|
| 31 | W !?7,"     *** minus sign (-) only removes entries from ***" | 
|---|
| 32 | W !?7,"     *** the array storing the selected entries,  ***" | 
|---|
| 33 | W !?7,"     *** it DOES NOT remove any entries from the  ***" | 
|---|
| 34 | W !?7,"     *** look-up file                             ***" | 
|---|
| 35 | W !?7,"     ************************************************" | 
|---|
| 36 | W !!! | 
|---|
| 37 | D FTR^KMPDUTL4("Press <RET> to continue: ") | 
|---|
| 38 | W !!! | 
|---|
| 39 | Q | 
|---|
| 40 | MINUS(X) ;de-select entries | 
|---|
| 41 | ;-------------------------------------------------------------------- | 
|---|
| 42 | ;-------------------------------------------------------------------- | 
|---|
| 43 | Q:'$D(@ARRAY)  S X=$G(X) Q:$E(X)'="-"  S X=$E(X,2,$L(X)) | 
|---|
| 44 | I X="*" K @ARRAY Q | 
|---|
| 45 | I X["*" S STR=$E(X,1,($F(X,"*")-2)) | 
|---|
| 46 | E  S STR=X | 
|---|
| 47 | Q:STR']""  S STR1=STR | 
|---|
| 48 | ;-------------------------------------------------------------------- | 
|---|
| 49 | ;  if exact match on STR1 | 
|---|
| 50 | ;-------------------------------------------------------------------- | 
|---|
| 51 | I SORT=1,($D(@ARRAY@(STR1))) D  Q | 
|---|
| 52 | .K @ARRAY@(STR1) S @ARRAY@(0)=$G(@ARRAY@(0))-1 W:$X>73 !?7 W "." | 
|---|
| 53 | ;-------------------------------------------------------------------- | 
|---|
| 54 | ;  if wildcard | 
|---|
| 55 | ;-------------------------------------------------------------------- | 
|---|
| 56 | I SORT=1,(X["*") D  Q | 
|---|
| 57 | .F  S STR1=$O(@ARRAY@(STR1)) Q:$E(STR1,1,$L(STR))'=STR  D | 
|---|
| 58 | ..K @ARRAY@(STR1) S @ARRAY@(0)=$G(@ARRAY@(0))-1 W:$X>73 !?7 W "." | 
|---|
| 59 | Q:SORT | 
|---|
| 60 | I X'["*" S ASKI=0 D  Q | 
|---|
| 61 | .F  S ASKI=$O(@ARRAY@(ASKI)) Q:'ASKI  I @ARRAY@(ASKI)=STR1 D | 
|---|
| 62 | ..K @ARRAY@(ASKI) S @ARRAY@(0)=$G(@ARRAY@(0))-1 W:$X>73 !?7 W "." | 
|---|
| 63 | I X["*" S ASKI=0 D  Q | 
|---|
| 64 | .F  S ASKI=$O(@ARRAY@(ASKI)) Q:'ASKI  I $E(@ARRAY@(ASKI),1,$L(STR))=STR D | 
|---|
| 65 | ..K @ARRAY@(ASKI) S @ARRAY@(0)=$G(@ARRAY@(0))-1 W:$X>73 !?7 W "." | 
|---|
| 66 | Q | 
|---|