1 | PRCPWPU1 ;WISC/RFJ-get number series for issue books ;11 Mar 94
|
---|
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 | IBCNS(SERIES) ; return next issue book common numbering series number
|
---|
8 | ; series=460-I4 where 460 is station number, 4 is fiscal year
|
---|
9 | N %,DA,DATA,NEXT,X
|
---|
10 | S DA=+$O(^PRC(442.6,"B",SERIES,0))
|
---|
11 | I '$D(^PRC(442.6,DA,0)) K X S X(1)="Before performing this option you need to set up a common numbering series for "_SERIES_"." D DISPLAY^PRCPUX2(5,75,.X) Q ""
|
---|
12 | ;
|
---|
13 | L +^PRC(442.6,DA,0)
|
---|
14 | S DATA=^PRC(442.6,DA,0),NEXT=$P(DATA,"^",4) I NEXT<1!(NEXT>9999) S NEXT=1
|
---|
15 | ;
|
---|
16 | ; check lower and upper bounds
|
---|
17 | I $P(DATA,"^",2)'=1 D S $P(^PRC(442.6,DA,0),"^",2)=1
|
---|
18 | . S %=$S($P(DATA,"^",2)="":"<null>",1:$P(DATA,"^",2))
|
---|
19 | . K X S X(1)="PLEASE NOTE: The lower bound for the common numbering series "_SERIES_" should be set to 1 (not "_%_"). I will automatically make the change." D DISPLAY^PRCPUX2(5,75,.X)
|
---|
20 | I $P(DATA,"^",3)'=9999 D S $P(^PRC(442.6,DA,0),"^",3)=9999
|
---|
21 | . S %=$S($P(DATA,"^",3)="":"<null>",1:$P(DATA,"^",3))
|
---|
22 | . K X S X(1)="PLEASE NOTE: The upper bound for the common numbering series "_SERIES_" should be set to 9999 (not "_%_"). I will automatically make the change." D DISPLAY^PRCPUX2(5,75,.X)
|
---|
23 | ;
|
---|
24 | ; check for duplicates
|
---|
25 | I $D(^PRCP(445.2,"V",$P(SERIES,"-",2)_$E("0000",$L(NEXT)+1,4)_NEXT)) D I 'NEXT L -^PRC(442.6,DA,0) Q ""
|
---|
26 | . K X S X(1)="PLEASE NOTE: The next number listed in the common numbering series "_SERIES_" is "_NEXT_" which has already been used ("_$P(SERIES,"-",2)_$E("0000",$L(NEXT)+1,4)_NEXT_")."
|
---|
27 | . S X(2)="Starting with "_NEXT_", I will search to 9999 and try to find a unique unused reference number. If one cannot be found, I will start the search with number 1."
|
---|
28 | . D DISPLAY^PRCPUX2(5,75,.X)
|
---|
29 | . S NEXT=$$MISSING(NEXT)
|
---|
30 | . I 'NEXT S NEXT=$$MISSING(1)
|
---|
31 | ;
|
---|
32 | S $P(^PRC(442.6,DA,0),"^",4)=NEXT+1
|
---|
33 | L -^PRC(442.6,DA,0)
|
---|
34 | Q $P(SERIES,"-",2)_$E("0000",$L(NEXT)+1,4)_NEXT
|
---|
35 | ;
|
---|
36 | ;
|
---|
37 | MISSING(START) ; search for missing numbers
|
---|
38 | ; return missing one or null if none found
|
---|
39 | W !?5,"SEARCHING FOR A UNIQUE REFERENCE NUMBER..."
|
---|
40 | F %=START:1:10000 Q:'$D(^PRCP(445.2,"V",$P(SERIES,"-",2)_$E("0000",$L(%)+1,4)_%))
|
---|
41 | I %'=10000 W " ",$P(SERIES,"-",2),$E("0000",$L(%)+1,4),%," IS UNIQUE" Q %
|
---|
42 | K X S X(1)="WARNING: Unable to find an available unique reference number. Either change the common numbering series or call your local OIFO." D DISPLAY^PRCPUX2(5,75,.X)
|
---|
43 | Q ""
|
---|