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

ACRFPAY4.m

Go to the documentation of this file.
  1. ACRFPAY4 ;IHS/OIRM/DSD/THL,AEF - CERTIFY AND EXPORT PAYMENT BATCH; [ 07/22/2005 8:27 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**2,5,17**;NOV 05, 2001
  1. ;;
  1. Q
  1. VS1 ;EP;TO SYNCRONIZE BETWEEN ARMS PAYEE AND 1166 AFP APPROVALS FOR
  1. ;PAYMENT ENTRY
  1. N ACRP0,ACRP11,ACRP14,ACRV0,ACRV11,ACRV14
  1. Q:'$G(ACRFYDA)!'$G(ACRBATDA)!'$G(ACRSEQDA)
  1. S ACRDOCDA=+$G(^AFSLAFP(ACRFYDA,1,ACRBATDA,1,ACRSEQDA,"ARMS"))
  1. S ACRSEQ0=$G(^AFSLAFP(ACRFYDA,1,ACRBATDA,1,ACRSEQDA,0))
  1. N ACRPVDA,ACRVDA
  1. S ACRPVDA=$P($G(^AFSLAFP(ACRFYDA,1,ACRBATDA,1,ACRSEQDA,0)),U,10)
  1. I $G(ACRDOCDA) D
  1. .D VENDOR^ACRFRR
  1. .S ACRVDA=$P($G(^ACRDOC(ACRDOCDA,5)),U,5)
  1. I '$G(ACRDOCDA) D VENDOR
  1. D VDATA
  1. D VS2
  1. Q
  1. VDATA ;DISPLAY ARMS AND 1166 PAYEE DATA
  1. S ACRP0=$G(^AUTTVNDR(+ACRPVDA,0))
  1. S ACRP11=$G(^AUTTVNDR(+ACRPVDA,11))
  1. S ACRP14=$G(^AUTTVNDR(+ACRPVDA,14))
  1. S ACRV0=$G(^AUTTVNDR(+ACRVDA,0))
  1. S ACRV11=$G(^AUTTVNDR(+ACRVDA,11))
  1. S ACRV14=$G(^AUTTVNDR(+ACRVDA,14))
  1. W @IOF
  1. W !!,"ARMS PAYEE: ",$P(ACRV0,U),?50,"EIN: ",$P(ACRV11,U,13)
  1. W !?12,$P(ACRV14,U)
  1. W !?12,$P(ACRV14,U,2)
  1. W !?12,$P(ACRV14,U,3),", ",$P($G(^DIC(5,+$P(ACRV14,U,3),0)),U,2)," ",$P(ACRV14,U,5)
  1. W !!,"1166 PAYEE: ",$P(ACRP0,U),?50,"EIN: ",$P(ACRP11,U,13)
  1. W !?12,$P(ACRP14,U)
  1. W !?12,$P(ACRP14,U,2)
  1. W !?12,$P(ACRP14,U,3),", ",$P($G(^DIC(5,+$P(ACRP14,U,3),0)),U,2)," ",$P(ACRP14,U,5)
  1. W !!,"Payment Sequence NO. ",$P(ACRSEQ0,U)
  1. W !,"will now be updated with the new Payee information."
  1. W !
  1. D PAUSE^ACRFWARN
  1. Q
  1. VS2 ;SYCHRONIZE BETWEEN ARMS AND 1166
  1. S DA=ACRSEQDA
  1. S DA(1)=ACRBATDA
  1. S DA(2)=ACRFYDA
  1. S DIE="^AFSLAFP("_DA(2)_",1,"_DA(1)_",1,"
  1. S X=ACRV11
  1. S DR="16////"_ACRVDA_";65////"_ACRVDA_";28////"_$P(ACRV14,U,6)_";29////"_$P(ACRV14,U)_";30////"_$P(ACRV14,U,3)_";31////"_$P($G(^DIC(5,+$P(ACRV14,U,4),0)),U,2)_";32////"_$P(ACRV14,U,5)_";33////"_$P(ACRV0,U)_";56////"_$P(X,U,2)_";58////"_$P(X,U)
  1. D DIE^ACRFDIC
  1. Q
  1. VSYNC ;EP - REVIEW SELECTED PAYMENTS
  1. I ACRBTYP="T" D Q
  1. .W !!,"This function is not applicable to Travel Batches."
  1. .D PAUSE^ACRFWARN
  1. N X
  1. S ACRXX=ACRY
  1. F ACRJ=1:1 S X=$P(ACRXX,",",ACRJ) Q:'X!'+$G(^TMP("ACRPAY",$J,+X))!$D(ACRQUIT) S ACRSEQDA=+^TMP("ACRPAY",$J,X) D VS1 I $P(ACRXX,",",ACRJ+1) D NEXT^ACRFPAY
  1. K ACRQUIT
  1. Q
  1. VENDOR ;SELECT VENDOR FOR PAYMENT
  1. S DIC="^AUTTVNDR("
  1. S DIC(0)="AEMQZ"
  1. S DIC("A")="Select VENDOR for this payment: "
  1. S:ACRPVDA DIC("B")=$P(^AUTTVNDR(ACRPVDA,0),U)
  1. D DIC^ACRFDIC
  1. I +Y<1 W !!,"You must select a vendor for this payment." G VENDOR
  1. S ACRVDA=+Y
  1. Q
  1. REOPEN ;EP;TO REOPEN CLOSED BATCH
  1. F D R1 Q:$D(ACRQUIT)!$D(ACROUT)
  1. K ACRQUIT
  1. Q
  1. R1 S DIC="^AFSLAFP("
  1. S DIC(0)="AEMQZ"
  1. S DIC("A")="Which FISCAL YEAR: "
  1. S DIC("B")=$S($E(DT,4,5)<10:$E(DT,1,3)+1700,1:($E(DT,1,3)+1)+1700)
  1. S DIC("S")="I $P(^(0),U)=X"
  1. W !
  1. D DIC^ACRFDIC
  1. I +Y<1 S ACRQUIT="" Q
  1. N ACRFYNO,ACRFYDA
  1. S ACRFYDA=+Y
  1. S ACRFYNO=$P(Y(0),U)
  1. F D R11 Q:$D(ACRQUIT)!$D(ACROUT)
  1. Q
  1. R11 S DA(1)=ACRFYDA
  1. S DIC="^AFSLAFP("_ACRFYDA_",1,"
  1. S DIC(0)="AEMQZ"
  1. S DIC("A")="REOPEN Which Batch: "
  1. S DIC("S")="I $P($G(^AFSLAFP(ACRFYDA,1,+Y,2)),U,3)=""C"""
  1. W !
  1. D DIC^ACRFDIC
  1. I +Y<1 S ACRQUIT="" Q
  1. S ACRBATDA=+Y
  1. S ACRBATNO=$P(Y(0),U)
  1. S DA(1)=ACRFYDA
  1. S DA=ACRBATDA
  1. S DIR(0)="YO"
  1. S DIR("A",1)="Are you certain you want to RE"_$S(+$G(^AFSLAFP(ACRFYDA,1,ACRBATDA,2)):"-EXPORT",1:"OPEN")
  1. S DIR("A")="Batch NO: "_ACRBATNO_" from Fiscal Year "_ACRFYNO
  1. S DIR("B")="NO"
  1. W !
  1. D DIR^ACRFDIC
  1. Q:Y'=1
  1. D DHR
  1. W !!,"Batch NO: "_ACRBATNO_" from Fiscal Year "_ACRFYNO
  1. W !,$S(+$G(^AFSLAFP(ACRFYDA,1,ACRBATDA,2)):"Can now be RE-EXPORT'ed.",1:"Is now OPEN for further processing.")
  1. S DA(1)=ACRFYDA
  1. S DA=ACRBATDA
  1. S DIE="^AFSLAFP("_ACRFYDA_",1,"
  1. I +$G(^AFSLAFP(ACRFYDA,1,ACRBATDA,2)),$P($G(^(0)),U,5) S DR="5///@;7///@;4////"_$P($G(^(0)),U,5)
  1. E S DR="4///@;5///@;6////O;7///@"
  1. D DIE^ACRFDIC
  1. Q
  1. DHR ;ALLOW RE-CREATION OF DHR'S
  1. S DIR(0)="YO"
  1. S DIR("A")="Do you need to RE-CREATE the DHR's"
  1. S DIR("B")="NO"
  1. W !
  1. D DIR^ACRFDIC
  1. Q:Y'=1
  1. S ACRSEQDA=0
  1. F S ACRSEQDA=$O(^AFSLAFP(ACRFYDA,1,ACRBATDA,1,ACRSEQDA)) Q:'ACRSEQDA D
  1. .S DA=ACRSEQDA
  1. .S DA(1)=ACRBATDA
  1. .S DA(2)=ACRFYDA
  1. .S DIE="^AFSLAFP("_DA(2)_",1,"_DA(1)_",1,"
  1. .S DR=".03///@"
  1. .D DIE^ACRFDIC
  1. Q
  1. CLOSEB ;EP;CLOSE A BATCH
  1. D VALCHK^ACRFPAY5
  1. Q:$D(ACRQUIT)
  1. S DIR(0)="YO"
  1. S DIR("A")="Are you certain you want to "_$S('$D(ACRCERT)#2:"CLOSE",1:"CERTIFY")_" this batch"
  1. S DIR("B")="NO"
  1. W !
  1. D DIR^ACRFDIC
  1. Q:+Y'=1
  1. I $D(ACRCERT)#2 D ^ACRFESIG Q:$D(ACRQUIT)
  1. S DA=ACRBATDA
  1. S DA(1)=ACRFYDA
  1. S DIE="^AFSLAFP("_ACRFYDA_",1,"
  1. S DR=$S('$D(ACRCERT)#2:"",1:"4////"_DT_";2////"_DUZ_";")_"6////C"
  1. D DIE^ACRFDIC
  1. I $D(ACRCERT)#2,'$P(^AFSLAFP(ACRFYDA,1,ACRBATDA,0),U,5) D Q
  1. .W !!,"The CERTIFICATION was not applied to BATCH ",ACRBATNO
  1. .D PAUSE^ACRFWARN
  1. .S ACRQUIT=""
  1. I '$D(ACRCERT)#2,$P(^AFSLAFP(ACRFYDA,1,ACRBATDA,2),U,3)'="C" D Q
  1. .W !!,"BATCH NO. ",ACRBATNO," could not be closed."
  1. .W !,"Someone else may be editing it at this time."
  1. .D PAUSE^ACRFWARN
  1. .S ACRQUIT=""
  1. Q:$D(ACRQUIT)
  1. W !!,ACRBATNO," has now been ",$S('$D(ACRCERT)#2:"CLOSED",1:"CERTIFIED"),"."
  1. D PAIDUP^ACRFPAID
  1. D PAUSE^ACRFWARN
  1. S ACRQUIT=""
  1. Q
  1. DELETE ;EP;DELETE A PAYMENT
  1. I '$G(ACRMAX) D Q
  1. .W !!,"There are no payments to delete."
  1. .D PAUSE^ACRFWARN
  1. S DIR(0)="LO^1:"_ACRMAX
  1. S DIR("A")="DELETE Which PAYMENT(s)"
  1. W !
  1. D DIR^ACRFDIC
  1. I '+Y S ACRQUIT="" Q
  1. S ACRXX=ACRY
  1. S DIR("A",1)="Are you ABSOLUTELY CERTAIN you want to DELETE"
  1. S DIR("A")="payment(s) "_$E(ACRY,1,$L(ACRY)-1)_" from this batch"
  1. S DIR(0)="YO"
  1. S DIR("B")="NO"
  1. W !
  1. D DIR^ACRFDIC
  1. I +Y'=1 S ACRQUIT="" Q
  1. F ACRJ=1:1 S X=$P(ACRXX,",",ACRJ) Q:'X!'+$G(^TMP("ACRPAY",$J,+X))!$D(ACRQUIT) S ACRSEQDA=+^TMP("ACRPAY",$J,X) D
  1. .S DA=ACRSEQDA
  1. .S DA(1)=ACRBATDA
  1. .S DA(2)=ACRFYDA
  1. .S DIK="^AFSLAFP("_DA(2)_",1,"_DA(1)_",1,"
  1. .D DIK^ACRFDIC
  1. .I '$D(ACRFY) D ;ACR*2.1*5.12
  1. ..S ACRFY=+^AFSLAFP(ACRFYDA,0) ;ACR*2.1*5.12
  1. . D KP^ACRFODOC(ACRFY,ACRDOC,ACRBATNO,$P(ACR0,U)) ;OPEN DOCUMENT INTERFACE
  1. K ACRQUIT
  1. Q
  1. ADD ;EP;ADD A NEW BATCH
  1. N ACRFYDA,ACRFY
  1. D FY
  1. Q:$D(ACRQUIT)
  1. S ACRFYDA=$O(^AFSLAFP("B",ACRFY,0))
  1. I 'ACRFYDA D Q:'ACRFYDA
  1. .S X=ACRFY
  1. .S DIC="^AFSLAFP("
  1. .S DIC(0)="L"
  1. .D FILE^ACRFDIC
  1. .S ACRFYDA=+Y
  1. S DIR(0)="FO^6:6^I X?6N"
  1. S DIR("A")="Batch Number..."
  1. D DIR^ACRFDIC
  1. I X'?6UN S ACRQUIT="" Q
  1. S ACRBATNO=X
  1. D BNCHK
  1. Q:$D(ACRQUIT)
  1. I '$D(ACRBATNO) G ADD
  1. S DIR(0)="SOA^1:VENDOR Payment;2:TRAVEL Payment"
  1. S DIR("A")="Batch Type.....: "
  1. D DIR^ACRFDIC
  1. I '+Y S ACRQUIT="" Q
  1. S ACRBTYP=$S(+Y=1:"V",1:"T")
  1. ;S DIR(0)="SOA^1:ACH-Grouped;2:ACH NON-Grouped;3:Check-Grouped;4:NO-Check (DHR-ONLY);5:Check-Not Grouped" ;ACR*2.1*2.1;ACR*2.1*17.13 IM17827
  1. S DIR(0)="SOA^2:ACH NON-Grouped;3:Check-Grouped;4:NO-Check (DHR-ONLY);5:Check-Not Grouped" ;ACR*2.1*2.1;ACR*2.1*17.13 IM17827
  1. S DIR("A")="Type of Payment: "
  1. D DIR^ACRFDIC
  1. I '+Y S ACRQUIT="" Q
  1. ;S ACRACH=$S(+Y=1:"A",+Y=2:"B",+Y=3:"C",+Y=5:"N",1:"G") ;ACR*2.1*17.13 IM17827
  1. S ACRACH=$S(+Y=1:"B",+Y=2:"B",+Y=3:"C",+Y=5:"N",1:"G") ;ACR*2.1*17.13 IM17827
  1. W !!?10,"FISCAL YEAR.: ",ACRFY
  1. W !?10,"BATCH NUMBER: ",ACRBATNO
  1. W !?10,"BATCH TYPE..: ",$S(ACRBTYP="V":"Vendor Payment",1:"Travel Payment")
  1. ;W !?10,"PAYMENT TYPE: ",$S("AD"[ACRACH:"ACH Grouped","BE"[ACRACH:"ACH NON-Grouped","CF"[ACRACH:"Check-Grouped","NO"[ACRACH:"Check-Not Grouped",ACRACH="G":"NO-Check (DHR-ONLY)",1:"") ;ACR*2.1*2.1;ACR*2.1*17.13 IM17827
  1. W !?10,"PAYMENT TYPE: ",$S("BE"[ACRACH:"ACH NON-Grouped","CF"[ACRACH:"Check-Grouped","NO"[ACRACH:"Check-Not Grouped",ACRACH="G":"NO-Check (DHR-ONLY)",1:"") ;ACR*2.1*2.1;ACR*2.1*17.13 IM17827
  1. S DIR(0)="YO"
  1. S DIR("A")="Create NEW BATCH"
  1. S DIR("B")="NO"
  1. W !
  1. D DIR^ACRFDIC
  1. I +Y'=1 S ACRQUIT="" Q
  1. S X=ACRBATNO
  1. S DA(1)=ACRFYDA
  1. S DIC="^AFSLAFP("_ACRFYDA_",1,"
  1. S:'$D(^AFSLAFP(ACRFYDA,1,0)) ^(0)="^9002325.01"
  1. S DIC(0)="L"
  1. S DIC("DR")=".04////"_$G(ACRBTYP)_";1////"_DT_";6////O;8////"_DUZ_";22////"_ACRACH
  1. D FILE^ACRFDIC
  1. I +Y<1 S ACRQUIT="" Q
  1. S (ACRBATDA,DA)=+Y
  1. S DA(1)=ACRFYDA
  1. S DIE=9002325
  1. S DDSFILE(1)=9002325.01
  1. S DR="[ACR BATCH]"
  1. D DDS^ACRFDIC
  1. D AP^ACRFPAY
  1. Q
  1. BNCHK ;BATCH NUMBER CHECK TO ENSURE NO DUPLICATE NUMBERS
  1. I $D(^AFSLAFP("L",ACRBATNO,ACRFYDA)) D
  1. .W !!,"Batch NO. ",@ACRON,ACRBATNO,@ACROF," has already been used."
  1. .W !,"Please select another batch number."
  1. .D PAUSE^ACRFWARN
  1. .K ACRBATNO
  1. Q
  1. FY ;EP;
  1. S DIR(0)="NO^1000:9999"
  1. S DIR("B")=$S($E(DT,4,5)>9:($E(DT,1,3)+1)+1700,1:$E(DT,1,3)+1700)
  1. S DIR("A")="Fiscal Year...."
  1. W !
  1. D DIR^ACRFDIC
  1. I $D(DTOUT)!($D(DUOUT))!($D(DIRUT)) S ACRQUIT=""
  1. Q:$D(ACRQUIT)
  1. S ACRFY=X
  1. Q