1 | PRCPURS0 ;WISC/RFJ-ask sort, select acct, select nsn, select item ;17 May 93
|
---|
2 | ;;5.1;IFCAP;;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | Q
|
---|
5 | ;
|
---|
6 | ;
|
---|
7 | SORTBY() ; select type of sort
|
---|
8 | N DIR,X,Y
|
---|
9 | S DIR(0)="S^1:ACCOUNT CODE;2:NSN",DIR("A")="Sort BY",DIR("B")="ACCOUNT CODE" D ^DIR K DIR I Y'=1,Y'=2 Q 0
|
---|
10 | Q +Y
|
---|
11 | ;
|
---|
12 | ;
|
---|
13 | SUMMARY() ; print summary only
|
---|
14 | N %,X
|
---|
15 | K X S X(1)="Display Summary or ALL Data." D DISPLAY^PRCPUX2(2,40,.X)
|
---|
16 | S XP="Do you want to print a summary only",XH="Enter 'YES' to print a summary, 'NO' to print entire report, '^' to exit."
|
---|
17 | S %=$$YN^PRCPUYN(1)
|
---|
18 | Q $S(%=1:1,%=2:0,1:-1)
|
---|
19 | ;
|
---|
20 | ;
|
---|
21 | ACCTSEL ; pick account codes or all
|
---|
22 | ; returns array of accounts selected
|
---|
23 | N %,A,DIR,DIRUT,DTOUT,DUOUT,PRCPEXIT,PRCPFLAG,PRCPLINE,X,Y
|
---|
24 | S PRCPLINE="",$P(PRCPLINE,"-",78)=""
|
---|
25 | K ACCOUNT
|
---|
26 | F %=1,2,3,6,8 S ACCOUNT("NO",%)=""
|
---|
27 | F D I $G(PRCPFLAG) Q
|
---|
28 | . W !
|
---|
29 | . I $O(ACCOUNT("YES",0)) D
|
---|
30 | . . W !?2,PRCPLINE,!?2,"| Currently selected account codes : "
|
---|
31 | . . S A=0 F S A=$O(ACCOUNT("YES",A)) Q:'A W A W:$O(ACCOUNT("YES",A)) ", "
|
---|
32 | . . W ?78,"|",!?2,"| You can DE-select one of the above account codes by reselecting it.",?78,"|"
|
---|
33 | . I $O(ACCOUNT("NO",0)) D
|
---|
34 | . . W !?2,PRCPLINE,!?2,"| Currently DE-selected account codes: "
|
---|
35 | . . S A=0 F S A=$O(ACCOUNT("NO",A)) Q:'A W A W:$O(ACCOUNT("NO",A)) ", "
|
---|
36 | . . W ?78,"|",!?2,"| You can RE-select one of the above account codes by reselecting it.",?78,"|"
|
---|
37 | . W !?2,PRCPLINE
|
---|
38 | . S DIR(0)="SBO^1:Account Code 1;2:Account Code 2;3:Account Code 3;6:Account Code 6;8:Account Code 8;",DIR("A")="Select ACCOUNT Code" D ^DIR I $D(DTOUT)!($D(DUOUT)) S (PRCPFLAG,PRCPEXIT)=1 Q
|
---|
39 | . S Y=+Y
|
---|
40 | . I Y=0,'$O(ACCOUNT("YES",0)) D I %=0 S (PRCPFLAG,PRCPEXIT)=1 Q
|
---|
41 | . . S %=$$ALLACCT I %=0 Q
|
---|
42 | . . I %=1 K ACCOUNT("NO") F %=1,2,3,6,8 S ACCOUNT("YES",%)=""
|
---|
43 | . I Y=0 S PRCPFLAG=1 Q
|
---|
44 | . I $D(ACCOUNT("YES",Y)) K ACCOUNT("YES",Y) S ACCOUNT("NO",Y)="" W !?10,"DE-selected !" Q
|
---|
45 | . I $D(ACCOUNT("NO",Y)) K ACCOUNT("NO",Y) S ACCOUNT("YES",Y)="" W !?10,"RE-selected !" Q
|
---|
46 | . S ACCOUNT("YES",Y)="" W !?10,"selected !"
|
---|
47 | I $G(PRCPEXIT) K ACCOUNT
|
---|
48 | K ACCOUNT("NO")
|
---|
49 | W !!,"*** Selected Account Codes: " I '$O(ACCOUNT("YES",0)) W "<<NONE>>" Q
|
---|
50 | S A=0 F S A=$O(ACCOUNT("YES",A)) Q:'A W A W:$O(ACCOUNT("YES",A)) ", " S ACCOUNT(A)=""
|
---|
51 | K ACCOUNT("YES")
|
---|
52 | Q
|
---|
53 | ;
|
---|
54 | ALLACCT() ; select all account codes
|
---|
55 | ; returns 1 for yes, 2 for no, 0 for ^
|
---|
56 | S XP="Do you want to select ALL account codes",XH="Enter 'YES' to select all account codes, 'NO' to not select all account codes."
|
---|
57 | W !
|
---|
58 | Q $$YN^PRCPUYN(1)
|
---|
59 | ;
|
---|
60 | ;
|
---|
61 | NSNSEL ; start with and end with nsn
|
---|
62 | ; returns prcpstrt and prcpend
|
---|
63 | N PRCPFLAG,X
|
---|
64 | K PRCPSTRT,PRCPEND
|
---|
65 | F D Q:$G(PRCPFLAG)
|
---|
66 | . W !,"START with NSN: FIRST// " R X:DTIME I '$T!(X["^") S PRCPFLAG=1 Q
|
---|
67 | . I X["?" W !?2,"Select the starting NSN value. If you select the default FIRST entry, NULL",!?2,"NSN entries will be selected. If you select 6505, all NSNs starting with",!?2,"6505 will be selected." Q
|
---|
68 | . I X'="",'$$NSNCHECK(X) W !?5,"Invalid NSN format. Format should be in the form 6505-22-333-4444." Q
|
---|
69 | . S PRCPSTRT=X,PRCPFLAG=1
|
---|
70 | I '$D(PRCPSTRT) Q
|
---|
71 | K PRCPFLAG
|
---|
72 | F D Q:$G(PRCPFLAG)
|
---|
73 | . W !," END with NSN: LAST// " R X:DTIME I '$T!(X["^") S PRCPFLAG=1 Q
|
---|
74 | . I X=" " S X=PRCPSTRT W " ",X
|
---|
75 | . I X["?" D Q
|
---|
76 | . . W !?2,"Select the ending NSN value."
|
---|
77 | . . I PRCPSTRT="" Q
|
---|
78 | . . W " If you start with ",PRCPSTRT," and end with ",PRCPSTRT,",",!?2,"you will only select NSNs which begin with ",PRCPSTRT,"."
|
---|
79 | . . W !," Also, enter the <space bar> to set the ending NSN equal to the starting NSN."
|
---|
80 | . I X'="",'$$NSNCHECK(X) W !?5,"Invalid NSN format. Format should be in the form 6505-22-333-4444." Q
|
---|
81 | . I X="" S X="z"
|
---|
82 | . I PRCPSTRT]X W !?4,"Ending NSN must follow starting NSN." Q
|
---|
83 | . S PRCPEND=X,PRCPFLAG=1
|
---|
84 | I '$D(PRCPEND) K PRCPSTRT Q
|
---|
85 | Q
|
---|
86 | ;
|
---|
87 | NSNCHECK(V1) ; nsn format check
|
---|
88 | I V1?4N Q 1
|
---|
89 | I V1?4N1"-"2UN Q 1
|
---|
90 | I V1?4N1"-"2UN1"-"3N Q 1
|
---|
91 | I V1?4N1"-"2UN1"-"3N1"-"4N.A Q 1
|
---|
92 | Q 0
|
---|