1 | RCDPEREC ;ALB/TMK - RECONCILIATION REPORT FOR EDI LOCKBOX FMS DOCS ;19-APR-2004
|
---|
2 | ;;4.5;Accounts Receivable;**208,244**;Mar 20, 1995
|
---|
3 | ;
|
---|
4 | EN ; Entrypoint for producing the report
|
---|
5 | N RCDDT,RCSEL,ZTRTN,ZTDESC,ZTSAVE,ZTSK,%ZIS,POP,DIR,DTOUT,DUOUT
|
---|
6 | S DIR(0)="DA^3000101:"_DT_":AEPX",DIR("A")="SELECT THE EFT DEPOSIT DATE TO START WITH: " W ! D ^DIR K DIR
|
---|
7 | S RCDDT=$S($D(DTOUT)!$D(DUOUT):"",1:Y)
|
---|
8 | Q:'RCDDT
|
---|
9 | S DIR("B")="ALL"
|
---|
10 | S DIR(0)="SA^A:ALL;N:NOT FULLY TRANSFERRED",DIR("A")="DO YOU WANT (A)LL DEPOSITS OR ONLY THOSE (N)OT FULLY TRANSFERRED?: " W ! D ^DIR K DIR
|
---|
11 | S RCSEL=$S($D(DTOUT)!$D(DUOUT):"",1:Y)
|
---|
12 | Q:RCSEL=""
|
---|
13 | W !
|
---|
14 | S %ZIS="QM" D ^%ZIS Q:POP
|
---|
15 | I $D(IO("Q")) D Q
|
---|
16 | . S ZTRTN="ENQUE^RCDPEREC",ZTDESC="AR - CR/TR RELATED DOCUMENTS FOR e-PAYMENTS"
|
---|
17 | . S ZTSAVE("RCDDT")="",ZTSAVE("RCSEL")=""
|
---|
18 | . D ^%ZTLOAD
|
---|
19 | . W !!,$S($D(ZTSK):"Your task number"_ZTSK_" has been queued.",1:"Unable to queue this job.")
|
---|
20 | . K ZTSK,IO("Q") D HOME^%ZIS
|
---|
21 | U IO
|
---|
22 | D ENQUE
|
---|
23 | Q
|
---|
24 | ;
|
---|
25 | ENQUE ; Queued entrypoint for the report
|
---|
26 | ; RCDDT = starting EFT deposit date
|
---|
27 | ; RCSEL = 'A' if all deposits included ... 'N' if only those not fully
|
---|
28 | ; transferred out of 8NZZ
|
---|
29 | ;
|
---|
30 | N Z,Z0,RCSTOP,RCD,RCR,RCSTAT,RCDEP,RCEFT,RCEFT1,RCT,RC0,RC00,RC000,RCTOT,RCTOT1,RCTRANS
|
---|
31 | K ^TMP($J,"RCDEP")
|
---|
32 | ;
|
---|
33 | S (RCSTOP,RCT)=0,RCDDT=RCDDT-.1
|
---|
34 | F S RCDDT=$O(^RCY(344.3,"ADEP",RCDDT)) Q:'RCDDT!RCSTOP S RCDEP=0 F S RCDEP=$O(^RCY(344.3,"ADEP",RCDDT,RCDEP)) Q:'RCDEP S RCEFT=0 F S RCEFT=$O(^RCY(344.3,"ADEP",RCDDT,RCDEP,RCEFT)) Q:'RCEFT!RCSTOP D
|
---|
35 | . S RCTOT=0,RC0=$G(^RCY(344.3,RCEFT,0))
|
---|
36 | . S RCD=$E(RCDDT_$J("",8),1,8)_RCDEP
|
---|
37 | . S RCEFT1=0 F S RCEFT1=$O(^RCY(344.31,"B",RCEFT,RCEFT1)) Q:'RCEFT1!RCSTOP S RC00=$G(^RCY(344.31,RCEFT1,0)) D
|
---|
38 | .. ;
|
---|
39 | .. I $D(ZTQUEUED) S RCT=RCT+1 I '(RCT#100),$$S^%ZTLOAD S (RCSTOP,ZTSTOP)=1 K ZTREQ Q
|
---|
40 | .. ;
|
---|
41 | .. I '$D(^TMP($J,"RCDEP",RCD)) S ^TMP($J,"RCDEP",RCD)=$P(RC0,U,6,11),^TMP($J,"RCDEP",RCD,0)=$S($P(RC00,U,9):$$FMSSTAT^RCDPUREC($P(RC00,U,9)),1:"NO CR DOCUMENT"),^TMP($J,"RCDEP",RCD,"EFT")=RCEFT
|
---|
42 | .. S RCTRANS=+$P(RC00,U,14) S:'RCTRANS RCTRANS=1
|
---|
43 | .. ;
|
---|
44 | .. I '$P(RC00,U,8) S ^TMP($J,"RCDEP",RCD,RCTRANS,"RCUNM")=RCEFT1 Q ; Not matched
|
---|
45 | .. ;
|
---|
46 | .. I '$O(^RCY(344,"AEFT",RCEFT1,0)) D Q ; No receipt
|
---|
47 | ... I $P(RC00,U,16)'="" D Q ; EFT detail entered on-line
|
---|
48 | .... S ^TMP($J,"RCDEP",RCD,RCTRANS)=RCEFT1_U_"ENTERED ON-LINE"_U_$S($P(RC000,U,18):"ERA #"_$P($G(^RCY(344.4,+$P(RC00,U,10),0)),U),1:"PAPER EOB")_U_$P(RC00,U,16)_U_"NO RECEIPT",RCTOT=RCTOT+$P(RC00,U,7)
|
---|
49 | ... S ^TMP($J,"RCDEP",RCD,RCTRANS)=RCEFT1_U_"NO TR DOC"_U_$S($P(RC00,U,10):"ERA #"_$P($G(^RCY(344.4,+$P(RC00,U,10),0)),U),1:"PAPER EOB")_"^^NO RECEIPT"
|
---|
50 | .. ;
|
---|
51 | .. S RCR=0 F S RCR=$O(^RCY(344,"AEFT",RCEFT1,RCR)) Q:'RCR S RC000=$G(^RCY(344,RCR,0)) D
|
---|
52 | ... S RCTOT=RCTOT+$$PAYTOTAL^RCDPURED(RCR)
|
---|
53 | ... S RCSTAT=$$FMSSTAT^RCDPUREC(RCR) S:$P(RCSTAT,U)="" RCSTAT="NO TR DOC"
|
---|
54 | ... S ^TMP($J,"RCDEP",RCD,RCTRANS)=RCEFT1_U_$P(RCSTAT,U)_U_$S($P(RC000,U,18):"ERA #"_$P($G(^RCY(344.4,+$P(RC000,U,18),0)),U),1:"PAPER EOB")_U_$P(RCSTAT,U,2)_U_RCR
|
---|
55 | . Q:RCSTOP
|
---|
56 | . I RCSEL="N",+RCTOT=+$P(RC0,U,8) K ^TMP($J,"RCDEP",RCD) Q
|
---|
57 | . S ^TMP($J,"RCDEP",RCD,"TOT")=RCTOT_U_$P(RC0,U,8)
|
---|
58 | ;
|
---|
59 | ; Output the report
|
---|
60 | S RCD="",RCPG=0
|
---|
61 | I RCSTOP K ^TMP($J,"RCDEP")
|
---|
62 | F S RCD=$O(^TMP($J,"RCDEP",RCD)) Q:RCD=""!RCSTOP D Q:RCSTOP D TOT(RCD,.RCSTOP,.RCPG)
|
---|
63 | . S RC0=$G(^TMP($J,"RCDEP",RCD)) D EFTDEP(RCD,.RCSTOP,.RCPG) ; EFT dep
|
---|
64 | . Q:RCSTOP
|
---|
65 | . S RCTRANS=0 F S RCTRANS=$O(^TMP($J,"RCDEP",RCD,RCTRANS)) Q:'RCTRANS!RCSTOP S RC00=$G(^(RCTRANS)) D ; EFT detail deposits
|
---|
66 | .. S RCSTOP=$$NEWPG(.RCPG) Q:RCSTOP
|
---|
67 | .. I RC00="",$D(^TMP($J,"RCDEP",RCD,RCTRANS,"RCUNM")) S Z=$G(^("RCUNM")) D Q ; Unmatched
|
---|
68 | ... W !,?3,$J("",6)," UNMATCHED ",$E($P(Z,U,2)_$J("",30),1,30)_" "_$E($P(Z,U,3)_$J("",20),1,20)
|
---|
69 | ... W !,?13,$P(Z,U,4)
|
---|
70 | .. ;
|
---|
71 | .. I RC00="" W !,?3,"ERROR IN EFT DETAIL LINE #: ",RCTRANS Q ; Error
|
---|
72 | .. ;
|
---|
73 | .. S Z=$G(^RCY(344.31,+RC00,0))
|
---|
74 | .. W !,?3,$E(+RC00_$J("",6),1,6)_" "_$E($P(RC00,U,3)_$J("",10),1,10)_" "_$E($P(Z,U,2)_$J("",30),1,30)_" "_$E($P(Z,U,3)_$J("",20),1,20)
|
---|
75 | .. W !,?13,$E($P(Z,U,4)_$J("",30),1,30)_" "_$E($P(RC00,U,5)_$J("",10),1,10),!,?15,$E($P(RC00,U,2)_$J("",10),1,10)_" "_$E($P(RC00,U,4)_$J("",15),1,15)
|
---|
76 | ;
|
---|
77 | I 'RCSTOP,RCPG D ASK(.RCSTOP)
|
---|
78 | ;
|
---|
79 | I $D(ZTQUEUED) D
|
---|
80 | . I $G(RCSTOP) D HDR1(0) W !,"TASK STOPPED BY USER" Q
|
---|
81 | . S ZTREQ="@"
|
---|
82 | I '$D(ZTQUEUED) D ^%ZISC
|
---|
83 | K ^TMP($J,"RCDEP")
|
---|
84 | Q
|
---|
85 | ;
|
---|
86 | EFTDEP(RCD,RCSTOP,RCPG) ;
|
---|
87 | ; RCD = deposit date (FM) concatenated with the deposit #
|
---|
88 | N Z,Z0
|
---|
89 | I $D(ZTQUEUED),$$S^%ZTLOAD S (RCSTOP,ZTSTOP)=1 K ZTREQ Q
|
---|
90 | S Z=$G(^TMP($J,"RCDEP",RCD)),Z0=$G(^(RCD,0))
|
---|
91 | S RCSTOP=$$NEWPG(.RCPG) Q:RCSTOP
|
---|
92 | I $Y+7>IOSL W !! S RCSTOP=$$NEWPG(.RCPG) Q:RCSTOP
|
---|
93 | W:'$P(RCPG,U,2) !!
|
---|
94 | W !,$E($$FMTE^XLFDT($P(Z,U,2),"2D")_$J("",8),1,8)," ",$E(+$G(^TMP($J,"RCDEP",RCD,"EFT"))_$J("",6),1,6)," ",$E($P(Z,U)_$J("",6),1,6)," ",$J($P(Z,U,3),13,2)," ",$E($S($P(Z,U,6):$$FMTE^XLFDT($P(Z,U,6),"2D"),1:"UNPOSTED")_$J("",8),1,8)
|
---|
95 | W !,?5,$E($P(Z0,U)_$J("",20),1,20)," ",$P(Z0,U,2)
|
---|
96 | Q
|
---|
97 | ;
|
---|
98 | TOT(RCD,RCSTOP,RCPG) ; Output the total lines for the deposit
|
---|
99 | S RCSTOP=$$NEWPG(.RCPG) Q:RCSTOP
|
---|
100 | W !,$J("",26),"TOTAL AMOUNT SENT VIA 'TR' DOCUMENTS: ",$J($G(^TMP($J,"RCDEP",RCD,"TOT")),15,2)
|
---|
101 | W !,$J("",26),"TOTAL AMOUNT STILL TO BE TRANSFERRED: ",$J($P($G(^TMP($J,"RCDEP",RCD,"TOT")),U,2)-$G(^TMP($J,"RCD",RCD,"TOT")),15,2)
|
---|
102 | Q
|
---|
103 | ;
|
---|
104 | NEWPG(RCPG) ; Check for new page needed, output header
|
---|
105 | ; Function returns 1 if user chooses to stop output
|
---|
106 | N RCX,RCZ
|
---|
107 | S RCZ=0,RCX=$P(RCPG,U,2)
|
---|
108 | I 'RCPG!(($Y+5)>IOSL) D
|
---|
109 | . D:RCPG ASK(.RCZ) I RCZ Q
|
---|
110 | . D HDR1(.RCPG)
|
---|
111 | I RCX S $P(RCPG,U,2)=0
|
---|
112 | Q RCZ
|
---|
113 | ;
|
---|
114 | SELECT() ; Select first deposit #
|
---|
115 | ; Function returns values selected for first deposit #
|
---|
116 | ;
|
---|
117 | N DIR,X,Y,DTOUT,DUOUT
|
---|
118 | ;
|
---|
119 | HDR1(RCPG) ;Print report hdr
|
---|
120 | ; RCPG = last page #^0/1 for top of page indicator
|
---|
121 | N Z,Z0,X
|
---|
122 | I RCPG!($E(IOST,1,2)="C-") W @IOF,*13
|
---|
123 | S RCPG=$G(RCPG)+1_U_1
|
---|
124 | W !,"EDI LOCKBOX FUND 5287.4/8NZZ RECONCILIATION REPORT",?55,$$FMTE^XLFDT(DT,2),?70,"Page: ",+RCPG
|
---|
125 | W !!,"DEP DATE ENTRY# DEP # TOTAL DEP AMT POST DT RECEIPT #",!,?5,"CR DOCUMENT CR DOC STATUS"
|
---|
126 | W !,?3,"EFT # MATCHED TO PAYER NAME PAYER ID ",!,?13,"TRACE # RECEIPT #"
|
---|
127 | W !,?15,"TR DOCUMENT TR DOC STATUS"
|
---|
128 | W !,$TR($J("",IOM)," ","=")
|
---|
129 | Q
|
---|
130 | ;
|
---|
131 | ASK(RCSTOP) ;
|
---|
132 | I $E(IOST,1,2)'["C-" Q
|
---|
133 | N DIR,DIROUT,DIRUT,DTOUT,DUOUT
|
---|
134 | S DIR(0)="E" W ! D ^DIR
|
---|
135 | I ($D(DIRUT))!($D(DUOUT)) S RCSTOP=1 Q
|
---|
136 | Q
|
---|
137 | ;
|
---|