| 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
 | 
|---|