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

RCDPE8NZ.m

Go to the documentation of this file.
  1. RCDPE8NZ ;ALB/TMK/KML/JCH - Unapplied EFT Deposits report ;Jun 06, 2014@19:11:19
  1. ;;4.5;Accounts Receivable;**173,212,208,269,276,283,293,298,317,318,326,375,371,432**;Mar 20, 1995;Build 16
  1. ;Per VA Directive 6402, this routine should not be modified.
  1. ;
  1. EN ; entry point for Unapplied EFT Deposits Report [RCDPE UNAPPLIED EFT DEP REPORT]
  1. ; ^RCY(344.3,0) = EDI LOCKBOX DEPOSIT^344.3I^
  1. ;
  1. N %ZIS,DIR,RCDET,RCDISPTY,RCDTRNG,RCENDT,RCHDR,RCLNCNT,RCLSTMGR,RCPGNUM,RCRPLST,RCSTDT,RCTMPND,RCTYPE,RPTQ,X,Y
  1. ; RCDET - detail report or grand totals only
  1. ; RCDISPTY - display type for Excel
  1. ; RCDTRNG - range of dates
  1. ; RCHDR - report header
  1. ; RCLNCNT - line counter for ^TMP storage
  1. ; RCLSTMGR - ListMan flag
  1. ; RCPGNUM - page number
  1. ; RCRPLST - node for report list in ^TMP
  1. ; RCTMPND - storage node (or null) for SL^RCPEARL
  1. ; RCTYPE - Payer type filter M - MEDICAL, P-PHARMACY, T-TRICARE, C-CHAMPVA, A-ALL ;PRCA*4.5*432 CHAMPVA
  1. ;
  1. S RCRPLST=$T(+0)_"_EFT" ; storage for list of entries
  1. S RCLNCNT=0,RCLSTMGR="",RCTMPND="" ; initial values for ListMan
  1. S RCDET=$$RDET("D") G:(RCDET=-1) RPTQ ; PRCA*4.5*371 - Prompt for detail report or grand total only
  1. S RCTYPE="A",(RCDTRNG,RCSTDT,RCENDT,RCDISPTY,RCLSTMGR)="",RPTQ=0 ; PRCA*4.5*371 - Make sure these don't crash grand totals report
  1. ;PRCA*4.5*371 - Change G RPTQ commands to setting a quit variable, because GOTO in a DO block apparently doesn't actually GOTO
  1. I RCDET'="G" D G:RPTQ RPTQ ;PRCA*4.5*371 - Don't prompt for any other options if grand total only selected
  1. .S RCTYPE=$$RTYPE^RCDPEU1("A") I (RCTYPE=-1) S RPTQ=1 Q ; PRCA*4.5*326 - Add M/P/T filter
  1. .S RCDTRNG=$$DTRNG^RCDPEM4() I '(RCDTRNG>0) S RPTQ=1 Q
  1. .S RCSTDT=$P(RCDTRNG,U,2),RCENDT=$P(RCDTRNG,U,3)
  1. .; ask if export to excel
  1. .S RCDISPTY=$$DISPTY^RCDPEM3() I RCDISPTY<0 S RPTQ=1 Q
  1. .; for Excel, set ListMan flag to prevent question
  1. .I RCDISPTY S RCLSTMGR="^" D INFO^RCDPEM6
  1. .I RCLSTMGR="" S RCLSTMGR=$$ASKLM^RCDPEARL I RCLSTMGR<0 S RPTQ=1 Q
  1. .I RCLSTMGR D S RPTQ=1 Q ; send output to ListMan
  1. ..S RCTMPND=$T(+0)_"^UNAPPLIED EFT" K ^TMP($J,RCTMPND) ; clean any residue
  1. ..D MKRPRT
  1. ..N H,L,HDR S L=0
  1. ..S HDR("TITLE")=$$HDRNM
  1. ..F H=1:1:7 I $D(RCHDR(H)) S L=H,HDR(H)=RCHDR(H) ; take first 3 lines of report header
  1. ..I $O(RCHDR(L)) D ; any remaining header lines at top of report
  1. ...N N S N=0,H=L F S H=$O(RCHDR(H)) Q:'H S N=N+.001,^TMP($J,RCTMPND,N)=RCHDR(H)
  1. ..; invoke ListMan
  1. ..D LMRPT^RCDPEARL(.HDR,$NA(^TMP($J,RCTMPND))) ; generate ListMan display
  1. ;
  1. ; Ask device
  1. S %ZIS="QM" D ^%ZIS Q:POP
  1. I $D(IO("Q")) D Q
  1. .N ZTRTN,ZTSAVE,ZTDESC,POP,ZTSK
  1. .S ZTRTN="MKRPRT^RCDPE8NZ",ZTDESC="AR - List of unlinked EFT deposit payments"
  1. .S ZTSAVE("RC*")=""
  1. .D ^%ZTLOAD
  1. .W !!,$S($G(ZTSK):"Task number "_ZTSK_" was queued.",1:"Unable to queue this task.")
  1. .K ZTSK,IO("Q") D HOME^%ZIS
  1. ;
  1. U IO
  1. D MKRPRT
  1. Q
  1. ;
  1. MKRPRT ; Entry point for queued job
  1. N RCTSKCNT,RCARDEP,RCCR,RCDA,RCDATA,RCDT,RCEFT,RCEFTIEN,RCREC,RCSTAT,RCSTOP,RCSUM,RCTOT,RCTR,RCUNAP,RECEXT,Y,Z,ZTSTOP
  1. ;
  1. ; get list of unlinked EFT deposit data
  1. K ^TMP(RCRPLST,$J) ; subscripts: dep date,EFT ien,EFT det ien
  1. ; Data is FMS doc indicator^FMS doc #^FMS Doc Status
  1. ; FMS doc indicator = -1:no receipt -2:no FMS doc 1:FMS doc exists
  1. ;
  1. S (RCTSKCNT,RCSTOP,RCSUM,RCUNAP)=0
  1. S RCARDEP="" F S RCARDEP=$O(^RCY(344.3,"ARDEP",RCARDEP)) Q:RCARDEP=""!RCSTOP S RCDA=0 F S RCDA=$O(^RCY(344.3,"ARDEP",RCARDEP,RCDA)) Q:'RCDA D Q:RCSTOP
  1. . S RCDATA=$G(^RCY(344.3,RCDA,0)),RCDT=$P(RCDATA,U,7),RCTOT=0
  1. . Q:+RCSTDT&(RCDT<RCSTDT) ; Before start date
  1. . Q:+RCENDT&(RCDT>(RCENDT+.999999)) ; After the end date
  1. . Q:'$P(RCDATA,"^",8) ; no payment amt
  1. . S RCEFT=0 F S RCEFT=$O(^RCY(344.31,"B",RCDA,RCEFT)) Q:'RCEFT!RCSTOP S RCDATA(0)=$G(^RCY(344.31,RCEFT,0)) D Q:RCSTOP
  1. . . I '$$ISTYPE^RCDPEU1(344.31,RCEFT,RCTYPE) Q ;PRCA*4.5*326
  1. . . Q:$P($G(^RCY(344.31,RCEFT,0)),U,16)="D" ; PRCA*4.5*375 - Do not show Debit EFTs because there's nothing to apply
  1. . . S RCTSKCNT=RCTSKCNT+1
  1. . . I '(RCTSKCNT#100),$D(ZTQUEUED),$$S^%ZTLOAD S (RCSTOP,ZTSTOP)=1 K ZTREQ Q
  1. . . Q:$P($G(^RCY(344.31,RCEFT,3)),U) ; EFT has been removed PRCA*4.5*293
  1. . . S RCREC=$$GETREC(RCEFT,RCDATA(0),.RECEXT)
  1. . . Q:RCREC="PURGED" ; need to prevent processed EFTs that had receipts purged from being generated on the report
  1. . . ;; PRCA276 - need to add EFT entries without a receipt to the total number of unapplied deposits
  1. . . I 'RCREC S RCUNAP=RCUNAP+1,^TMP(RCRPLST,$J,RCDT,RCDA,RCEFT)=-1,RCTOT=RCTOT+$P(RCDATA(0),U,7) Q ; No receipt therefore no FMS document
  1. . . S RCSTAT=$$FMSSTAT^RCDPUREC(RCREC)
  1. . . I $E($P(RCSTAT,U),1,2)="TR",$P(RCSTAT,U,2)["ACCEPTED" Q
  1. . . S RCUNAP=RCUNAP+1,RCTOT=RCTOT+$P(RCDATA(0),U,7) ; total unapplied deposits and total dollar amount of unapplied deposits
  1. . . I $P(RCSTAT,U,2)="NOT ENTERED" S ^TMP(RCRPLST,$J,RCDT,RCDA,RCEFT)="-2^^"_$P(RCSTAT,U) Q ; No FMS doc
  1. . . S ^TMP(RCRPLST,$J,RCDT,RCDA,RCEFT)="1^"_$P(RCSTAT,U,1,2)_"^"_RECEXT
  1. . S:RCTOT ^TMP(RCRPLST,$J,RCDT,RCDA)=RCTOT,RCSUM=RCSUM+RCTOT
  1. ;
  1. D:'RCLSTMGR HDRBLD
  1. D:RCLSTMGR HDRLM
  1. ;
  1. I RCDISPTY D EXCEL Q
  1. ;
  1. D RPT
  1. Q
  1. ;
  1. RPT ; display/print the report using data populated in temporary global array
  1. N RCPAYID,RCPAYER,XX,YY,ZZ ;PRCA*4.5*318
  1. ;
  1. D:'RCLSTMGR HDRLST^RCDPEARL(.RCSTOP,.RCHDR) ; initial report header
  1. G:RCDET="G" RPTQ ; PRCA*4.5*371 - Quit here if grand totals only report
  1. ;
  1. S RCDT=0
  1. F S RCDT=$O(^TMP(RCRPLST,$J,RCDT)) Q:'RCDT D Q:RCSTOP
  1. .I 'RCLSTMGR,$Y>(IOSL-RCHDR(0)) D HDRLST^RCDPEARL(.RCSTOP,.RCHDR) Q:RCSTOP
  1. .D SL^RCDPEARL(" ",.RCLNCNT,RCTMPND) ; skip a line
  1. .S Y="DEPOSIT DATE: "_$$FMTE^XLFDT(RCDT,1),Y=$J("",80-$L(Y)\2)_Y D SL^RCDPEARL(Y,.RCLNCNT,RCTMPND)
  1. .S RCARDEP=0 F S RCARDEP=$O(^TMP(RCRPLST,$J,RCDT,RCARDEP)) Q:'RCARDEP D
  1. ..D SL^RCDPEARL(" ",.RCLNCNT,RCTMPND) ; skip a line
  1. ..S RCTSKCNT=RCTSKCNT+1 I 'RCLSTMGR,(RCTSKCNT#100),$D(ZTQUEUED),$$S^%ZTLOAD D Q ; stop task
  1. ...S (RCSTOP,ZTSTOP)=1 D SL^RCDPEARL("TASK STOPPED BY USER!!",.RCLNCNT,RCTMPND) K ZTREQ
  1. ..;
  1. ..S RCDATA(0)=$G(^RCY(344.3,RCARDEP,0))
  1. ..I 'RCLSTMGR,$Y>(IOSL-RCHDR(0)) D HDRLST^RCDPEARL(.RCSTOP,.RCHDR) Q:RCSTOP
  1. ..; PRCA*4.5*283 - Change the spaces for DEP # from 10 to 13 to allow 9 digit DEP #
  1. ..; PRCA*4.5*317 Shift line 2 chars to the right
  1. ..S Y=" "_$E($P(RCDATA(0),U,6)_$S('$$HACEFT^RCDPEU(RCARDEP):"",1:"-HAC")_$J("",13),1,13) ;deposit #
  1. ..S Y=Y_" "_$E($$FMTE^XLFDT($P(RCDATA(0),U,7),2)_$J("",16),1,16) ; deposit date
  1. ..S Y=Y_" "_$E($J(+$P(RCDATA(0),U,8),"",2)_$J("",20),1,20) ; total amt deposit
  1. ..S Y=Y_" "_$J(+$G(^TMP(RCRPLST,$J,RCDT,RCARDEP)),"",2) ; total amt unposted
  1. ..D SL^RCDPEARL(Y,.RCLNCNT,RCTMPND)
  1. ..S RCEFTIEN=0 F S RCEFTIEN=$O(^TMP(RCRPLST,$J,RCDT,RCARDEP,RCEFTIEN)) Q:'RCEFTIEN S RCDATA=$G(^(RCEFTIEN)),RCEFT("DEP")=$G(^RCY(344.31,RCEFTIEN,0)) D
  1. ...I 'RCLSTMGR,$Y>(IOSL-RCHDR(0)) D HDRLST^RCDPEARL(.RCSTOP,.RCHDR) Q:RCSTOP
  1. ...N RCPAY S RCPAY=$P(RCEFT("DEP"),U,2) S:RCPAY="" RCPAY="NO PAYER NAME RECEIVED" ; PRCA*4.5*298
  1. ...;
  1. ...; PRCA*4.5*317 Shift line 2 chars to the right
  1. ...;S Y=" "_RCPAY_"/"_$P(RCEFT("DEP"),U,3) D SL^RCDPEARL(Y,.RCLNCNT,RCTMPND) ; payer/ID
  1. ...; PRCA*4.5*318 Account for payer names of 60 characters and payer ID of 20 characters
  1. ...S RCPAYID=$P(RCEFT("DEP"),U,3)
  1. ...S RCPAYER=RCPAY_"/"_RCPAYID ; payer/ID
  1. ...I $L(RCPAYER)>77 D
  1. ... . S ZZ=$L(RCPAYER,"/"),XX=$P(RCPAYER,"/",1,ZZ-1),YY=$P(RCPAYER,"/",ZZ)
  1. ... . S XX=$E(XX,1,$L(XX)-($L(RCPAYER)-77)),RCPAYER=XX_"/"_YY
  1. ...S Y=" "_RCPAYER
  1. ...; end of PRCA*4.5*318
  1. ...D SL^RCDPEARL(Y,.RCLNCNT,RCTMPND) ; payer/ID
  1. ...; PRCA*4.5*317 Shift line 2 chars to the right
  1. ...S Y=" "_$E($P(RCEFT("DEP"),U,4)_$J("",50),1,50) ; trace #
  1. ...S Y=Y_" "_$E($J(+$P(RCEFT("DEP"),U,7),"",2)_$J("",12),1,12) ; payment amt
  1. ...;
  1. ...; PRCA*4.5*317 Shift lines 2 to thr right to allow 12 digit receipt #
  1. ...S Y=Y_" "_$S($P(RCDATA,U,4)'="":$P(RCDATA,U,4),1:"NO RECEIPT") ; receipt #
  1. ... D SL^RCDPEARL(Y,.RCLNCNT,RCTMPND)
  1. ...; PRCA*4.5*317 Shift line 2 chars to the right
  1. ...S Z=$P(RCEFT("DEP"),U,8)
  1. ...S Y=" "_$E($S('Z:"UNMATCHED",Z=2:"PAPER EOB",1:"MATCHED TO ERA #: "_$P(RCEFT("DEP"),U,10)_$S(Z=-1:" (TOTALS MISMATCH)",1:""))_$J("",40),1,40)_" "
  1. ...S Y=Y_$S($P(RCDATA,U)=-1:"NO RECEIPT",$P(RCDATA,U)=-2:"NO FMS DOCUMENT",1:$E($P(RCDATA,U,2)_" - "_$P(RCDATA,U,3),1,30))
  1. ...D SL^RCDPEARL(Y,.RCLNCNT,RCTMPND)
  1. ;
  1. I '$D(^TMP(RCRPLST,$J)) D SL^RCDPEARL("*** NO RECORDS TO PRINT ***",.RCLNCNT,RCTMPND)
  1. ;
  1. I 'RCSTOP D SL^RCDPEARL(" ",.RCLNCNT,RCTMPND),SL^RCDPEARL($$ENDORPRT^RCDPEARL,.RCLNCNT,RCTMPND)
  1. I $D(ZTQUEUED) S ZTREQ="@"
  1. D:'$D(ZTQUEUED) ^%ZISC
  1. G:RCSTOP RPTQ
  1. ;
  1. RPTQ ;
  1. I '$G(RCLSTMGR),'$G(RCSTOP),$E(IOST,1,2)="C-" D ASK^RCDPEARL(.RCSTOP)
  1. K ^TMP(RCRPLST,$J)
  1. Q
  1. ;
  1. GETREC(EFTDA,EFTDET,RECEXT) ; function, prca276
  1. ; input - EFTDA - IEN OF 344.31
  1. ; input - EFTDET - data stored at the 0 subscript of the THIRD PARTY EFT DETAIL file (344.31)
  1. ; input - RECEXT passed by reference
  1. ; output - RECEXT populated with the external receipt value that gets generated on the report
  1. ; output - RECEIPT - returns internal value of the receipt that either comes from the EFT file (344.31) or the ERA file (344.4)
  1. N RECEIPT
  1. S RECEXT=0
  1. S RECEIPT=+$P($G(^RCY(344.4,+$P(EFTDET,U,10),0)),U,8) ; get receipt off the ERA record
  1. I 'RECEIPT,$P(EFTDET,U,8)=2 S RECEIPT=+$O(^RCY(344,"AEFT",EFTDA,0)) ; EFT processed against paper EOB
  1. I 'RECEIPT S RECEIPT=$P(EFTDET,U,9) ; receipt not posted in payment file so get from EFT detail (unprocessed EFT)
  1. I +RECEIPT,'$D(^RCY(344,RECEIPT)) Q "PURGED" ; handle purged receipts but broken pointer exists in 344.31; need to handle as a processed EFT
  1. I +RECEIPT S RECEXT=$P(^RCY(344,RECEIPT,0),U)
  1. Q +RECEIPT
  1. ;
  1. ;
  1. HDRBLD ; create the report header
  1. ; returns RCHDR, RCPGNUM, RCSTOP
  1. ; RCHDR(0) = header text line count
  1. ; RCHDR("XECUTE") = M code for page number
  1. ; RCHDR("RUNDATE") = date/time report generated, external format
  1. ; RCPGNUM - page counter
  1. ; RCSTOP - flag to exit
  1. ; INPUT:
  1. ; RCDISPTY - Display/print/Excel flag
  1. ; RCRTYP - Report Type (EOB or ERA)
  1. ; VAUTD
  1. K RCHDR S RCHDR("RUNDATE")=$$NOW^RCDPEARL,RCPGNUM=0,RCSTOP=0
  1. ;
  1. ;
  1. I RCDISPTY D Q ; Excel format, xecute code is QUIT, null page number
  1. .S RCHDR(0)=1,RCHDR("XECUTE")="Q",RCPGNUM=""
  1. .S RCHDR(1)="DEPOSIT #^DEPOSIT DATE^TOT AMT DEPOSIT^TOT AMT UNPOSTED^PAYER ID^TRACE #^PAYMENT AMT^RECEIPT #^ERA MATCHED^FMS DOC #/STATUS"
  1. ;
  1. N DIV,HCNT,Y
  1. S HCNT=0 ; header counter
  1. ;
  1. S Y=$$HDRNM,HCNT=1,RCHDR(HCNT)=$J("",80-$L(Y)\2)_Y ; line 1 will be replaced by XECUTE code below
  1. S RCHDR("XECUTE")="N Y S RCPGNUM=RCPGNUM+1,Y=$$HDRNM^"_$T(+0)_"_$S(RCLSTMGR:"""",1:$J(""Page: ""_RCPGNUM,12)),RCHDR(1)=$J("" "",80-$L(Y)\2)_Y"
  1. S Y="Run Date: "_RCHDR("RUNDATE")
  1. I RCDET'="G" D ; PRCA*4.5*371 - Don't display MPT information in Grand Totals report
  1. . S Y=Y_" MEDICAL/PHARMACY/TRICARE/CHAMPVA: " ; PRCA*4.5*326 ;PRCA*4.5*432 CHAMPVA
  1. . S Y=Y_$S(RCTYPE="M":"MEDICAL",RCTYPE="P":"PHARMACY",RCTYPE="T":"TRICARE",RCTYPE="C":"CHAMPVA",1:"ALL") ; PRCA*4.5*326 ;PRCA*4.5*432 CHAMPVA
  1. S HCNT=HCNT+1,RCHDR(HCNT)=$J("",80-$L(Y)\2)_Y
  1. ;
  1. S:RCDET="G" Y="GRAND TOTAL",Y=$J("",80-$L(Y)\2)_Y ; PRCA*4.5*371 - Grand Totals report
  1. S:RCDET'="G" Y="Date Range: "_$$FMTE^XLFDT(RCSTDT,2)_" - "_$$FMTE^XLFDT(RCENDT,2)_" (Deposit Date)",Y=$J("",80-$L(Y)\2)_Y
  1. S HCNT=HCNT+1,RCHDR(HCNT)=Y
  1. S Y="TOTAL NUMBER OF UNAPPLIED DEPOSITS: "_RCUNAP,HCNT=HCNT+1,RCHDR(HCNT)=$J("",80-$L(Y)\2)_Y
  1. S Y="TOTAL AMOUNT OF UNAPPLIED DEPOSITS: $"_$FN(RCSUM,",",2),HCNT=HCNT+1,RCHDR(HCNT)=$J("",80-$L(Y)\2)_Y
  1. S HCNT=HCNT+1,RCHDR(HCNT)=""
  1. ;
  1. I RCDET'="G" D ; PRCA*4.5*371 - Don't display details on grand total report
  1. .; PRCA*4.5*317 Shift each line 2 chars to the right
  1. .S HCNT=HCNT+1,RCHDR(HCNT)=" DEPOSIT # DEPOSIT DATE TOT AMT OF DEPOSIT TOT AMT UNPOSTED"
  1. .S HCNT=HCNT+1,RCHDR(HCNT)=" PAYER/ID"
  1. .S HCNT=HCNT+1,RCHDR(HCNT)=$J("",4)_"TRACE #"_$J("",44)_"PAYMENT AMT RECEIPT #"
  1. .S HCNT=HCNT+1,RCHDR(HCNT)=$J("",6)_$E("ERA MATCHED"_$J("",40),1,40)_" FMS DOC #/STATUS"
  1. .; PRCA*4.5*317 End
  1. S Y="",$P(Y,"=",81)="",HCNT=HCNT+1,RCHDR(HCNT)=Y ; row of equal signs at bottom
  1. ;
  1. S RCHDR(0)=HCNT ; header line count
  1. Q
  1. ;
  1. HDRLM ; create the report header
  1. ; returns RCHDR
  1. ; RCHDR(0) = header text line count
  1. ; INPUT:
  1. ; RCSTDT - Date Range
  1. K RCHDR
  1. ;
  1. N DIV,HCNT,Y
  1. S HCNT=0 ; header counter
  1. S Y="Date Range: "_$$FMTE^XLFDT(RCSTDT,2)_" - "_$$FMTE^XLFDT(RCENDT,2)_" (Deposit Date) "
  1. S Y=Y_"MED/PHARM/TRIC/CHAMPVA: " ; PRCA*4.5*326 ;PRCA*4.5*432 CHAMPVA
  1. S Y=Y_$S(RCTYPE="M":"MEDICAL",RCTYPE="P":"PHARMACY",RCTYPE="T":"TRICARE",RCTYPE="C":"CHAMPVA",1:"ALL") ; PRCA*4.5*326 ;PRCA*4.5*432 CHAMPVA
  1. S HCNT=HCNT+1,RCHDR(HCNT)=Y
  1. S Y="TOTAL NUMBER OF UNAPPLIED DEPOSITS: "_RCUNAP,HCNT=HCNT+1,RCHDR(HCNT)=Y
  1. S Y="TOTAL AMOUNT OF UNAPPLIED DEPOSITS: $"_$FN(RCSUM,",",2),HCNT=HCNT+1,RCHDR(HCNT)=Y
  1. ;
  1. ; PRCA*4.5*317 Shift each line 2 chars to the right
  1. S HCNT=HCNT+1,RCHDR(HCNT)=" DEPOSIT # DEPOSIT DATE TOT AMT OF DEPOSIT TOT AMT UNPOSTED"
  1. S HCNT=HCNT+1,RCHDR(HCNT)=" PAYER/ID"
  1. S HCNT=HCNT+1,RCHDR(HCNT)=$J("",4)_"TRACE #"_$J("",44)_"PAYMENT AMT RECEIPT #"
  1. S HCNT=HCNT+1,RCHDR(HCNT)=$J("",6)_$E("ERA MATCHED"_$J("",40),1,40)_" FMS DOC #/STATUS"
  1. ; PRCA*4.5*317 End
  1. ;
  1. S RCHDR(0)=HCNT ; header line count
  1. Q
  1. ;
  1. ; extrinsic variable, name for header PRCA*4.5*298
  1. HDRNM() Q "Unapplied EFT Deposits Report"
  1. ;
  1. EXCEL ; Print report formatted for export to Excel
  1. N STR1
  1. W !,$G(RCHDR(1)),!
  1. S RCDT=0 F S RCDT=$O(^TMP(RCRPLST,$J,RCDT)) Q:'RCDT D Q:RCSTOP
  1. .S RCARDEP=0 F S RCARDEP=$O(^TMP(RCRPLST,$J,RCDT,RCARDEP)) Q:'RCARDEP D
  1. ..S RCDATA(0)=$G(^RCY(344.3,RCARDEP,0))
  1. ..S STR1=$P(RCDATA(0),U,6)_$S('$$HACEFT^RCDPEU(RCARDEP):"",1:"-HAC")_U_$$FMTE^XLFDT($P(RCDATA(0),U,7))_U_$P(RCDATA(0),U,8)_U
  1. ..S STR1=STR1_+$G(^TMP(RCRPLST,$J,RCDT,RCARDEP))_U
  1. ..S RCEFTIEN=0 F S RCEFTIEN=$O(^TMP(RCRPLST,$J,RCDT,RCARDEP,RCEFTIEN)) Q:'RCEFTIEN S RCDATA=$G(^(RCEFTIEN)),RCEFT("DEP")=$G(^RCY(344.31,RCEFTIEN,0)) D
  1. ...W STR1 S:$P(RCEFT("DEP"),U,2)="" $P(RCEFT("DEP"),U,2)="NO PAYER NAME RECEIVED" ;PRCA*4.5*298
  1. ...W $P(RCEFT("DEP"),U,2)_"/"_$P(RCEFT("DEP"),U,3)_U_$P(RCEFT("DEP"),U,4)_U
  1. ...W +$P(RCEFT("DEP"),U,7)_U_$S($P(RCDATA,U,4)'="":$P(RCDATA,U,4),1:"NO RECEIPT")_U
  1. ...W $P(RCEFT("DEP"),U,10)_U
  1. ...W $S($P(RCDATA,U)=-1:"NO RECEIPT",$P(RCDATA,U)=-2:"NO FMS DOCUMENT",1:$P(RCDATA,U,2)_" - "_$P(RCDATA,U,3))
  1. ...W !
  1. Q
  1. ;
  1. ; PRCA*4.5*371 - Add subroutine
  1. RDET(DEF) ; Prompt for full report or just grand total
  1. ; Input: DEF - Value to use a default
  1. ; Returns: -1 - User ^ or timed out
  1. ; D - User selected DETAIL REPORT
  1. ; G - User selected GRAND TOTAL
  1. N DA,DIR,DTOUT,DUOUT,X,Y,DIRUT,DIROUT,RCTYPE,RETURN
  1. S RCTYPE=""
  1. S DIR("?")="Enter the type of report to run"
  1. S DIR(0)="SA^D:DETAIL;G:GRAND TOTAL"
  1. S DIR("A")="(D)ETAIL REPORT or (G)RAND TOTAL?: "
  1. S DIR("B")=$S($G(DEF)'="":DEF,1:"D")
  1. D ^DIR
  1. K DIR
  1. I $D(DTOUT)!$D(DUOUT) Q -1
  1. Q:Y="" "A"
  1. S RETURN=$E(Y)
  1. Q RETURN
  1. ;