[613] | 1 | RCDPRPLM ;WISC/RFJ-receipt profile listmanager top routine ;1 Jun 99
|
---|
| 2 | ;;4.5;Accounts Receivable;**114,148,149,173,196,220,217**;Mar 20, 1995
|
---|
| 3 | ;;Per VHA Directive 10-93-142, this routine should not be modified.
|
---|
| 4 | ;
|
---|
| 5 | N RCDPFXIT
|
---|
| 6 | ;
|
---|
| 7 | RECTPROF ; entry point called by link payment to prevent newing
|
---|
| 8 | ; fast exit var RCDPFXIT
|
---|
| 9 | N RCRECTDA
|
---|
| 10 | ;
|
---|
| 11 | F D Q:'RCRECTDA
|
---|
| 12 | . W !! S RCRECTDA=$$SELRECT^RCDPUREC(1) ;allow adding new receipt
|
---|
| 13 | . I RCRECTDA<1 S RCRECTDA=0 Q
|
---|
| 14 | . D EN^VALM("RCDP RECEIPT PROFILE")
|
---|
| 15 | . ; fast exit
|
---|
| 16 | . I $G(RCDPFXIT) S RCRECTDA=0
|
---|
| 17 | Q
|
---|
| 18 | ;
|
---|
| 19 | ;
|
---|
| 20 | INIT ; init for list manager
|
---|
| 21 | N DATE,FMSDOC,GECSDA1,GECSDATA,RCCANCEL,RCDPDATA,RCDPFCAN,RCLINE,RCTOTAL,RCTRDA,SPACE,RCEFT,X,Z,Z0,RCZ,RCZ0,RCZ1,RCZ2,EFTFUND
|
---|
| 22 | K ^TMP("RCDPRPLM",$J),^TMP("VALM VIDEO",$J)
|
---|
| 23 | ;
|
---|
| 24 | ; fast exit
|
---|
| 25 | I $G(RCDPFXIT) S VALMQUIT=1 Q
|
---|
| 26 | ;
|
---|
| 27 | D DIQ344(RCRECTDA,".02:200")
|
---|
| 28 | ;
|
---|
| 29 | ; set listmanager line #
|
---|
| 30 | S RCLINE=0
|
---|
| 31 | ;
|
---|
| 32 | K ^TMP($J,"RCEFT")
|
---|
| 33 | S EFTFUND=$S(DT<$$ADDPTEDT^PRCAACC():"5287.4/8NZZ ",1:"528704/8NZZ ")
|
---|
| 34 | S RCEFT=+$O(^RCY(344.3,"ARDEP",+$P($G(^RCY(344,RCRECTDA,0)),U,6),0))
|
---|
| 35 | I RCEFT D
|
---|
| 36 | . S Z=0 F S Z=$O(^RCY(344.31,"B",RCEFT,Z)) Q:'Z S Z0=$G(^RCY(344.31,+Z,0)) I $P(Z0,U,14) S ^TMP($J,"RCEFT",$P(Z0,U,14))=Z_U_$E($P(Z0,U,2),1,12)
|
---|
| 37 | S RCTRDA=0 F S RCTRDA=$O(^RCY(344,RCRECTDA,1,RCTRDA)) Q:'RCTRDA D
|
---|
| 38 | . D DIQ34401(RCRECTDA,RCTRDA)
|
---|
| 39 | . S RCLINE=RCLINE+1 D SET("",RCLINE,1,80,.01)
|
---|
| 40 | . ;check for payment cancelled
|
---|
| 41 | . S RCCANCEL=0
|
---|
| 42 | . I $P($G(^RCY(344,RCRECTDA,1,RCTRDA,0)),"^",4)=0,$P($G(^(1)),"^")'="" D
|
---|
| 43 | . . S RCCANCEL=1,RCDPFCAN=1
|
---|
| 44 | . . D SET("**",RCLINE,5,6)
|
---|
| 45 | . ;account
|
---|
| 46 | . I $G(RCDPDATA(344.01,RCTRDA,.03,"E"))="" D
|
---|
| 47 | . . S RCDPDATA(344.01,RCTRDA,.03,"E")="[ "_$S(RCEFT:EFTFUND_$P($G(^TMP($J,"RCEFT",RCTRDA)),U,2),1:"suspense"_$$GETUNAPP^RCXFMSCR(RCRECTDA,RCTRDA,0))_" ]"
|
---|
| 48 | . D SET("",RCLINE,7,33,.03)
|
---|
| 49 | . ;date of payment
|
---|
| 50 | . I RCDPDATA(344.01,RCTRDA,.06,"I") D
|
---|
| 51 | . . D SET($E(RCDPDATA(344.01,RCTRDA,.06,"I"),4,5)_"/"_$E(RCDPDATA(344.01,RCTRDA,.06,"I"),6,7)_"/"_$E(RCDPDATA(344.01,RCTRDA,.06,"I"),2,3),RCLINE,35,42)
|
---|
| 52 | . ;entered by
|
---|
| 53 | . I RCDPDATA(344.01,RCTRDA,.12,"E")'="" D
|
---|
| 54 | . . S X=$E($P(RCDPDATA(344.01,RCTRDA,.12,"E"),",",2))_$E(RCDPDATA(344.01,RCTRDA,.12,"E"))
|
---|
| 55 | . . I RCDPDATA(344.01,RCTRDA,.12,"I")=.5 S X="ar"
|
---|
| 56 | . . D SET(X,RCLINE,45,46)
|
---|
| 57 | . I RCDPDATA(344.01,RCTRDA,.14,"E")'="" D
|
---|
| 58 | . . S X=$E($P(RCDPDATA(344.01,RCTRDA,.14,"E"),",",2))_$E(RCDPDATA(344.01,RCTRDA,.14,"E"))
|
---|
| 59 | . . D SET(X,RCLINE,54,55)
|
---|
| 60 | . D SET($J(RCDPDATA(344.01,RCTRDA,.04,"E"),8,2),RCLINE,62,70)
|
---|
| 61 | . D SET($J(RCDPDATA(344.01,RCTRDA,.05,"E"),8,2),RCLINE,72,80)
|
---|
| 62 | . ;
|
---|
| 63 | . ;if not processed, show if amount > bill
|
---|
| 64 | . S X=$$CHECKPAY^RCDPRPL3(RCRECTDA,RCTRDA) I X D
|
---|
| 65 | . . S RCLINE=RCLINE+1
|
---|
| 66 | . . D SET(" WARNING: Pending Payments ($ "_$J($P(X,"^",3),0,2)_") exceed amount billed ($ "_$J($P(X,"^",2),0,2)_")",RCLINE,1,80)
|
---|
| 67 | . ;
|
---|
| 68 | . ;show line 2 for check/credit payment
|
---|
| 69 | . I $$OPTCK^RCDPRPL2("SHOWCHECK",2) D
|
---|
| 70 | . . ;receipt type of payment is check
|
---|
| 71 | . . I RCDPDATA(344,RCRECTDA,.04,"I")=4!(RCDPDATA(344,RCRECTDA,.04,"I")=12) D Q
|
---|
| 72 | . . . S RCLINE=RCLINE+1
|
---|
| 73 | . . . D SET(" Check #",RCLINE,1,80,.07)
|
---|
| 74 | . . . I 'RCDPDATA(344.01,RCTRDA,.1,"I") S RCDPDATA(344.01,RCTRDA,.1,"I")="???????"
|
---|
| 75 | . . . D SET("Date: "_$E(RCDPDATA(344.01,RCTRDA,.1,"I"),4,5)_"/"_$E(RCDPDATA(344.01,RCTRDA,.1,"I"),6,7)_"/"_$E(RCDPDATA(344.01,RCTRDA,.1,"I"),2,3),RCLINE,32,80)
|
---|
| 76 | . . . D SET("Bank #",RCLINE,47,80,.08)
|
---|
| 77 | . . ;receipt type of payment is credit
|
---|
| 78 | . . I RCDPDATA(344,RCRECTDA,.04,"I")=7 D
|
---|
| 79 | . . . S RCLINE=RCLINE+1
|
---|
| 80 | . . . D SET(" Card #",RCLINE,1,80,.11)
|
---|
| 81 | . . . D SET("Confirmation #",RCLINE,35,80,.02)
|
---|
| 82 | . ;
|
---|
| 83 | . ;show line 3 for acct lookup, batch and seq #
|
---|
| 84 | . I $$OPTCK^RCDPRPL2("SHOWACCT",2) D
|
---|
| 85 | . . I RCDPDATA(344.01,RCTRDA,.21,"E")="",RCDPDATA(344.01,RCTRDA,.22,"E")="",RCDPDATA(344.01,RCTRDA,.23,"E")="" Q
|
---|
| 86 | . . S RCLINE=RCLINE+1
|
---|
| 87 | . . D SET(" AcctLU",RCLINE,1,80,.21)
|
---|
| 88 | . . D SET("Batch/Sequence: "_RCDPDATA(344.01,RCTRDA,.22,"E")_"/"_RCDPDATA(344.01,RCTRDA,.23,"E"),RCLINE,37,80)
|
---|
| 89 | . ;
|
---|
| 90 | . ;show if posting error
|
---|
| 91 | . I $$OPTCK^RCDPRPL2("SHOWCOMMENTS",2),RCDPDATA(344.01,RCTRDA,1.01,"E")'="" D
|
---|
| 92 | . . S RCLINE=RCLINE+1
|
---|
| 93 | . . S X="Posting Error"
|
---|
| 94 | . . I RCCANCEL S X="Cancel Data"
|
---|
| 95 | . . D SET(" "_X,RCLINE,1,80,1.01)
|
---|
| 96 | . ;
|
---|
| 97 | . ;show if comment
|
---|
| 98 | . I $$OPTCK^RCDPRPL2("SHOWCOMMENTS",2),RCDPDATA(344.01,RCTRDA,1.02,"E")'="" D
|
---|
| 99 | . . S RCLINE=RCLINE+1
|
---|
| 100 | . . D SET(" Comment",RCLINE,1,80,1.02)
|
---|
| 101 | . ;
|
---|
| 102 | . ;if EDI Lockbox pending adjustments, show it
|
---|
| 103 | . I $P($G(^RCY(344,RCRECTDA,0)),U,18),$G(RCDPDATA(344.01,RCTRDA,.27,"E")) D
|
---|
| 104 | . . S RCZ=$P(^RCY(344,RCRECTDA,0),U,18),RCZ0=RCDPDATA(344.01,RCTRDA,.27,"E")
|
---|
| 105 | . . S RCZ1=0 F S RCZ1=$O(^RCY(344.49,RCZ,1,RCZ0,1,RCZ1)) Q:'RCZ1 S RCZ2=$G(^(RCZ1,0)) I $P(RCZ2,U,5)'="","12"[$P(RCZ2,U,5),'$P(RCZ2,U,8) D
|
---|
| 106 | . . . I $P(RCZ2,U,5)=1 S RCLINE=RCLINE+1 D SET(" Pending decrease adjustment for "_$J($P(RCZ2,U,3),"",2),RCLINE,1,80) Q
|
---|
| 107 | . . . I $$OPTCK^RCDPRPL2("SHOWCOMMENTS",2),$P(RCZ2,U,5)=2 S RCLINE=RCLINE+1 D SET(" Comment: "_$P(RCZ2,U,9),RCLINE,1,80) Q
|
---|
| 108 | . ;
|
---|
| 109 | . ;calculate totals
|
---|
| 110 | . S RCTOTAL(1)=$G(RCTOTAL(1))+RCDPDATA(344.01,RCTRDA,.04,"E")
|
---|
| 111 | . S RCTOTAL(2)=$G(RCTOTAL(2))+RCDPDATA(344.01,RCTRDA,.05,"E")
|
---|
| 112 | . ;
|
---|
| 113 | . ;kill local variable to prevent store errors
|
---|
| 114 | . K RCDPDATA(344.01,RCTRDA)
|
---|
| 115 | ;
|
---|
| 116 | ; show totals
|
---|
| 117 | K ^TMP($J,"RCEFT")
|
---|
| 118 | S RCLINE=RCLINE+1 D SET("",RCLINE,1,80)
|
---|
| 119 | D SET("-------- --------",RCLINE,62,80)
|
---|
| 120 | S RCLINE=RCLINE+1
|
---|
| 121 | D SET(" TOTAL DOLLARS FOR RECEIPT",RCLINE,1,80)
|
---|
| 122 | D SET($J($G(RCTOTAL(1)),8,2),RCLINE,62,70)
|
---|
| 123 | D SET($J($G(RCTOTAL(2)),8,2),RCLINE,72,80)
|
---|
| 124 | ; show cancelled
|
---|
| 125 | I $G(RCDPFCAN) D
|
---|
| 126 | . S RCLINE=RCLINE+1
|
---|
| 127 | . D SET("**indicates payment is CANCELLED",RCLINE,5,80)
|
---|
| 128 | ;
|
---|
| 129 | ; show history
|
---|
| 130 | S RCLINE=RCLINE+1
|
---|
| 131 | D SET(" ",RCLINE,1,80)
|
---|
| 132 | ; start history on first line of a screen if it does not fit on
|
---|
| 133 | ; current screen
|
---|
| 134 | I (RCLINE#12)>8 F SPACE=(RCLINE#12):1:12 S RCLINE=RCLINE+1 D SET(" ",RCLINE,1,80)
|
---|
| 135 | S RCLINE=RCLINE+1
|
---|
| 136 | D SET("Receipt History",RCLINE,1,80,0,IOUON,IOUOFF)
|
---|
| 137 | S DATE=RCDPDATA(344,RCRECTDA,.03,"E"),DATE=$P(DATE,"@")_" "_$P($P(DATE,"@",2),":",1,2)
|
---|
| 138 | S RCLINE=RCLINE+1
|
---|
| 139 | S SPACE="",$P(SPACE," ",80)=""
|
---|
| 140 | I RCDPDATA(344,RCRECTDA,.02,"I")=.5 S RCDPDATA(344,RCRECTDA,.02,"E")="accounts receivable"
|
---|
| 141 | D SET($E(" Opened By: "_RCDPDATA(344,RCRECTDA,.02,"E")_SPACE,1,39)_"Date/Time Opened: "_DATE,RCLINE,1,80)
|
---|
| 142 | S DATE=RCDPDATA(344,RCRECTDA,.12,"E"),DATE=$P(DATE,"@")_" "_$P($P(DATE,"@",2),":",1,2)
|
---|
| 143 | S RCLINE=RCLINE+1
|
---|
| 144 | I RCDPDATA(344,RCRECTDA,.11,"I")=.5 S RCDPDATA(344,RCRECTDA,.11,"E")="accounts receivable"
|
---|
| 145 | D SET($E("Last Edit By: "_RCDPDATA(344,RCRECTDA,.11,"E")_SPACE,1,39)_"Date/Time Last Edit: "_DATE,RCLINE,1,80)
|
---|
| 146 | S DATE=RCDPDATA(344,RCRECTDA,.08,"E"),DATE=$P(DATE,"@")_" "_$P($P(DATE,"@",2),":",1,2)
|
---|
| 147 | S RCLINE=RCLINE+1
|
---|
| 148 | I RCDPDATA(344,RCRECTDA,.07,"I")=.5 S RCDPDATA(344,RCRECTDA,.07,"E")="accounts receivable"
|
---|
| 149 | D SET($E("Processed By: "_RCDPDATA(344,RCRECTDA,.07,"E")_SPACE,1,39)_"Date/Time Processed: "_DATE,RCLINE,1,80)
|
---|
| 150 | ;
|
---|
| 151 | ;show fms code sheets if switch on
|
---|
| 152 | I $$OPTCK^RCDPRPL2("SHOWFMS",2) D
|
---|
| 153 | . S FMSDOC=$$FMSSTAT^RCDPUREC(RCRECTDA)
|
---|
| 154 | . S RCLINE=RCLINE+1 D SET(" ",RCLINE,1,80)
|
---|
| 155 | . S RCLINE=RCLINE+1 D SET("FMS Cash Receipt Document:",RCLINE,1,80,0,IOUON,IOUOFF)
|
---|
| 156 | . D SET($P(FMSDOC,"^")_$S($P(FMSDOC,"^",3):"(on deposit)",1:""),RCLINE,28,80)
|
---|
| 157 | . D SET("Status: "_$P(FMSDOC,"^",2),RCLINE,55,80)
|
---|
| 158 | . N DIQ2 D DATA^GECSSGET($P(FMSDOC,"^"),1)
|
---|
| 159 | . I '$G(GECSDATA) Q
|
---|
| 160 | . S GECSDA1=0 F S GECSDA1=$O(GECSDATA(2100.1,GECSDATA,10,GECSDA1)) Q:'GECSDA1 D
|
---|
| 161 | . . S RCLINE=RCLINE+1 D SET(GECSDATA(2100.1,GECSDATA,10,GECSDA1),RCLINE,1,80)
|
---|
| 162 | ;
|
---|
| 163 | ; show EEOB detail if switch on
|
---|
| 164 | D SHEOB^RCDPRPL2
|
---|
| 165 | ;
|
---|
| 166 | ; set valmcnt to # of lines in list
|
---|
| 167 | S VALMCNT=RCLINE
|
---|
| 168 | D HDR
|
---|
| 169 | Q
|
---|
| 170 | ;
|
---|
| 171 | ;
|
---|
| 172 | SET(STRING,LINE,COLBEG,COLEND,FIELD,ON,OFF) ; set array
|
---|
| 173 | I $G(FIELD) S STRING=STRING_$S(STRING="":"",1:": ")_$G(RCDPDATA(344.01,RCTRDA,FIELD,"E"))
|
---|
| 174 | I STRING="",'$G(FIELD) D SET^VALM10(LINE,$J("",80)) Q
|
---|
| 175 | I '$D(@VALMAR@(LINE,0)) D SET^VALM10(LINE,$J("",80))
|
---|
| 176 | D SET^VALM10(LINE,$$SETSTR^VALM1(STRING,@VALMAR@(LINE,0),COLBEG,COLEND-COLBEG+1))
|
---|
| 177 | I $G(ON)]""!($G(OFF)]"") D CNTRL^VALM10(LINE,COLBEG,$L(STRING),ON,OFF)
|
---|
| 178 | Q
|
---|
| 179 | ;
|
---|
| 180 | ;
|
---|
| 181 | DIQ344(DA,DR) ; retrieves data for flds in file 344
|
---|
| 182 | N %I,D0,DIC,DIQ,DIQ2,YY
|
---|
| 183 | K RCDPDATA(344,DA)
|
---|
| 184 | S DIQ(0)="IE",DIC="^RCY(344,",DIQ="RCDPDATA" D EN^DIQ1
|
---|
| 185 | Q
|
---|
| 186 | ;
|
---|
| 187 | ;
|
---|
| 188 | DIQ34401(DA,SUBDA) ; retrieves data for flds in file 344
|
---|
| 189 | ; da = receipt da
|
---|
| 190 | N %I,D0,DIC,DIQ,DIQ2,DR
|
---|
| 191 | K RCDPDATA(344.01,SUBDA)
|
---|
| 192 | S DR=1,DR(344.01)=".01:1.02",DA(344.01)=SUBDA
|
---|
| 193 | S DIQ(0)="IE",DIC="^RCY(344,",DIQ="RCDPDATA" D EN^DIQ1
|
---|
| 194 | Q
|
---|
| 195 | ;
|
---|
| 196 | ;
|
---|
| 197 | HDR ; header code for list manager display
|
---|
| 198 | N DATE,FMSDOC,RCDPDATA,SPACE,RCEFT,Z
|
---|
| 199 | D DIQ344(RCRECTDA,".01;.04;.06;.08;.14;.17;.18;")
|
---|
| 200 | S SPACE="",$P(SPACE," ",80)=""
|
---|
| 201 | S VALMHDR(1)=$E(" Receipt #: "_RCDPDATA(344,RCRECTDA,.01,"E")_SPACE,1,39)_"Type of Payment: "_RCDPDATA(344,RCRECTDA,.04,"E")
|
---|
| 202 | S Z=RCDPDATA(344,RCRECTDA,.06,"E"),RCEFT=+$O(^RCY(344.3,"ARDEP",+$P($G(^RCY(344,RCRECTDA,0)),U,6),0))
|
---|
| 203 | S VALMHDR(2)=$E($S('RCEFT&'RCDPDATA(344,RCRECTDA,.17,"I"):" Deposit #: "_Z,RCEFT:" EFT Deposit: "_Z,1:"EFT Detail #: "_RCDPDATA(344,RCRECTDA,.17,"E"))_" "_$P($G(^RCY(344.31,+RCDPDATA(344,RCRECTDA,.17,"I"),0)),U,2)_SPACE,1,23)
|
---|
| 204 | S VALMHDR(2)=VALMHDR(2)_$E($S(RCDPDATA(344,RCRECTDA,.18,"E")'="":" ERA #: "_RCDPDATA(344,RCRECTDA,.18,"E"),1:"")_SPACE,1,16)_" Receipt Status: "_RCDPDATA(344,RCRECTDA,.14,"E")
|
---|
| 205 | ; get fms document and status
|
---|
| 206 | S FMSDOC=$$FMSSTAT^RCDPUREC(RCRECTDA)
|
---|
| 207 | S VALMHDR(3)=$E("FMS Document: "_$TR($P(FMSDOC,"^")," ")_$S($P(FMSDOC,"^",3):"(on deposit)",1:"")_SPACE,1,39)_" FMS Doc Status: "_$P(FMSDOC,"^",2)
|
---|
| 208 | ;
|
---|
| 209 | I RCDPDATA(344,RCRECTDA,.08,"I") S VALMSG="Receipt processed on "_RCDPDATA(344,RCRECTDA,.08,"E")
|
---|
| 210 | Q
|
---|
| 211 | ;
|
---|
| 212 | ;
|
---|
| 213 | EXIT ; exit option/clean up
|
---|
| 214 | K ^TMP("RCDPRPLM",$J)
|
---|
| 215 | Q
|
---|