Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: KMPDUTL3

KMPDUTL3.m

Go to the documentation of this file.
  1. KMPDUTL3 ;OAK/RAK - CM Tools Utility ;2/17/04 10:53
  1. ;;3.0;KMPD;;Jan 22, 2009;Build 42
  1. ;
  1. PURGE(KMPDT) ;-- purge data in file #8973.1
  1. ;-----------------------------------------------------------------------
  1. ; KMPDT.. Date to begin purge in internal fileman format. Purge will
  1. ; reverse $order and delete entries 'EARLIER' than KMPDT.
  1. ;-----------------------------------------------------------------------
  1. ;
  1. Q:'$G(KMPDT)
  1. ;
  1. N DA,DATE,DIK,IEN
  1. W:'$D(ZTQUEUED) !!,"Purging old records..."
  1. S DATE=KMPDT
  1. F S DATE=$O(^KMPD(8973.1,"B",DATE),-1) Q:'DATE!(DATE>KMPDT) D
  1. .F IEN=0:0 S IEN=$O(^KMPD(8973.1,"B",DATE,IEN)) Q:'IEN D
  1. ..; quit if not 'sent to cm database'.
  1. ..Q:'$P($G(^KMPD(8973.1,IEN,0)),U,2)
  1. ..I '$D(ZTQUEUED) W:$X>78 !?16 W "."
  1. ..; Delete entry.
  1. ..S DA=IEN,DIK="^KMPD(8973.1," D ^DIK
  1. ;
  1. Q
  1. ;
  1. PURGE1 ;-- purge data in file #8973.2
  1. ;
  1. N DA,DATE,DAYS,DIK,IEN,PURGE
  1. ;
  1. ; days to keep data (weeks * 7)
  1. S DAYS=$P($G(^KMPD(8973,1,4)),U,11)
  1. S:'DAYS DAYS=4 S DAYS=DAYS*7
  1. ; determine date to start purge
  1. S PURGE=$$FMADD^XLFDT(DT,-DAYS) Q:'PURGE
  1. W:'$D(ZTQUEUED) !!,"Purging old records..."
  1. S DATE=PURGE-.1
  1. F S DATE=$O(^KMPD(8973.2,"C",DATE),-1) Q:'DATE!(DATE>PURGE) D
  1. .F IEN=0:0 S IEN=$O(^KMPD(8973.2,"C",DATE,IEN)) Q:'IEN D
  1. ..I '$D(^KMPD(8973.2,IEN,0)) K ^KMPD(8973.2,"C",DATE,IEN) Q
  1. ..W:'$D(ZTQUEUED)&('(IEN#10)) "."
  1. ..; delete entry.
  1. ..S DA=IEN,DIK="^KMPD(8973.2," D ^DIK
  1. ;
  1. Q