1 | PRCG237P ;WISC/BGJ - IFCAP 442 FILE CLEANUP (PURGE); 11/5/99 12:22pm ;9/20/00 12:56
|
---|
2 | V ;;5.1;IFCAP;**95**;Oct 20, 2000
|
---|
3 | ;Per VHA Directive 2004-038, this routine should not be modified.
|
---|
4 | ;This routine is installed by patch PRC*5*237.
|
---|
5 | ;The purpose of this routine is to clean up Accounts Receivable entries
|
---|
6 | ;in file 442 that were not purged by running the Archive/Purge
|
---|
7 | ;functionality. It will also purge entries in file 442 that do not
|
---|
8 | ;have a date in the P.O. DATE field (DATE P.O. ASSIGNED field is used
|
---|
9 | ;for comparison). Routine PRCG237Q is a routine installed by patch
|
---|
10 | ;237 that queues entries into PurgeMaster for purging. Those entries
|
---|
11 | ;are then purged by this routine as PurgeMaster cycles through file
|
---|
12 | ;443.1 (PurgeMaster Worklist).
|
---|
13 | ;
|
---|
14 | 442(X) ;
|
---|
15 | N DA,KDA,BEGDA,ENDA,PODATE,DTPOASN,SITE,DATE,ZERONODE,MOP
|
---|
16 | D UNLOAD
|
---|
17 | F S DA=$O(^PRC(442,DA)) Q:'DA!(DA>ENDA) D
|
---|
18 | . S ZERONODE=$G(^PRC(442,DA,0))
|
---|
19 | . I $P(ZERONODE,"-")'=SITE Q
|
---|
20 | . S PODATE=$P($G(^PRC(442,DA,1)),"^",15)
|
---|
21 | . I PODATE>DATE Q
|
---|
22 | . I +PODATE=0 D Q
|
---|
23 | . . S DTPOASN=$P($P($G(^PRC(442,DA,12)),"^",5),".")
|
---|
24 | . . I DTPOASN>DATE Q
|
---|
25 | . . S KDA=DA D KILL442(KDA)
|
---|
26 | . S MOP=$P(ZERONODE,"^",2)
|
---|
27 | . I 'MOP Q
|
---|
28 | . S MOP=$P($G(^PRCD(442.5,MOP,0)),"^",2)
|
---|
29 | . I MOP="AR" S KDA=DA D KILL442(KDA)
|
---|
30 | Q
|
---|
31 | UNLOAD ;
|
---|
32 | S BEGDA=$P(X,"-",1),ENDA=+$P(X,"-",2),SITE=$P(X,";",2)
|
---|
33 | S DATE=$P(X,";",3)
|
---|
34 | S DA=BEGDA-.1
|
---|
35 | Q
|
---|
36 | KILL442(DA) ;
|
---|
37 | Q:'$D(^PRC(442,DA,0))
|
---|
38 | S DIK="^PRC(442," D ^DIK
|
---|
39 | K DIK
|
---|
40 | D KLL4406
|
---|
41 | Q
|
---|
42 | KLL4406 ;find/kill invalid records in file 440.6
|
---|
43 | N IPIEN,HLDDA
|
---|
44 | S IPIEN=0,HLDDA=0
|
---|
45 | F S IPIEN=$O(^PRCH(440.6,"PO",DA,IPIEN)) Q:IPIEN'>0 D
|
---|
46 | .S HLDDA=DA,DA=IPIEN
|
---|
47 | .S DIK="^PRCH(440.6," D ^DIK
|
---|
48 | .K DIK
|
---|
49 | .S DA=HLDDA
|
---|
50 | K IPIEN,HLDDA
|
---|
51 | Q
|
---|