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

ABPAPD7A.m

Go to the documentation of this file.
  1. ABPAPD7A ;ALLOCATE APPLIED PAYMENT TRANS.;[ 07/25/91 11:52 AM ]
  1. ;;1.4;AO PVT-INS TRACKING;*0*;IHS-OKC/KJR;JULY 25, 1991
  1. W !!,"<<< NOT AN ENTRY POINT - ACCESS DENIED >>>",!! Q
  1. BEGIN ;ENTRY POINT
  1. ;PROCEDURE TO ALLCOCATE DIRECTLY APPLIED CURRENT TRANSACTIONS
  1. S ABPACDFN=0 F ABPAI=0:0 D Q:+ABPACDFN=0
  1. .S ABPACDFN=$O(ABPA("AP",ABPACDFN)) Q:+ABPACDFN=0
  1. .Q:$D(^ABPVAO(ABPATDFN,1,ABPACDFN,0))'=1 S ABPADOS=+^(0)
  1. .F ABPAJ=1:1:6 S @("ABPAP"_ABPAJ)=0
  1. .S DA=0 F ABPAJ=0:0 D Q:+DA=0
  1. ..S DA=$O(ABPA("AP",ABPACDFN,DA)) Q:+DA=0
  1. ..I $P(ABPA("AP",ABPACDFN,DA),"^",2)="P" D Q
  1. ...S ABPAP2=ABPAP2+(+ABPA("AP",ABPACDFN,DA))
  1. ..I $P(ABPA("AP",ABPACDFN,DA),"^",2)="N" D Q
  1. ...S ABPAP3=ABPAP3+(+ABPA("AP",ABPACDFN,DA))
  1. ..I $P(ABPA("AP",ABPACDFN,DA),"^",2)="D" D Q
  1. ...S ABPAP4=ABPAP4+(+ABPA("AP",ABPACDFN,DA))
  1. ..I $P(ABPA("AP",ABPACDFN,DA),"^",2)="S" D Q
  1. ...S ABPAP5=ABPAP5+(+ABPA("AP",ABPACDFN,DA))
  1. .F ABPAJ=2:1:5 D
  1. ..S $P(ABPA("CP",ABPADOS,ABPACDFN),"^",ABPAJ)=@("ABPAP"_ABPAJ)
  1. .S ABPACPD=0 F ABPAJ=2:1:5 S ABPACPD=@("ABPAP"_ABPAJ)+ABPACPD
  1. .S $P(ABPA("CP",ABPADOS,ABPACDFN),"^",6)=ABPACPD
  1. ;---------------------------------------------------------------------
  1. ;THIS PROCEDURE WILL ALLOCATE ANY PAYMENT TRANSACTION NOT DIRECTLY
  1. ;LINKED TO A SPECIFIC BILL ACCROSS ALL BILLS INVOLVED IN THE TRANS-
  1. ;ACTION ACCORDING TO THE PROPORTIONAL VALUE OF EACH BILL'S OUT-
  1. ;STANDING BALANCE AT THE TIME OF ALLOCATION.
  1. ;DEDUCTIBLE TRANSACTIONS ARE DEDUCTED FROM THE OLDEST BILL OR BILLS
  1. ;UNTIL THE ENTIRE TRANSACTION HAS BEEN ALLOCATED PRIOR TO ANY OTHER
  1. ;TRANSACTIONS BEING PROPROTIONATELY ALLOCATED.
  1. S (ABPA("PB"),ABPA("NB"),ABPA("DB"),ABPA("SB"),ABPACTOB,ABPADOS)=0
  1. F ABPAI=0:0 D Q:+ABPADOS=0
  1. .S ABPADOS=$O(ABPA("HP",ABPADOS)) Q:+ABPADOS=0
  1. .S DA=0 F ABPAJ=0:0 D Q:+DA=0
  1. ..S DA=$O(ABPA("HP",ABPADOS,DA)) Q:+DA=0
  1. ..F ABPAK=1:1:6 D
  1. ...S @("ABPAP"_ABPAK)=$P(ABPA("HP",ABPADOS,DA),"^",ABPAK)
  1. ...S @("ABPAT"_ABPAK)=$P(ABPA("CP",ABPADOS,DA),"^",ABPAK)
  1. ..S ABPAZ=0 F ABPAX=2:1:5 D
  1. ...S ABPAY=@("ABPAP"_ABPAX)+@("ABPAT"_ABPAX),ABPAZ=ABPAZ+ABPAY
  1. ...S $P(ABPA("PP",ABPADOS,DA),"^",ABPAX)=ABPAY
  1. ..S $P(ABPA("PP",ABPADOS,DA),"^",6)=ABPAZ
  1. ..S $P(ABPA("PP",ABPADOS,DA),"^")=ABPAP1-ABPAT6
  1. ..S ABPACTOB=ABPACTOB+(ABPAP1-ABPAT6)
  1. ..S ABPA("PB")=ABPA("PB")+$P(ABPA("PP",ABPADOS,DA),"^",2)
  1. ..S ABPA("NB")=ABPA("NB")+$P(ABPA("PP",ABPADOS,DA),"^",3)
  1. ..S ABPA("DB")=ABPA("DB")+$P(ABPA("PP",ABPADOS,DA),"^",4)
  1. ..S ABPA("SB")=ABPA("SB")+$P(ABPA("PP",ABPADOS,DA),"^",5)
  1. I +ABPA("UP","N")<0 D NONCOV^ABPAPD7D
  1. I +ABPA("UP","D")<0 D DEDUCT^ABPAPD7D
  1. I +ABPA("UP","S")<0 D PAID^ABPAPD7D
  1. G BEGIN^ABPAPD7B