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

BARPNP4.m

Go to the documentation of this file.
BARPNP4 ; IHS/SD/LSL - POSTING EDIT OF TRANSACTIONS ; 08/22/2008
 ;;1.8;IHS ACCOUNTS RECEIVABLE;**4,7**;OCT 26, 2005
 ;
 ; IHS/SD/LSL - 12/24/2002 - V1.7 - XJG-1202-160021
 ;       When posting refunds allow edit of ONLY refund.
 ;
 ; *********************************************************************
 ;
EN ;EP
 I '$D(BARTR(BARLIN)) D  G ASKCOM^BARPNP3
 .W *7,!!,"No transactions to Edit."
 .D EOP^BARUTL(1)
 N BARSEL
 S (BARSEL,BARJ)=0
 S BARSEL=$$DSPLY(BARLIN)
 W !
 S DIR(0)="N^1:"_BARSEL
 D ^DIR
 K DIR
 I $D(DUOUT) G ASKCOM^BARPNP3
 S BARSEL=Y
 ; -------------------------------
 ;
PARSE ;
 S BARLIN=$O(BARSEL(BARSEL,""))
 Q:'BARLIN
 S BARV=$O(BARSEL(BARSEL,BARLIN,""))
 Q:'BARV
 N BARREC
 S BARREC=BARTR(BARLIN,BARV)
 S BARTYP=$P(BARREC,U,1)
 S (BAROAMT,BARAMT)=$P(BARREC,U,2)
 S BARCAT=$P(BARREC,U,3)
 S BARATYP=$P(BARREC,U,4)
 ; -------------------------------
 ;
ASKAMT ;
 ;S BARASK=$S(BARTYP="P":"Payment ",BARTYP="A":"Adjustment ",1:"")_"Amount: "
 W !!,BARASK_$J(BARAMT,0,2)_"// " R X:DTIME
 I X="" S X=BARAMT
 S X=$$AMT^BARPNPU(X)
 I X="^" G ASKCOM^BARPNP3
 I X="?" W *7,"  Must be a valid number!" G ASKAMT
 S BARAMT=X
 I BARTYP="P" G S1
 I BARTYP="R" D
 .S BARCAT=19
 .S BARAMT=-BARAMT
 ;
 ;** adjustment category/type dialog
 S DIC("B")=BARCAT
 S DIC=90052.01
 S DIC(0)="AEMNQZ"
 S DIC("A")="Adjustment Category: "
 S DIC("S")="I Y=3!(Y=4)!(Y=13)!(Y=14)!(Y=15)!(Y=16)!(Y=20)!(Y=21)!(Y=22)"
 S:BARTYP="R" DIC("S")="I Y=19"
 K DD,DO
 D ^DIC
 K DIC
 I +Y<0 W *7 W !! G ASKAMT
 S BARCAT=+Y
 S:BARCAT=16 BARAMT=-BARAMT ;grouper
 S BARX=0,BARJ=0 K BARK
 F  S BARX=$O(^BARTBL("D",BARCAT,BARX)) Q:'BARX  D  Q:BARJ>1
 .S BARJ=BARJ+1
 .Q:BARJ>1
 .S BARK=BARX
 I BARJ=1,$G(BARK) S BARATYP=BARK G S1
 S DIC("B")=BARATYP
 S DIC=90052.02
 S DIC(0)="AEMNQZ"
 S DIC("A")="Adjustment Type: "
 S DIC("S")="I $P(^(0),U,2)=BARCAT"
 K DD,DO
 D ^DIC
 K DIC
 I +Y<0 W *7,!! G ASKAMT
 S BARATYP=+Y
 ; -------------------------------
 ;
S1 ;
 D SETTMP(BARTYP,BARAMT,BARLIN,BARCAT,BARATYP)
 G ASKCOM^BARPNP3
 ; *********************************************************************
SETTMP(BARTYP,BARAMT,BARLIN,BARCAT,BARATYP) ; HEAVILY MODIFIED;BAR*1.8*4 DD 4.1.7.2
 K BARFLG("BARWARN")
 S BARSTOP=0
 S BARDA=$O(^BARTMP($J,"B",BARLIN,""))
 S BARBBAL=$P(^BARTMP($J,BARDA,BARLIN),U,5)
 I BARCAT'=21&(BARCAT'=22) D
 .S BARBBAL=BARBBAL+BAROAMT
 .D CKNEG^BARPST4(BARBBAL,0,BARAMT)      ;CHECK FOR NEGATIVE BALANCES
 Q:BARSTOP
B1 ;
 I BARTYP="R" D
 .Q:BAROAMT=BARAMT            ;AMOUNT NOT CHANGED;MRS:BAR*1.8*7 IM30227
 .S BARBBAL=BARBBAL-BARAMT
 .S BARADJ=BARADJ+BARAMT-BAROAMT
 .S BARREF=BARREF+BARAMT-BAROAMT
 .S $P(^BARTMP($J,BARDA,BARLIN),U,7)=BARADJ
 .S $P(^BARTMP($J,BARDA,BARLIN),U,5)=BARBBAL
 ;
 I BARTYP="A" D
 .Q:BAROAMT=BARAMT           ;AMOUNT NOT CHANGED;MRS:BAR*1.8*7 IM30227
 .S $P(^BARTMP($J,BARDA,BARLIN),U,7)=$P($G(^BARTMP($J,BARDA,BARLIN)),U,7)+BARAMT-BAROAMT
 .S BARADJ=BARADJ+BARAMT-BAROAMT
 .S:BARCAT'=21&(BARCAT'=22) $P(^BARTMP($J,BARDA,BARLIN),U,5)=$P(^BARTMP($J,BARDA,BARLIN),U,5)-BARAMT
 S BARTR(BARLIN,BARV)=BARTYP_U_BARAMT_U_BARCAT_U_BARATYP
 K BAROAMT,BARBBAL
 Q
 ;
 ; *********************************************************************
 ;
DSPLY(BARLIN) ;EP - display bill entity
 N BARPG,BARJ
 S BARPG=0
 D HEAD
 S (BARJ,BARSEL)=0
 F  S BARJ=$O(BARTR(BARLIN,BARJ)) Q:'BARJ  D
 .S BARSEL=BARSEL+1
 .W !,?1,BARSEL_"."
 .W ?8,$P(BARTR(BARLIN,BARJ),U,1)
 .W ?13,$J($P(BARTR(BARLIN,BARJ),U,2),8,2)
 .S Y=$P(BARTR(BARLIN,BARJ),U,3)
 .I Y W ?25,$E($P(^BAR(90052.01,Y,0),U,1),1,23)
 .S Y=$P(BARTR(BARLIN,BARJ),U,4)
 .I Y W ?50,$E($P(^BARTBL(Y,0),U,1),1,28)
 .S BARSEL(BARSEL,BARLIN,BARJ)=""
 .Q
 Q BARSEL
 ; *********************************************************************
 ;
 W $$EN^BARVDF("IOF"),!
 S BARPG=BARPG+1
 W "Transactions for "_$P(^DPT(+BARPASS,0),U,1)_"  from "_$$SDT^BARDUTL($P(BARPASS,U,2))_" to "_$$SDT^BARDUTL($P(BARPASS,U,3))
 W ?(IOM-15),"Page: "_BARPG
 W !!
 W "Trans",?8,"Type",?15,"Amount",?25,"Category",?50,"Adj. Type"
 S BARDSH=""
 S $P(BARDSH,"-",IOM)=""
 W !,BARDSH
 Q
SETTMPO(BARTYP,BARAMT,BARLIN,BARCAT,BARATYP) ; ORIGINAL CODE;BAR*1.8*4 DD 4.1.7.2
 K BARFLG("BARWARN")
 S BARSTOP=0
 S BARDA=$O(^BARTMP($J,"B",BARLIN,""))
B1O ;
 I BARTYP="A" D
 .S $P(^BARTMP($J,BARDA,BARLIN),U,7)=$P($G(^BARTMP($J,BARDA,BARLIN)),U,7)+BARAMT-BAROAMT
 .S BARADJ=BARADJ+BARAMT-BAROAMT
 S $P(^BARTMP($J,BARDA,BARLIN),U,5)=$P(^BARTMP($J,BARDA,BARLIN),U,5)-BARAMT+BAROAMT
 S BARTR(BARLIN,BARV)=BARTYP_U_BARAMT_U_BARCAT_U_BARATYP
 K BAROAMT
 Q