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

BARPST3A.m

Go to the documentation of this file.
  1. BARPST3A ; IHS/SD/LSL - PAYMENT COMMAND CNT. ; 05/07/2008
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**3,4,23**;OCT 26, 2005
  1. ;** A/R posting program
  1. ; continuation of command processing
  1. ;
  1. ; IHS/SD/LSL - 09/23/02 - V1.6 Patch 3 - HIPAA
  1. ; Don't allow PENDING category to affect balance
  1. ;
  1. ; ********************************************************************
  1. Q
  1. ;
  1. SETTMP(BARTYP,BARAMT,BARLIN,BARCAT,BARATYP,BAROAMT) ;EP - store & check amounts; HEAVILY MODIFIED;BAR*1.8*4 DD 4.1.7.2
  1. ;SEE SETTMPO BELOW FOR ORIGINAL CODE
  1. K BARFLG("BARWARN")
  1. S BARSTOP=0
  1. S BARDA=$O(^BARTMP($J,"B",BARLIN,""))
  1. Q:BARDA=""
  1. ; -------------------------------
  1. B1 ;
  1. S BARBBAL=$P(^BARTMP($J,BARDA,BARLIN),U,5)
  1. I BARCAT'=21&(BARCAT'=22) D
  1. .S BARBBAL=BARBBAL+BAROAMT
  1. .D CKNEG^BARPST4(BARBBAL,BAROAMT,BARAMT) ;CHECK FOR NEGATIVE BALANCES
  1. Q:BARSTOP
  1. I BARTYP="P" D Q:BARSTOP
  1. .S $P(^BARTMP($J,BARDA,BARLIN),U,6)=$P($G(^BARTMP($J,BARDA,BARLIN)),U,6)+BARAMT
  1. .S BARPMT=BARPMT+BARAMT
  1. I BARTYP="A" D Q:BARSTOP
  1. .S $P(^BARTMP($J,BARDA,BARLIN),U,7)=$P($G(^BARTMP($J,BARDA,BARLIN)),U,7)+BARAMT
  1. .S BARADJ=BARADJ+BARAMT
  1. I BARCAT'=21&(BARCAT'=22) D ;IF PENDING DON'T CHANGE BALANCE
  1. .S $P(^BARTMP($J,BARDA,BARLIN),U,5)=$P(^BARTMP($J,BARDA,BARLIN),U,5)-BARAMT
  1. S BARJ=$O(BARTR(BARLIN,""),-1)
  1. S BARJ=BARJ+1
  1. S BARTR(BARLIN,BARJ)=BARTYP_U_BARAMT_U_BARCAT_U_$G(BARATYP)_U_$G(REVERSAL)_U_$G(REVSCHED) ;IHS/SD/TPF BAR*1.8*4 UFMS SCR56,SCR58
  1. K BAROAMT,BARBBAL
  1. Q
  1. ; *********************************************************************
  1. HELP ;
  1. W $$EN^BARVDF("IOF"),!!
  1. W "Select one of the following: ",!
  1. W !?5,"P - Post transactions to A/R."
  1. W !?5,"M - More transaction processing."
  1. W !?5,"C - Cancel all transactions and start over."
  1. W !!,"This is a required response - Please select one to proceed!"
  1. D EOP^BARUTL(1)
  1. D HIT1^BARPST2(BARPASS),EOP^BARUTL(2)
  1. Q
  1. ;
  1. ; *********************************************************************
  1. WARN(BARLVL,BARDIF) ;EP - warner
  1. I BARLVL=4,'$$IHS^BARUFUT(DUZ(2)) K BARFLG("BARWARN") Q ;BAR*1.8*4 DD 4.1.7.2 P.OTT
  1. ;;;I BARLVL=4,'$$IHSERA^BARUFUT(DUZ(2)) K BARFLG("BARWARN") Q ;BAR*1.8*4 DD 4.1.7.2 P.OTT
  1. I '$G(BARFLG("BARWARN")) W !
  1. W *7,!,"Warning - Posted amount exceeds the "
  1. W $S(BARLVL=1:"BATCH",BARLVL=2:"ITEM",BARLVL=3:"LOCATION",1:"BILL")_" balance" ;BAR*1.8*4 DD 4.1.7.2
  1. W " by "_BARDIF_" amount" ;BAR*1.8*4 DD 4.1.7.2
  1. S BARFLG("BARWARN")=1
  1. Q
  1. ;
  1. ; *********************************************************************
  1. SETTMPO(BARTYP,BARAMT,BARLIN,BARCAT,BARATYP,BAROAMT) ;EP - store & check amounts;ORIGINAL CODE;BAR*1.8*4
  1. K BARFLG("BARWARN")
  1. S BARSTOP=0
  1. S BARDA=$O(^BARTMP($J,"B",BARLIN,""))
  1. Q:BARDA=""
  1. ; -------------------------------
  1. B1O ;
  1. S BARBBAL=$P(^BARTMP($J,BARDA,BARLIN),U,5) ;BAR*1.8*4 DD 4.1.7.2
  1. I BARTYP="P" D Q:BARSTOP
  1. .I (BARBBAL-BARAMT)<0 D WARN(4,(BARBBAL-BARAMT)) ;BAR*1.8*4 SDD 4.1.7.2
  1. .I +$G(BAREOB),(BAREOV(4)-(BARPMT+BARAMT))<0 D WARN(3,(BAREOV(4)-(BARPMT+BARAMT)))
  1. .I (BARITV(19)-(BARPMT+BARAMT))<0 D WARN(2,(BARITV(19)-(BARPMT+BARAMT)))
  1. .I (BARCLV(17)-(BARPMT+BARAMT))<0 D WARN(1,(BARCLV(17)-(BARPMT+BARAMT)))
  1. .I $G(BARFLG("BARWARN")) D Q:BARSTOP
  1. ..K BARFLG("BARWARN")
  1. ..K DIR
  1. ..S DIR(0)="Y"
  1. ..S DIR("A")="ARE YOU SURE"
  1. ..S DIR("B")="NO"
  1. ..D ^DIR
  1. ..K DIR
  1. ..I Y'=1 S BARSTOP=1
  1. .S $P(^BARTMP($J,BARDA,BARLIN),U,6)=$P($G(^BARTMP($J,BARDA,BARLIN)),U,6)+BARAMT
  1. .S BARPMT=BARPMT+BARAMT
  1. I BARTYP="A" D Q:BARSTOP
  1. .I (BARBBAL-BARAMT)<0 D WARN(4,(BARBBAL-BARAMT)) ;BAR*1.8*4 SDD 4.1.7.2
  1. .S $P(^BARTMP($J,BARDA,BARLIN),U,7)=$P($G(^BARTMP($J,BARDA,BARLIN)),U,7)+BARAMT
  1. .S BARADJ=BARADJ+BARAMT
  1. S:BARCAT'=21 $P(^BARTMP($J,BARDA,BARLIN),U,5)=$P(^BARTMP($J,BARDA,BARLIN),U,5)-BARAMT
  1. S BARJ=$O(BARTR(BARLIN,""),-1)
  1. S BARJ=BARJ+1
  1. S BARTR(BARLIN,BARJ)=BARTYP_U_BARAMT_U_BARCAT_U_$G(BARATYP)_U_$G(REVERSAL)_U_$G(REVSCHED) ;IHS/SD/TPF BAR*1.8*4 UFMS SCR56,SCR58
  1. Q
  1. ; *********************************************************************