1 | PRCGA ;WIRMFO/CTB/PLT - POST INIT - IFCAP PURGE ;12/23/96 2:27 PM
|
---|
2 | V ;;5.1;IFCAP;;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
4 | N DA,PRC442,PRCA,PRCB,ZTSTOP,X,Y
|
---|
5 | ETM S PRCA="",ZTSTOP=""
|
---|
6 | S MESSAGE="UPDATING PURCHASE ORDER DATE FIELD AND XREF IN FILES 410 AND 442",ITEMS="documents"
|
---|
7 | S TREC=$P(^PRCS(410,0),"^",4)+$P(^PRC(442,0),"^",4)
|
---|
8 | D BEGIN^PRCGU
|
---|
9 | S PRCSDA=0
|
---|
10 | F D S XCOUNT=XCOUNT+COUNT D PERCENT^PRCGU Q:'PRCSDA
|
---|
11 | . F COUNT=1:1:LREC S PRCSDA=$O(^PRCS(410,PRCSDA)) Q:'PRCSDA D
|
---|
12 | .. D DOR(PRCSDA) I $D(KILLFLAG) K KILLFLAG QUIT
|
---|
13 | .. S PRCB=$G(^PRCS(410,PRCSDA,0)) Q:$P(PRCB,"^",4)'=1
|
---|
14 | .. S PRCB=$G(^PRCS(410,PRCSDA,10)),PRC442=$P(PRCB,"^",3) Q:PRC442=""
|
---|
15 | .. S PRCB=$G(^PRCS(410,PRCSDA,4)) Q:$P(PRCB,"^",5)=""!($P(PRCB,"^",4)="")
|
---|
16 | .. Q:$P($G(^PRC(442,PRC442,1)),"^",15)'=""
|
---|
17 | .. S DA=PRC442,DIE="^PRC(442,",DR=".1////"_$P(PRCB,"^",4) D ^DIE
|
---|
18 | .. QUIT
|
---|
19 | . QUIT
|
---|
20 | S N=0 F D S XCOUNT=XCOUNT+COUNT D PERCENT^PRCGU Q:'N
|
---|
21 | . F COUNT=1:1:LREC S N=$O(^PRC(442,N)) Q:'N D
|
---|
22 | . S N0=$G(^(N,0)),N1=$G(^(1))
|
---|
23 | . S X=$P(N1,"^",15) I X]"",'$D(^PRC(442,"AB",X,N)) S ^PRC(442,"AB",X,N)=""
|
---|
24 | . I $P(N0,"^",2)=21,X="" D 1358(N,N0,N1)
|
---|
25 | . QUIT
|
---|
26 | D END^PRCGU
|
---|
27 | QUIT
|
---|
28 | 1358(DA,DA0,DA1) ;correct 1358's without po dates in 442
|
---|
29 | N OB,OK,X
|
---|
30 | ;If obligation data, take date of first code sheet
|
---|
31 | S OB=$O(^PRC(442,DA,10,0)) I +OB D QUIT:$D(OK)
|
---|
32 | . S X=$P($G(^PRC(442,DA,10,OB,0)),"^",1) I $P(X,".",3)?6N S X="2"_$P(X,".",3) D SET QUIT
|
---|
33 | . QUIT
|
---|
34 | ;If no obligation data, take date of first entry in 424
|
---|
35 | S OB=$O(^PRC(424,"C",DA,0)) I +OB D QUIT:$D(OK)
|
---|
36 | . S X=$P($G(^PRC(424,OB,0)),"^",7) I $E(X,1,7)?7N D SET QUIT
|
---|
37 | . QUIT
|
---|
38 | ;If no entries in 424 take Date P.O. Assigned
|
---|
39 | S X=$P($G(^PRC(442,DA,12)),"^",5) I $E(X,1,7)?7N D SET QUIT:$D(OK)
|
---|
40 | QUIT
|
---|
41 | SET ;Places date in P.O. Date field and sets xref
|
---|
42 | S X=$E(X,1,7)
|
---|
43 | S $P(DA1,"^",15)=X,^PRC(442,DA,1)=DA1,^PRC(442,"AC",X,DA)=""
|
---|
44 | S OK=1 QUIT
|
---|
45 | EXIT QUIT
|
---|
46 | ;
|
---|
47 | FILE S $P(^PRCS(410,DA,1),"^",1)=X
|
---|
48 | QUIT
|
---|
49 | DOR(DA) ;CLEANUP DATE OF REQUEST FIELD
|
---|
50 | N X,Y
|
---|
51 | F I=0,1,3,4,5,6,7 S X(I)=$G(^PRCS(410,DA,I))
|
---|
52 | Q:$P(X(1),"^",1)]"" ;QUIT WHEN DATE OF REQUEST PRESENT
|
---|
53 | S X=$P($P(X(4),"^",4),".",1)]"" I X]"" D FILE QUIT
|
---|
54 | S X=$P($P(X(1),"^",4),".",1)]"" I X]"" D FILE QUIT
|
---|
55 | S X=$P($P(X(7),"^",5),".",1)]"" I X]"" D FILE QUIT
|
---|
56 | S X=$P($P(X(6),"^",2),".",1)]"" I X]"" D FILE QUIT
|
---|
57 | S X=$P($P(X(4),"^",13),".",1)]"" I X]"" D FILE QUIT
|
---|
58 | S X=$P($P(X(5),"^",2),".",1)]"" I X]"" D FILE QUIT
|
---|
59 | S X=$P($P(X(7),"^",7),".",1)]"" I X]"" D FILE QUIT
|
---|
60 | S X=$P($P(X(7),"^",10),".",1)]"" I X]"" D FILE QUIT
|
---|
61 | S X=$P($P(X(4),"^",7),".",1)]"" I X]"" D FILE QUIT
|
---|
62 | S X=$P($P(X(4),"^",2),".",1)]"" I X]"" D FILE QUIT
|
---|
63 | S X=$P($P(X(0),"^",8),".",1)]"" I X]"" D QUIT
|
---|
64 | . N Y S Y=$E(X,4,5),Y=$S("01,03,05,07,08,10,12"[Y:31,Y=2:28,1:30)
|
---|
65 | . S X=$E(X,1,5)_Y D FILE QUIT
|
---|
66 | I $P(X(0),"^",1)?3N1"-"2N1"-"1N1"-"3.4N1"-"4N S X=$$EOFY(X(0)) I X]"" D FILE QUIT
|
---|
67 | I $P(X(0),"^",12)="E" S X=$P(DT,".") D FILE QUIT
|
---|
68 | D KILL410
|
---|
69 | QUIT
|
---|
70 | EOFY(Y) S X="",X=$P(Y,"-",2),X=$S(X>70:"2"_X,1:"3"_X)_"0930" QUIT X
|
---|
71 | KILL410 D KILL410^PRCGARP1(DA) ;WHEN NO DATES OR GARBAGE, REMOVE RECORD
|
---|
72 | S KILLFLAG=""
|
---|
73 | QUIT
|
---|