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

PRCA399E.m

Go to the documentation of this file.
PRCA399E ;MNTVBB/RGB - Restores any changes to AR files to allow re-testing ; FEB 05, 2022
 ;;4.5;Accounts Receivable;**399**;;Build 67
 ;;Per VA Directive 6402, this routine should not be modified.
EN ;Purge old statement dates from file ^RC(341
 Q
 D NOW^%DTC S ^XTMP("PRCA399",$J,999,"C1RESET/STATEMENTDATES")=%
 S U="^",(PRCAT,PRCAX)=0
1 ;KILL 341 DATED NODES FOR PRCA399 FIX
 S PRCADEB=0,PRCADATE=6789468.884099    ;Delete statement runs past 5/31/21
2 F  S PRCADEB=$O(^XTMP("PRCA399",$J,2,1,PRCADEB)),PRCADT=0 Q:'PRCADEB  D
 . F  S PRCADT=$O(^RC(341,"AD",PRCADEB,2,PRCADT)),PRCAIEN=0 Q:'PRCADT  D
 .. I PRCADATE'>PRCADT Q
 .. F  S PRCAIEN=$O(^RC(341,"AD",PRCADEB,2,PRCADT,PRCAIEN)) Q:'PRCAIEN  D
 ... S PRCAR=$G(^RC(341,PRCAIEN,1))
 ... I PRCAR["-" S ^XTMP("PRCA399",$J,7,5,341,PRCAIEN,1)=PRCAR
 ... M ^XTMP("PRCA399",$J,7,1,341,PRCAIEN)=^RC(341,PRCAIEN) S PRCADTW=9999999.999999-PRCADT
 ... ;W !,PRCADEB,?15,PRCADTW,?30,PRCAR
 ... S DA=PRCAIEN,DIK="^RC(341," D ^DIK    ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 D NOW^%DTC S ^XTMP("PRCA399",$J,999,"C2ENDREMOVEOLDSTATEMENTDATES")=%
 K PRCAT,PRCAXXX,PRCADEB,PRCADT,PRCADATE,PRCAIEN,PRCAR,PRCADTW,DA,DIK
 Q
 ;
5 ;flip tx type 14 and negative amount to 13 and postive amount.
 D NOW^%DTC S ^XTMP("PRCA399",$J,999,"D1BEGFLIPNEGTXCODE14")=%
 S U="^",PRCAT=0,PRCAX=0,PRCAIEN=^XTMP("PRCA399",$J,1,0,0)-1 ;PRCAF1ST
 F  S PRCAIEN=$O(^PRCA(433,PRCAIEN)) Q:'PRCAIEN  D
 .S PRCATXN=$G(^PRCA(433,PRCAIEN,1)) Q:'PRCATXN  I $P(PRCATXN,U,2)'=14!($P(PRCATXN,U,5)'<0) Q
 .S ^XTMP("PRCA399",$J,7,2,PRCAIEN,1)=PRCATXN
 .S $P(PRCATXN,U,2)=13,PRCAAMT=$P(PRCATXN,U,5),PRCAAMT=$TR(PRCAAMT,"-"),$P(PRCATXN,U,5)=PRCAAMT ;W:PRCAX !,?13,PRCATXN R:'PRCAX PRCAX:10
 .S ^XTMP("PRCA399",$J,7,2,PRCAIEN,2)=PRCATXN
 .S ^PRCA(433,PRCAIEN,1)=PRCATXN
 D NOW^%DTC S ^XTMP("PRCA399",$J,999,"D2ENDFLIPNEGTXCODE14")=%
 K PRCAT,PRCAX,PRCAIEN,PRCATXN,PRCAAMT
 Q
 ;
10 ;set newly calc'd node 7 into file 430 when different (including missing 2nd half of node)
 S U="^",(PRCABILL,PRCAT1,PRCAT2,PRCAT3,PRCAT4,PRCAX)=0
 S ^XTMP("PRCA399",$J,999,"M1BEGNODE7FLIP")=%
 F  S PRCABILL=$O(^XTMP("PRCA399",$J,2,1,PRCADBTR,2,PRCABILL)) Q:'PRCABILL  D
 .Q:'$D(^XTMP("PRCA399",$J,1,1,PRCABILL,7))
 .I ";16;42;"'[(";"_$P($G(^PRCA(430,PRCABILL,0)),U,8)_";") Q
 .S PRCAND7=$G(^XTMP("PRCA399",$J,1,1,PRCABILL,7)),PRCAND7A=$G(^XTMP("PRCA399",$J,1,1,PRCABILL,8)) S PRCAT1=PRCAT1+1
 .I PRCAND7'=PRCAND7A D  Q
 ..S PRCAT4=PRCAT4+1
 ..F I=1:1:5,7:1:11 S $P(^PRCA(430,PRCABILL,7),U,I)=$P(PRCAND7A,U,I)
 ..S ^XTMP("PRCA399",$J,7,3,PRCABILL,"7A")=PRCAND7,^XTMP("PRCA399",$J,7,3,PRCABILL,"7B")=PRCAND7A
 ..I $P(PRCAND7,U,1,5)'=$P(PRCAND7A,U,1,5) S PRCAT2=PRCAT2+1
 ..I $P(PRCAND7,U,7,11)'=$P(PRCAND7A,U,7,11) S PRCAT3=PRCAT3+1
 K PRCABILL,PRCAT1,PRCAT2,PRCAT3,PRCAT4,PRCAX,PRCAND7,PRCAND7A
 Q
 ;
14 ;Modify transaction amt if leftover decrease or prepay
 D NOW^%DTC S ^XTMP("PRCA399",$J,999,"G1BEGINTXADJUSTTX")=%
 S U="^",PRCADEB=0
 F  S PRCADEB=$O(^XTMP("PRCA399",$J,2,1,PRCADEB)),PRCABILL=0 Q:'PRCADEB  D
 .F  S PRCABILL=$O(^XTMP("PRCA399",$J,2,1,PRCADEB,4,PRCABILL)),PRCATX=0 Q:'PRCABILL  D
 ..F  S PRCATX=$O(^XTMP("PRCA399",$J,2,1,PRCADEB,4,PRCABILL,PRCATX)) Q:'PRCATX  D
 ...S PRCARN=^XTMP("PRCA399",$J,2,1,PRCADEB,4,PRCABILL,PRCATX),PRCAADJ=$P(PRCARN,":")
 ...S PRCARO=^PRCA(433,PRCATX,1) ;W !!,PRCATX,?15,PRCARN,!,?15,PRCARO
 ...S $P(PRCARO,U,5)=$P(PRCARO,U,5)-PRCAADJ     ;W !,?15,PRCARO
 ...S ^PRCA(433,PRCATX,1)=PRCARO,^XTMP("PRCA399",$J,999,"GADJTX",PRCATX)=PRCARO  ;%%%%%%%%%%%%%%%%
 D NOW^%DTC S ^XTMP("PRCA399",$J,999,"G2ENDTXADJUST")=%
 K PRCADEB,PRCABILL,PRCATX,PRCARN,PRCARO,PRCAADJ,PRCASITE
 Q
 ;
15 ;SET PREVIOUS EVENT FILE DATE (LAST STATEMENT) AND BALANCES INTO EVENT CAPTURE (341)
 N PRCAEVT
 D NOW^%DTC S ^XTMP("PRCA399",$J,999,"G3BEGINRC341STATEMENTSET")=%
 S PRCASITE=$E($$SITE^RCMSITE(),1,3)
 S U="^",PRCADB=0,PRCASTDT=$P(^XTMP("PRCA399",$J,2,1,0),U)+.000001,PRCADSET=(9999999.999999-PRCASTDT)\1
 S PRCACTR=$P(^RC(341,0),U,3),$P(^RC(341,0),U,3)=$P(^RC(341,0),U,3)+300000,PRCAMAX=$P(^RC(341,0),U,3) L -^RC(341,0):0
 F  S PRCADB=$O(^XTMP("PRCA399",$J,2,8,PRCADB)),PRCAEVT=0 Q:'PRCADB  D
 .K PRCA341 S PRCAEBAL=^XTMP("PRCA399",$J,2,8,PRCADB,0)
 .F I=1:1:3 S PRCAEVT=PRCAEVT+$P(PRCAEBAL,U,I)
 .S:$D(^XTMP("PRCA399",$J,2,1,PRCADB,0)) $P(^XTMP("PRCA399",$J,2,1,PRCADB,0),U,4)=PRCAEVT
 .;I $P(^XTMP("PRCA399",$J,2,1,PRCADB,0),U,4)<.01 S PRCAEBAL="0^0^0^0^0"
 .I PRCAEVT["-" S ^XTMP("PRCA399",$J,9,7,PRCADB)=PRCAEVT
 .S PRCACTR=PRCACTR+1 I PRCACTR>PRCAMAX D 151
 .S PRCA341(0)=PRCASITE_"-"_PRCACTR_"-0^2^^^"_PRCADB_U_PRCASTDT_U_PRCASTDT_"^.5^"_PRCASITE_"^^1"
 .S PRCA341(1)=$P(PRCAEBAL,U,1,5)   ;S PRCA341(6)=$P(^XTMP("PRCA399",$J,2,1,0),U,4)
 .D NOW^%DTC
 .S PRCA341(4)="Patch PRCA*4.5*399 reset statement totals from recalculation processing^"_%
 .M ^XTMP("PRCA399",$J,9,9,PRCADB,PRCACTR)=PRCA341
 .D PREVDTCK
 .M ^RC(341,PRCACTR)=PRCA341 S DA=PRCACTR,DIK="^RC(341," D IX^DIK  ;%%%%%%%%%%%%%%%
 D NOW^%DTC S ^XTMP("PRCA399",$J,999,"G4ENDRC341STATEMENTSET")=%
 K PRCADSET,PRCAEBAL,PRCAMAX,PRCASTDT,PRCACTR,PRCA341,PRCADB,II
 Q
 ;
PREVDTCK ;CHECK TO REMOVE SAME DATE ENTRY
 S PRCAPDT=9999999.999999-PRCASTDT
 F  S PRCAPDTP=$O(^RC(341,"AD",PRCADB,2,PRCAPDT,0)) Q:'PRCAPDTP  D
 .S DA=PRCAPDTP,DIK="^RC(341," D ^DIK
 Q
151 ;IN CASE NEW EVENT FILE SET FROM CALC EXCEED MAX
 L +^RC(341,0):0
 S PRCACTR=$P(^RC(341,0),U,3),$P(^RC(341,0),U,3)=$P(^RC(341,0),U,3)+100000,PRCAMAX=$P(^RC(341,0),U,3) L -^RC(341,0):0
 Q
 ;****** CHECK NODE TOTAL TO TX DOLLLARS **********
16 ;SET NEW 2,3,8 NODE BACK INTO FILE 433
 S PRCADEB=0,Z="/",XX=0,PRCAFIX=0,T=0
 ;PRCAT238=PRIN;INT;FEE;NODE#;TX CD;TX CHG;DIFF BETWEEN TX CHG AND NODE TOT;FLIP
 ;S ^XTMP("PRCA399",$J,4,1,PRCADEB,PRCABILL,PRCATX,PRCATXN,1)=PRCAT238
 ;S ^XTMP("PRCA399",$J,4,1,PRCADEB,PRCABILL,PRCATX,PRCATXN,2)=PRCAT238.DIFF.FLIP?
 F  S PRCADEB=$O(^XTMP("PRCA399",$J,4,1,PRCADEB)),PRCABILL=0 Q:'PRCADEB  D
 .F  S PRCABILL=$O(^XTMP("PRCA399",$J,4,1,PRCADEB,PRCABILL)),PRCATX=0 Q:'PRCABILL  D
 ..F  S PRCATX=$O(^XTMP("PRCA399",$J,4,1,PRCADEB,PRCABILL,PRCATX)),PRCATYP=0 Q:'PRCATX  D
 ...F  S PRCATYP=$O(^XTMP("PRCA399",$J,4,1,PRCADEB,PRCABILL,PRCATX,PRCATYP)) Q:'PRCATYP  D
 ....S PRCAT1=^XTMP("PRCA399",$J,4,1,PRCADEB,PRCABILL,PRCATX,PRCATYP,1)
 ....S PRCAT2=^XTMP("PRCA399",$J,4,1,PRCADEB,PRCABILL,PRCATX,PRCATYP,2)
 ....S PRCAFIX=0
 ....F I=1:1:3 I +$P(PRCAT1,U,I)'=+$P(PRCAT2,U,I) S PRCAFIX=1 D  Q
 .....I PRCATYP=2 F I=2,3 S $P(^PRCA(433,PRCATX,2),U,I+5)=+$P(PRCAT2,U,I)
 .....I ";3;8;"[PRCATYP F I=1:1:3 S $P(^PRCA(433,PRCATX,PRCATYP),U,I)=+$P(PRCAT2,U,I)
 .....;I PRCAFIX S T=T+1 W !,PRCADEB,Z,PRCABILL,Z,PRCATX W ?30,PRCAT1,!,?30,PRCAT2 R:'XX XX
 ....Q
 K PRCADB,PRCABILL,PRCATX,PRCATYP,PRCAT1,PRCAT2,PRCAFIX
 Q
 ;
20 ;;LIST REMAINING DISCREPANCIES
 F I=1:1:4 D MES^XPDUTL("")
 D MES^XPDUTL("Debtor(s) discrepancy list after install:"),MES^XPDUTL("")
21 S U="^",PRCADB=0,$P(PRCASP," ",80)=""
 D MES^XPDUTL($E(PRCASP,1,35)_"LST4  PRE   +   TBAL     =   BBAL     DIFF") D MES^XPDUTL("")
 F  S PRCADB=$O(^XTMP("PRCA399",$J,9,1,PRCADB)) Q:'PRCADB  D
 . S PRCAR=^XTMP("PRCA399",$J,9,1,PRCADB)
 . S PRCADPT=+$P(^RCD(340,PRCADB,0),U),PRCADBNM=$E($P(^DPT(PRCADPT,0),U),1,35)
 . S PRCAW="" F I=1,2,3 S PRCAW=PRCAW_$J("$"_$FN($P(PRCAR,U,I),",",2),9)_" "_$E("+= ",I)_" "
 . S PRCADIFF=$P(PRCAR,U,2)-$P(PRCAR,U)-$P(PRCAR,U,3),PRCAW=$P(PRCAR,U)+$P(PRCAR,U,2)-$P(PRCAR,U,3)
 . S PRCAW=PRCAW_"   ("_$J("$"_$FN(($P(PRCAR,U)+$P(PRCAR,U,2)-$P(PRCAR,U,3)),",",2),9)_")"
 . D MES^XPDUTL($$LJ^XLFSTR(PRCADB,8," ")_$$LJ^XLFSTR(PRCADBNM,27," ")_$E($P(^DPT(PRCADPT,0),U,9),6,9)_"  "_$P(PRCAR,U)_"     +   "_$P(PRCAR,U,2)_"   =   "_$P(PRCAR,U,3)_"  "_PRCADIFF)
 . D MES^XPDUTL("")
 K PRCADB,PRCASP,PRCAR,PRCADPT,PRCADBNM,PRCADIFF,PRCAW
  ;
22 ;LIST ADJUSTED TRANSACTIONS
 F I=1:1:4 D MES^XPDUTL("")
 D MES^XPDUTL("Transactions modified during install to correct bill discrepancy:"),MES^XPDUTL("")
 S PRCADB=0,$P(PRCASP," ",80)=""
 F  S PRCADB=$O(^XTMP("PRCA399",$J,2,1,PRCADB)),PRCABILL=0 Q:'PRCADB  D
 .F  S PRCABILL=$O(^XTMP("PRCA399",$J,2,1,PRCADB,1,PRCABILL)),PRCATX=0 Q:'PRCABILL  D
 ..F  S PRCATX=$O(^XTMP("PRCA399",$J,2,1,PRCADB,1,PRCABILL,2,PRCATX)) Q:'PRCATX  D
 ...S PRCADPT=+$P(^RCD(340,PRCADB,0),U),PRCADBNM=$E($P(^DPT(PRCADPT,0),U),1,35),PRCASSN=$E($P(^DPT(PRCADPT,0),U,9),6,9)
 ...S PRCARN=^XTMP("PRCA399",$J,2,1,PRCADB,4,PRCABILL,PRCATX),PRCAADJ=$P(PRCARN,":"),PRCARO=$P(PRCARN,":",3)
 ...D MES^XPDUTL($E($P(^DPT(PRCADPT,0),U),1,35)_"   "_PRCASSN_"    "_$P(^PRCA(430,PRCABILL,0),U)_"    TX#: "_PRCATX)
 ...D MES^XPDUTL("ADJ: "_PRCAADJ_$E(PRCASP,1,7)_"OLD TX:  "_PRCARO)
 ...S $P(PRCARO,U,5)=$P(PRCARO,U,5)-PRCAADJ
 ...D MES^XPDUTL("ADJ: "_PRCAADJ_$E(PRCASP,1,7)_"ADJ TX:  "_PRCARO) D MES^XPDUTL("")
 K PRCADB,PRCABILL,PRCATX,PRCARN,PRCARO,PRCAADJ,PRCASP,PRCADBNM,PRCASSN,PRCADPT,PRCARO,PRCAADJ,PRCASP
 ;
23 ;LIST POTENTIAL PREPAYS
 F I=1:1:4 D MES^XPDUTL("")
 D MES^XPDUTL("List potential Prepays:"),MES^XPDUTL("")
 S PRCADB=0
 F  S PRCADB=$O(^XTMP("PRCA399",$J,2,1,PRCADB)),PRCABILL=0 Q:'PRCADB  D:$P(^XTMP("PRCA399",$J,2,1,PRCADB,0),U)
 . F  S PRCABILL=$O(^XTMP("PRCA399",$J,2,1,PRCADB,0,PRCABILL)),PRCATX=0 Q:'PRCABILL  D:$P(^XTMP("PRCA399",$J,2,1,PRCADB,0,PRCABILL),U)
 .. F  S PRCATX=$O(^XTMP("PRCA399",$J,2,1,PRCADB,4,PRCABILL,PRCATX)) Q:'PRCATX  D
 ...S PRCAR=^XTMP("PRCA399",$J,2,1,PRCADB,4,PRCABILL,PRCATX)
 ...S PRCABN=$P(^PRCA(430,PRCABILL,0),U),PRCADPT=+$P(^RCD(340,PRCADB,0),U),PRCADBNM=$P(^DPT(PRCADPT,0),U),PRCASSN=$E($P(^DPT(PRCADPT,0),U,9),6,9)
 ...S PRCATXR=^XTMP("PRCA399",$J,2,1,PRCADB,4,PRCABILL,PRCATX)
 ...D MES^XPDUTL($E(PRCADBNM,1,44)_"   "_PRCASSN_"    "_$P(^PRCA(430,PRCABILL,0),U)_"   TX#: "_PRCATX)
 ...D MES^XPDUTL("     PREPAY $: "_$P(PRCATXR,":")_"   "_$P(PRCATXR,":",3)) D MES^XPDUTL("")
 K PRCADB,PRCABILL,PRCATX,PRCARN,PRCARO,PRCAADJ,PRCASSN,PRCATXR,PRCAR,PRCABN,PRCADPT,PRCADBNM,PRCASP
 Q
 ;