| 1 | PRCPURS3 ;WISC/RFJ-select distribution points                       ;24 May 93 | 
|---|
| 2 | V ;;5.1;IFCAP;**1,108**;Oct 20, 2000;Build 10 | 
|---|
| 3 | ;Per VHA Directive 2004-038, this routine should not be modified. | 
|---|
| 4 | Q | 
|---|
| 5 | ; | 
|---|
| 6 | ; | 
|---|
| 7 | DISTRSEL(V1) ;  select distribution points | 
|---|
| 8 | ;  v1=inventory point da | 
|---|
| 9 | N %,D,DISTR,DISTRNM,PRCPEXIT,PRCPFLAG,PRCPLINE,PRCPINPT | 
|---|
| 10 | K ^TMP($J,"PRCPURS3"),DISTRALL | 
|---|
| 11 | S PRCPINPT=+V1,PRCPLINE="",$P(PRCPLINE,"-",76)="",PRCPLINE="+"_PRCPLINE_"+" | 
|---|
| 12 | S %=$$ALLDISTR I %=0 Q | 
|---|
| 13 | I %=1 S DISTRALL=1 | 
|---|
| 14 | F  D  I $G(PRCPFLAG) Q | 
|---|
| 15 | .   W ! | 
|---|
| 16 | .   I $O(^TMP($J,"PRCPURS3","YES",0))]""!($G(DISTRALL)) D | 
|---|
| 17 | .   .   W !?2,PRCPLINE,!?2,"| Currently selected ",$S(PRCP("DPTYPE")="S":"recipients:",1:"distribution points:"),?78,"|" | 
|---|
| 18 | .   .   I $G(DISTRALL) W !?2,"| << ALL ",$S(PRCP("DPTYPE")="S":"RECIPIENTS",1:"DISTRIBUTION POINTS")," >>",?78,"|" | 
|---|
| 19 | .   .   E  D | 
|---|
| 20 | .   .   .   W !?2,"| " | 
|---|
| 21 | .   .   .   S D=0 F  S D=$O(^TMP($J,"PRCPURS3","YES",D)) Q:D']""  S %=$E(^(D),1,20),%=%_$E("                    ",$L(%),20) W:$X>70 ?78,"|",!?2,"| " W %,"  " | 
|---|
| 22 | .   .   .   W ?78,"|" | 
|---|
| 23 | .   .   W !?2,"| You can DE-select one of the above ",$S(PRCP("DPTYPE")="S":"recipients:",1:"distribution points:")," by reselecting it.",?78,"|" | 
|---|
| 24 | .   I $O(^TMP($J,"PRCPURS3","NO",0))]""!('$G(DISTRALL)) D | 
|---|
| 25 | .   .   W !?2,PRCPLINE,!?2,"| Currently DE-selected ",$S(PRCP("DPTYPE")="S":"recipients:",1:"distribution points:"),?78,"|" | 
|---|
| 26 | .   .   I '$G(DISTRALL) W !?2,"| << ALL ",$S(PRCP("DPTYPE")="S":"RECIPIENTS",1:"DISTRIBUTION POINTS")," >>",?78,"|" | 
|---|
| 27 | .   .   E  D | 
|---|
| 28 | .   .   .   W !?2,"| " | 
|---|
| 29 | .   .   .   S D=0 F  S D=$O(^TMP($J,"PRCPURS3","NO",D)) Q:D']""  S %=$E(^(D),1,20),%=%_$E("                    ",$L(%),20) W:$X>70 ?78,"|",!?2,"| " W %,"  " | 
|---|
| 30 | .   .   .   W ?78,"|" | 
|---|
| 31 | .   .   I PRCP("DPTYPE")'="S" W !?2,"| You can RE-select one of the above distribution points by reselecting it.",?78,"|" | 
|---|
| 32 | .   .   I PRCP("DPTYPE")="S" W !?2,"| These recipients can be moved to the SELECTED List by reselecting them.",?78,"|" | 
|---|
| 33 | .   W !?2,PRCPLINE | 
|---|
| 34 | .   I PRCP("DPTYPE")'="S" S DISTR=$$TO^PRCPUDPT(PRCPINPT) | 
|---|
| 35 | .   I PRCP("DPTYPE")="S" S DISTR=$$TOWHOM^PRCPRISS(PRCPINPT) | 
|---|
| 36 | .   I DISTR<0 S (PRCPFLAG,PRCPEXIT)=1 Q | 
|---|
| 37 | .   S DISTRNM="" I PRCP("DPTYPE")="S",DISTR'=0 S DISTRNM=DISTR | 
|---|
| 38 | .   I PRCP("DPTYPE")'="S" S DISTRNM=$$INVNAME^PRCPUX1(DISTR) | 
|---|
| 39 | .   I DISTR=0,$O(^TMP($J,"PRCPURS3","YES",0))']"",'$G(DISTRALL) D  Q | 
|---|
| 40 | .   .   S %=$$ALLDISTR I %=0 S (PRCPFLAG,PRCPEXIT)=1 Q | 
|---|
| 41 | .   .   I %=1 S DISTRALL=1 | 
|---|
| 42 | .   I DISTR=0 S PRCPFLAG=1 Q | 
|---|
| 43 | .   I $G(DISTRALL),'$D(^TMP($J,"PRCPURS3","NO",DISTR)) K ^TMP($J,"PRCPURS3","YES",DISTR) S ^TMP($J,"PRCPURS3","NO",DISTR)=DISTRNM W !?10,"*** DE-selected !" Q | 
|---|
| 44 | .   I $D(^TMP($J,"PRCPURS3","YES",DISTR)) K ^TMP($J,"PRCPURS3","YES",DISTR) S ^TMP($J,"PRCPURS3","NO",DISTR)=DISTRNM W !?10,"*** DE-selected !" Q | 
|---|
| 45 | .   I $D(^TMP($J,"PRCPURS3","NO",DISTR)) K ^(DISTR) S ^TMP($J,"PRCPURS3","YES",DISTR)=DISTRNM W !?10,"*** RE-selected !" Q | 
|---|
| 46 | .   S ^TMP($J,"PRCPURS3","YES",DISTR)=DISTRNM W !?10,"*** selected !" | 
|---|
| 47 | I $G(PRCPEXIT) K ^TMP($J,"PRCPURS3"),DISTRALL Q | 
|---|
| 48 | I $G(DISTRALL) K ^TMP($J,"PRCPURS3","YES") | 
|---|
| 49 | Q | 
|---|
| 50 | ; | 
|---|
| 51 | ; | 
|---|
| 52 | ALLDISTR() ;  select all distribution points/recipients | 
|---|
| 53 | ;  returns 1 for yes, 2 for no, 0 for ^ | 
|---|
| 54 | I PRCP("DPTYPE")'="S" D | 
|---|
| 55 | .   S XP="Do you want to select ALL distribution points" | 
|---|
| 56 | .   S XH="Enter 'YES' to select ALL distr. points, 'NO' to not select all distr. points." | 
|---|
| 57 | I PRCP("DPTYPE")="S" D | 
|---|
| 58 | .   S XP="Do you want ALL recipients" | 
|---|
| 59 | .   S XH="Enter 'YES' to select ALL recipients, 'NO' to select individual recipients." | 
|---|
| 60 | Q $$YN^PRCPUYN(1) | 
|---|