| 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 | 
|---|