PRCARPS ;SF-ISC/YJK-REPAYMENT PAYMENT STATEMENT ;10/23/93 9:50 AM
;;4.5;Accounts Receivable;**104,315**;Mar 20, 1995;Build 67
;;Per VA Directive 6402, this routine should not be modified.
;
;PRINT THE PAYMENT STATEMENT FOR REPAYMENT PLAN
N PRCALL
BEGIN ;PRCA*4.5*315 Allow GOTBILL (PRCABN) to be passed in
I $G(GOTBILL)="" D BILL^PRCAUTL Q:'$D(PRCABN)
S PRCA("BILLN")=$P(^PRCA(430,PRCABN,0),U,1),PRCA("DEBTOR")=$P(^(0),U,9)
I $G(GOTBILL)="" I '$D(^PRCA(430,PRCABN,5)) W !,*7,"NO REPAYMENT PLAN FOR THIS ACCOUNT.",! Q
I $G(GOTBILL)=1 I '$D(^PRCA(430,PRCABN,5)) W !,*7,"NO REPAYMENT PLAN FOR THIS ACCOUNT.",! H 5 Q
S PRCAREP=1 Q
PRINTST S PRCAREP=0 D BEGIN G:PRCAREP=0 END D EN,KILLV G PRINTST
EN S PRCAPT=0 D GETPT I PRCAPT=0 W !,"NO PAYMENT DATA!",! Q
I '$D(DT) S %DT="",X="T" D ^%DT S DT=+Y K %DT
S %ZIS="Q" D ^%ZIS Q:POP I IO=IO(0) D PRT Q
I $D(IO("Q")) K IO("Q") D QUE D:IO'=IO(0) CLOSEDV Q
U IO D PRT Q
PRT K PRCAPP D GETPAY Q:'$D(PRCAPP) D SETLINE,GETPB,WRST^PRCARPS1
I '$D(DT) S %DT="",X="T" D ^%DT S DT=+Y K %DT
I PRCANOD>0 S $P(^PRCA(430,PRCABN,5,PRCANOD,0),U,3)=1,$P(^PRCA(430,PRCABN,5,PRCANOD,0),U,5)=DT
D CLOSEDV Q
QUE K ZTSK,ZTSAVE S ZTSAVE("PRCAPT")=PRCAPT,ZTSAVE("PRCADUE")=PRCADUE,ZTSAVE("PRCABN")=PRCABN,ZTSAVE("PRCA(""BILLN"")")=PRCA("BILLN"),ZTSAVE("PRCA(""DEBTOR"")")=PRCA("DEBTOR"),ZTSAVE("PRCANOD")=PRCANOD
S ZTRTN="PRT^PRCARPS",ZTDESC="Repayment Plan Statement" D ^%ZTLOAD K ZTRTN,ZTSAVE Q
CLOSEDV D ^%ZISC Q
KILLV ;
END K PRCAREP,PRCABN,PRCA,PRCAPP,PRCAPB,PRCALN,PRCAST1,PRCACITY,PRCA("DEBTNAM"),PRCA("DEBTOR"),I,PRCADT,PRCADUE,PRCAMT,PRCANOD,PRCAPT,PRCASSAN,PRCAKIP,PRCABN1,PRCA1,PRCATY,PRCARDT,PRCANO D KVAR^VADPT Q
;
GETPT S PRCAKEN=+$P(^PRCA(430,PRCABN,5,0),U,4),(PRCADUE,PRCANOD)=0
F Z=1:1:PRCAKEN I +$P(^PRCA(430,PRCABN,5,Z,0),U,4)>0,+$P(^(0),U,3)'>0 S PRCAPT=$P(^(0),U,4),PRCANOD=Z Q
F Z=1:1:PRCAKEN I +$P(^PRCA(430,PRCABN,5,Z,0),U,2)<1 S PRCADUE=+$P(^(0),U,1) Q
K Z,PRCAKEN Q
GETPAY S PRCADT=$P(^PRCA(433,PRCAPT,1),U,1) Q:PRCADT=""
S Y=PRCADT D DD^%DT
S PRCADT=$E(PRCADT,4,5)_"/"_$E(PRCADT,6,7)_"/"_$P(Y,", ",2)
S PRCAMT=+$P(^PRCA(433,PRCAPT,1),U,5) Q:PRCAMT'>0
S Z3=$S($D(^PRCA(433,PRCAPT,3)):^(3),1:"") Q:Z3=""
F Z=1:1:5 S PRCAPP(Z)=+$P(Z3,U,Z)
K Z,Z3 Q
GETPB S Z4=^PRCA(430,PRCABN,7)
F Z=1:1:5 S PRCAPB(Z)=+$P(Z4,U,Z)
K Z,Z4 Q
SETLINE S PRCALN=0 S:IOM>87 PRCALN=7 S PRCALN(0)=25+PRCALN,PRCALN(1)=50+PRCALN,PRCALN(2)=52+PRCALN,PRCALN(3)=62+PRCALN,PRCALN(4)=64+PRCALN,PRCALN(5)=10+PRCALN,PRCALN(6)=30+PRCALN
S PRCALL(1)=18+PRCALN,PRCALL(2)=20+PRCALN,PRCALL(3)=30+PRCALN,PRCALL(4)=32+PRCALN,PRCALL(5)=42+PRCALN,PRCALL(6)=44+PRCALN,PRCALL(7)=54+PRCALN,PRCALL(8)=56+PRCALN,PRCALL(9)=66+PRCALN,PRCALL(10)=68+PRCALN,PRCALL(11)=78+PRCALN Q
;==================== REPRINT STATEMENT ============================
EN1 ;Reprint the payment statement.
S PRCAREP=0 D BEGIN G:+PRCAREP=0 END
K PRCARDT D DATE G:'$D(PRCARDT) END
S PRCA1=0 D LOOK I PRCA1=0 W !,*7,"THE DATE DOES NOT MATCH !, PLEASE CHECK REPAYMENT PROFILE.",!! G END
D CLDATE D EN,KILLV G EN1
LOOK S Z1=0
F Z0=0:0 S Z1=$O(^PRCA(430,PRCABN,5,Z1)) Q:+Z1'>0 I $P(^(Z1,0),U,5)=PRCARDT S PRCA1=1,PRCABN1=Z1 K Z1 Q
K Z0 Q
DATE S %DT="AE",%DT("A")="Enter the date the statement was printed: " D ^%DT Q:Y<0 S PRCARDT=+Y Q
CLDATE Q:'$D(^PRCA(430,PRCABN,5,PRCABN1,0)) S $P(^(0),U,3)=0,$P(^(0),U,5)="" Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HPRCARPS 3373 printed Nov 22, 2024@16:51:28 Page 2
PRCARPS ;SF-ISC/YJK-REPAYMENT PAYMENT STATEMENT ;10/23/93 9:50 AM
+1 ;;4.5;Accounts Receivable;**104,315**;Mar 20, 1995;Build 67
+2 ;;Per VA Directive 6402, this routine should not be modified.
+3 ;
+4 ;PRINT THE PAYMENT STATEMENT FOR REPAYMENT PLAN
+5 NEW PRCALL
BEGIN ;PRCA*4.5*315 Allow GOTBILL (PRCABN) to be passed in
+1 IF $GET(GOTBILL)=""
DO BILL^PRCAUTL
if '$DATA(PRCABN)
QUIT
+2 SET PRCA("BILLN")=$PIECE(^PRCA(430,PRCABN,0),U,1)
SET PRCA("DEBTOR")=$PIECE(^(0),U,9)
+3 IF $GET(GOTBILL)=""
IF '$DATA(^PRCA(430,PRCABN,5))
WRITE !,*7,"NO REPAYMENT PLAN FOR THIS ACCOUNT.",!
QUIT
+4 IF $GET(GOTBILL)=1
IF '$DATA(^PRCA(430,PRCABN,5))
WRITE !,*7,"NO REPAYMENT PLAN FOR THIS ACCOUNT.",!
HANG 5
QUIT
+5 SET PRCAREP=1
QUIT
PRINTST SET PRCAREP=0
DO BEGIN
if PRCAREP=0
GOTO END
DO EN
DO KILLV
GOTO PRINTST
EN SET PRCAPT=0
DO GETPT
IF PRCAPT=0
WRITE !,"NO PAYMENT DATA!",!
QUIT
+1 IF '$DATA(DT)
SET %DT=""
SET X="T"
DO ^%DT
SET DT=+Y
KILL %DT
+2 SET %ZIS="Q"
DO ^%ZIS
if POP
QUIT
IF IO=IO(0)
DO PRT
QUIT
+3 IF $DATA(IO("Q"))
KILL IO("Q")
DO QUE
if IO'=IO(0)
DO CLOSEDV
QUIT
+4 USE IO
DO PRT
QUIT
PRT KILL PRCAPP
DO GETPAY
if '$DATA(PRCAPP)
QUIT
DO SETLINE
DO GETPB
DO WRST^PRCARPS1
+1 IF '$DATA(DT)
SET %DT=""
SET X="T"
DO ^%DT
SET DT=+Y
KILL %DT
+2 IF PRCANOD>0
SET $PIECE(^PRCA(430,PRCABN,5,PRCANOD,0),U,3)=1
SET $PIECE(^PRCA(430,PRCABN,5,PRCANOD,0),U,5)=DT
+3 DO CLOSEDV
QUIT
QUE KILL ZTSK,ZTSAVE
SET ZTSAVE("PRCAPT")=PRCAPT
SET ZTSAVE("PRCADUE")=PRCADUE
SET ZTSAVE("PRCABN")=PRCABN
SET ZTSAVE("PRCA(""BILLN"")")=PRCA("BILLN")
SET ZTSAVE("PRCA(""DEBTOR"")")=PRCA("DEBTOR")
SET ZTSAVE("PRCANOD")=PRCANOD
+1 SET ZTRTN="PRT^PRCARPS"
SET ZTDESC="Repayment Plan Statement"
DO ^%ZTLOAD
KILL ZTRTN,ZTSAVE
QUIT
CLOSEDV DO ^%ZISC
QUIT
KILLV ;
END KILL PRCAREP,PRCABN,PRCA,PRCAPP,PRCAPB,PRCALN,PRCAST1,PRCACITY,PRCA("DEBTNAM"),PRCA("DEBTOR"),I,PRCADT,PRCADUE,PRCAMT,PRCANOD,PRCAPT,PRCASSAN,PRCAKIP,PRCABN1,PRCA1,PRCATY,PRCARDT,PRCANO
DO KVAR^VADPT
QUIT
+1 ;
GETPT SET PRCAKEN=+$PIECE(^PRCA(430,PRCABN,5,0),U,4)
SET (PRCADUE,PRCANOD)=0
+1 FOR Z=1:1:PRCAKEN
IF +$PIECE(^PRCA(430,PRCABN,5,Z,0),U,4)>0
IF +$PIECE(^(0),U,3)'>0
SET PRCAPT=$PIECE(^(0),U,4)
SET PRCANOD=Z
QUIT
+2 FOR Z=1:1:PRCAKEN
IF +$PIECE(^PRCA(430,PRCABN,5,Z,0),U,2)<1
SET PRCADUE=+$PIECE(^(0),U,1)
QUIT
+3 KILL Z,PRCAKEN
QUIT
GETPAY SET PRCADT=$PIECE(^PRCA(433,PRCAPT,1),U,1)
if PRCADT=""
QUIT
+1 SET Y=PRCADT
DO DD^%DT
+2 SET PRCADT=$EXTRACT(PRCADT,4,5)_"/"_$EXTRACT(PRCADT,6,7)_"/"_$PIECE(Y,", ",2)
+3 SET PRCAMT=+$PIECE(^PRCA(433,PRCAPT,1),U,5)
if PRCAMT'>0
QUIT
+4 SET Z3=$SELECT($DATA(^PRCA(433,PRCAPT,3)):^(3),1:"")
if Z3=""
QUIT
+5 FOR Z=1:1:5
SET PRCAPP(Z)=+$PIECE(Z3,U,Z)
+6 KILL Z,Z3
QUIT
GETPB SET Z4=^PRCA(430,PRCABN,7)
+1 FOR Z=1:1:5
SET PRCAPB(Z)=+$PIECE(Z4,U,Z)
+2 KILL Z,Z4
QUIT
SETLINE SET PRCALN=0
if IOM>87
SET PRCALN=7
SET PRCALN(0)=25+PRCALN
SET PRCALN(1)=50+PRCALN
SET PRCALN(2)=52+PRCALN
SET PRCALN(3)=62+PRCALN
SET PRCALN(4)=64+PRCALN
SET PRCALN(5)=10+PRCALN
SET PRCALN(6)=30+PRCALN
+1 SET PRCALL(1)=18+PRCALN
SET PRCALL(2)=20+PRCALN
SET PRCALL(3)=30+PRCALN
SET PRCALL(4)=32+PRCALN
SET PRCALL(5)=42+PRCALN
SET PRCALL(6)=44+PRCALN
SET PRCALL(7)=54+PRCALN
SET PRCALL(8)=56+PRCALN
SET PRCALL(9)=66+PRCALN
SET PRCALL(10)=68+PRCALN
SET PRCALL(11)=78+PRCALN
QUIT
+2 ;==================== REPRINT STATEMENT ============================
EN1 ;Reprint the payment statement.
+1 SET PRCAREP=0
DO BEGIN
if +PRCAREP=0
GOTO END
+2 KILL PRCARDT
DO DATE
if '$DATA(PRCARDT)
GOTO END
+3 SET PRCA1=0
DO LOOK
IF PRCA1=0
WRITE !,*7,"THE DATE DOES NOT MATCH !, PLEASE CHECK REPAYMENT PROFILE.",!!
GOTO END
+4 DO CLDATE
DO EN
DO KILLV
GOTO EN1
LOOK SET Z1=0
+1 FOR Z0=0:0
SET Z1=$ORDER(^PRCA(430,PRCABN,5,Z1))
if +Z1'>0
QUIT
IF $PIECE(^(Z1,0),U,5)=PRCARDT
SET PRCA1=1
SET PRCABN1=Z1
KILL Z1
QUIT
+2 KILL Z0
QUIT
DATE SET %DT="AE"
SET %DT("A")="Enter the date the statement was printed: "
DO ^%DT
if Y<0
QUIT
SET PRCARDT=+Y
QUIT
CLDATE if '$DATA(^PRCA(430,PRCABN,5,PRCABN1,0))
QUIT
SET $PIECE(^(0),U,3)=0
SET $PIECE(^(0),U,5)=""
QUIT