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

BARUFCLR.m

Go to the documentation of this file.
  1. BARUFCLR ; IHS/SD/TPF - CLEAR "NOT SENT" ENTRIES FROM SESSION LOG FILE ;
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**4**;JAN 10, 2008
  1. Q
  1. ;ORIGINALLY WRITTEN TO CLEAR ENTRIES THAT HAD A REASON NOT SENT CODE OF "NR"
  1. ;THIS MAY CHANGE WHO KNOWS
  1. ;
  1. ;TARGET SHOULD BE A LIST OF CODES DELINETAED BY U
  1. ;U_NR_U_NEG_U
  1. ;IF WE MAKE THIS SET OF CODES TO A FILE. MAKE THE .01 FIELD THE CODE
  1. ;ENTRIES WITH A REASON NOT SENT CODE CONTAINED BY TARGET WILL BE DELETED
  1. ;
  1. ;CALL THIS TAG WITH CODES TO BE DELETED OR COUNTED. IF 'REPORT' IS TRUE YOU
  1. ;WILL GET ONLY A COUNT OF THE CODES THAT ARE IN THE NS OR DS BUCKET. OTHERWISE THE ENTRIES
  1. ;CONTAINING THOSE CODES WILL BE CLEARED OF THE NS OD DS FLAGS
  1. ;
  1. ;CALL STARTNS TO DEAL WITH THE "NOT SENT" FLAG
  1. ;CALL STARTDS TO DEAL WITH THE "DELAYED SEND" FLAG
  1. ;
  1. ;THE 'COUNT' FLAG CAN BE USED TO GET AN ESTIMATE OF THE NUMBER OF TRANSMITTED
  1. ;SESSIONS/TRANSACTIONS THAT WILL BE PROCESSED BY THE POST INIT (OR RESEND FUNCTION ^BARUFEX2)
  1. ;
  1. ;
  1. STARTNS(TARGET,REPORT) ;EP - START CLEARING NOT SENT ENTRIES
  1. Q:$G(TARGET)=""
  1. Q:$G(REPORT)=""
  1. N TEMPDUZ2,UDUZ,SESSID,TRDATE,IENS,COUNT
  1. S TEMPDUZ2=DUZ(2)
  1. S DUZ(2)=1
  1. F S DUZ(2)=$O(^BARSESS(DUZ(2))) Q:'DUZ(2) D
  1. .S TRDATE=""
  1. .F S TRDATE=$O(^BARSESS(DUZ(2),"NS",TRDATE)) Q:'TRDATE D
  1. ..S SESSID=""
  1. ..F S SESSID=$O(^BARSESS(DUZ(2),"NS",TRDATE,SESSID)) Q:'SESSID D
  1. ...S UDUZ=""
  1. ...F S UDUZ=$O(^BARSESS(DUZ(2),"NS",TRDATE,SESSID,UDUZ)) Q:'UDUZ D
  1. ....S IENS=TRDATE_","_SESSID_","_UDUZ_","
  1. ....S REASON=$$GET1^DIQ(90057.110102,IENS,.09,"I")
  1. ....S XREASON=$$GET1^DIQ(90057.110102,IENS,.09,"E")
  1. ....I TARGET'="ALL" Q:TARGET'[(U_REASON_U)
  1. ....W !,TRDATE,?25,REASON,?30,XREASON
  1. ....I $G(REPORT) S COUNT(DUZ(2),REASON)=$G(COUNT(DUZ(2),REASON))+1
  1. ....I '$G(REPORT) D DELNOT Q ;CLEAR NOT SENT FLAG
  1. I $G(REPORT) D REPORT(.COUNT)
  1. S DUZ(2)=TEMPDUZ2
  1. Q
  1. ;
  1. STARTDS(TARGET,REPORT) ;EP - START CLEARING NOT SENT ENTRIES
  1. Q:$G(TARGET)=""
  1. Q:$G(REPORT)=""
  1. N TEMPDUZ2,UDUZ,SESSID,TRDATE,IENS,COUNT
  1. S TEMPDUZ2=DUZ(2)
  1. S DUZ(2)=1
  1. F S DUZ(2)=$O(^BARSESS(DUZ(2))) Q:'DUZ(2) D
  1. .S TRDATE=""
  1. .F S TRDATE=$O(^BARSESS(DUZ(2),"DS",TRDATE)) Q:'TRDATE D
  1. ..S SESSID=""
  1. ..F S SESSID=$O(^BARSESS(DUZ(2),"DS",TRDATE,SESSID)) Q:'SESSID D
  1. ...S UDUZ=""
  1. ...F S UDUZ=$O(^BARSESS(DUZ(2),"DS",TRDATE,SESSID,UDUZ)) Q:'UDUZ D
  1. ....S IENS=TRDATE_","_SESSID_","_UDUZ_","
  1. ....S REASON=$$GET1^DIQ(90057.110102,IENS,.09,"I")
  1. ....S XREASON=$$GET1^DIQ(90057.110102,IENS,.09,"E")
  1. ....I TARGET'="ALL" Q:TARGET'[(U_REASON_U)
  1. ....W !,TRDATE,?25,REASON,?30,XREASON
  1. ....I $G(REPORT) S COUNT(DUZ(2),REASON)=$G(COUNT(DUZ(2),REASON))+1
  1. ....I '$G(REPORT) D DELDS Q ;CLEAR DELAYED FLAG
  1. I $G(REPORT) D REPORT(.COUNT)
  1. S DUZ(2)=TEMPDUZ2
  1. Q
  1. ;
  1. DELNOT ;EP - CLEAR THE NS FLAGS
  1. K DIK,DA
  1. S DA(2)=UDUZ
  1. S DA(1)=SESSID
  1. S DA=TRDATE
  1. S DIE="^BARSESS("_DUZ(2)_","_DA(2)_",11,"_DA(1)_",2,"
  1. S DR=".06///@;.09///@" ;CLEAR 'NOT SENT' AND 'REASON NOT SENT'
  1. D ^DIE
  1. Q
  1. DELDS ;EP - DELETE THE DS FLAGS
  1. K DIK,DA
  1. S DA(2)=UDUZ
  1. S DA(1)=SESSID
  1. S DA=TRDATE
  1. S DIE="^BARSESS("_DUZ(2)_","_DA(2)_",11,"_DA(1)_",2,"
  1. S DR=".07///@;.09///@" ;CLEAR 'NOT SENT' AND 'REASON NOT SENT'
  1. D ^DIE
  1. Q
  1. ;
  1. REPORT(COUNT) ;EP - REPORT # ENTRIES DELETED
  1. N DUZ2,REASON
  1. D HDR
  1. S DUZ2=""
  1. F S DUZ2=$O(COUNT(DUZ2)) Q:'DUZ2 D
  1. .S REASON=""
  1. .F S REASON=$O(COUNT(DUZ2,REASON)) Q:REASON="" D
  1. ..W !,$$GET1^DIQ(9999999.06,DUZ2_",",.01,"E")
  1. ..W ?30,REASON
  1. ..W ?60,COUNT(DUZ2,REASON)
  1. Q
  1. HDR ;EP - REPORT HEADER
  1. W @IOF
  1. W !,"NUMBER OF ENTRIES DELETED FROM THE ""NOT SENT"" BUCKET"
  1. W !,"FACILITY"
  1. W ?30,"REASON"
  1. W ?45,"# FOUND"
  1. W !,"--------"
  1. W ?30,"------"
  1. W ?60,"---------"
  1. Q
  1. ;
  1. ;DOCS ABOVE
  1. ;THE INSTALER IS THE DUZ OF THE INSTALLER OF PATCH 4
  1. ;WE NEED TO SKIP THE RESEND SESSION IF THIS IS A BETA SITE
  1. COUNT(INSTALER) ;EP - COUNT NUMBER OF TRANSACTIONS IN SESSION LOG THAT WOULD BE PROCESSED BY THE POST INIT (BARUFEX2)
  1. N TEMPDUZ2,UDUZ,SESSID,TRDATE,COUNT
  1. S COUNT=0
  1. S TEMPDUZ2=DUZ(2)
  1. S DUZ(2)=1
  1. F S DUZ(2)=$O(^BARSESS(DUZ(2))) Q:'DUZ(2) D
  1. .S UDUZ=0
  1. .F S UDUZ=$O(^BARSESS(DUZ(2),UDUZ)) Q:'UDUZ D
  1. ..I $G(INSTALER) Q:UDUZ=INSTALER
  1. ..S SESSID=0
  1. ..F S SESSID=$O(^BARSESS(DUZ(2),UDUZ,11,SESSID)) Q:'SESSID D
  1. ...S TRDATE=0
  1. ...F S TRDATE=$O(^BARSESS(DUZ(2),UDUZ,11,SESSID,2,TRDATE)) Q:'TRDATE D
  1. ....Q:'$O(^BARSESS(DUZ(2),UDUZ,11,SESSID,21,0))&('$$GET1^DIQ(90057.110102,TRDATE_","_SESSID_","_UDUZ_",",.02,"I"))
  1. ....S COUNT=COUNT+1
  1. W !,COUNT
  1. S DUZ(2)=TEMPDUZ2
  1. Q
  1. ;
  1. STARTST ;EP - LETS GET A COUNT OF INDIVIDUALLY SENT TRANSACTIONS
  1. N TEMPDUZ2,UDUZ,SESSID,TRDATE,COUNT
  1. S COUNT=0
  1. S TEMPDUZ2=DUZ(2)
  1. S DUZ(2)=1
  1. F S DUZ(2)=$O(^BARSESS(DUZ(2))) Q:'DUZ(2) D
  1. .S UDUZ=0
  1. .F S UDUZ=$O(^BARSESS(DUZ(2),UDUZ)) Q:'UDUZ D
  1. ..I $G(INSTALER) Q:UDUZ=INSTALER
  1. ..S SESSID=0
  1. ..F S SESSID=$O(^BARSESS(DUZ(2),UDUZ,11,SESSID)) Q:'SESSID D
  1. ...S TRDATE=0
  1. ...F S TRDATE=$O(^BARSESS(DUZ(2),UDUZ,11,SESSID,2,TRDATE)) Q:'TRDATE D
  1. ....Q:'$$GET1^DIQ(90057.110102,TRDATE_","_SESSID_","_UDUZ_",",.02,"I") ;A/R UFMS SESSION LOG, TRANSMITTED?
  1. ....W !,UDUZ,?10,SESSID,?25,TRDATE
  1. ....S COUNT=COUNT+1
  1. W !,COUNT
  1. S DUZ(2)=TEMPDUZ2
  1. Q