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