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

ACRFPSS.m

Go to the documentation of this file.
  1. ACRFPSS ;IHS/OIRM/DSD/THL,AEF - SUMMARIZED FINANCIAL DATA FOR SERVICES AND SUPPLIES; [ 05/09/2005 10:25 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**3,16,17**;NOV 05, 2001
  1. ;;SUMMARIZE DOCUMENT FINANCE DATA
  1. EN Q:$D(ACROUT)
  1. I $D(ACRDOCDA),$D(^ACRDOC(ACRDOCDA,0)),$P(^(0),U,18)>0 Q
  1. K ACROBJ,ACRCAN
  1. D EN1
  1. EXIT D:'$D(ACRPSUM) PAUSE^ACRFWARN
  1. Q
  1. EN1 ;EP;
  1. N ACRY,ACR,ACRI,ACRX,ACRCAN,ACR1,ACR2,ACR3,ACRTOT,ACRSSRQD,ACRRX,ACRPHONE
  1. I ACRREFX=116,'$P(^ACRDOC(ACRDOCDA,0),U,19),$L($P(^ACRSYS(1,"DT"),U,19,20))>2000 D EXCEED^ACRFSS12
  1. S ACRXREF=$S(ACRREFX=103!(ACRREFX=349)!(ACRREFX=326)!(ACRREFX=499)!($P(^ACRDOC(ACRDOCDA,0),U,4)=35&($P($G(^ACROBL(ACRDOCDA,"APV")),U)="A")):"J",1:"C")
  1. S (ACRX,D0)=ACRDOCDA
  1. S (ACRTOT,ACRY)=0
  1. F S ACRY=$O(^ACRSS(ACRXREF,ACRX,ACRY)) Q:'ACRY!$D(ACRSSRQD) D EN11
  1. I $D(ACRSSRQD) D Q
  1. .W !!,"REQUIRED FINANCIAL DATA MISSING. FINANCIAL SUMMARY CANNOT BE COMPLETED."
  1. I $D(ACROBJ) D
  1. .D PRINT
  1. .D QUAN^ACRFSS12
  1. Q
  1. EN11 S ACR=^ACRSS(ACRY,0)
  1. S ACRLBDA=$P(ACR,U,6)
  1. S ACR1=$P(ACR,U,4)
  1. S ACR2=$P(ACR,U,5)
  1. S ACR=$P(ACR,U)
  1. S ACR3=$P($G(^ACRSS(ACRY,"DT")),U,4)
  1. S ACRDESC=$P($G(^ACRSS(ACRY,"NMS")),U,5)
  1. I ACR1=""!(ACR2="") S ACRSSRQD="" Q
  1. I $D(ACRREFX),ACRREFX=499,$D(ACRRRNO) D I $D(ACRQUIT) K ACRQUIT Q
  1. .S ACRQUIT=""
  1. .S ACRRX=0
  1. .F S ACRRX=$O(^ACRRR("AC",ACRDOCDA,ACRRRNO,ACRRX)) Q:'ACRRX D
  1. ..S ACRRRDA=0
  1. ..F S ACRRRDA=$O(^ACRRR("AC",ACRDOCDA,ACRRRNO,ACRRX,ACRRRDA)) Q:'ACRRRDA D
  1. ...I $D(^ACRRR(ACRRRDA,0)),$D(^ACRRR(ACRRRDA,"DT")),$D(^ACRRR(ACRRRDA,0)),ACRY=+^(0) D
  1. ....S ACR3=$P(^ACRRR(ACRRRDA,"DT"),U,2)*$P($G(^ACRSS(+^ACRRR(ACRRRDA,0),"DT")),U,3)
  1. ....K ACRQUIT
  1. ....S DA=ACRRRDA
  1. ....S DIE="^ACRRR("
  1. ....S DR=".14////1"
  1. ....D DIE^ACRFDIC
  1. SETS D SETACT
  1. I ACRREFX=130!(ACRREFX=600) K ACRALTOT D ALTOT^ACRFSSA1
  1. S:'$D(ACROBJ(ACRACT,ACR2,ACR1)) ACROBJ(ACRACT,ACR2,ACR1)=0,ACROBJ(ACRACT,ACR2,ACR1,"I")=""
  1. I "^130^600^"[(U_ACRREFX_U),ACRDESC["Travel-DHHS",$P(^ACRDOC(ACRDOCDA,"TOAU"),U,5)'=1 D ALADJST
  1. S ACROBJ(ACRACT,ACR2,ACR1)=ACROBJ(ACRACT,ACR2,ACR1)+ACR3
  1. I "^130^600^"[(U_ACRREFX_U),ACRDESC["Other Exp-DHHS",$P($G(^ACRDOC(ACRDOCDA,"TRNG4")),U,16) S ACROBJ(ACRACT,ACR2,ACR1)=$P(^("TRNG4"),U,16)-$G(ACRALTOT)
  1. ;IF MAX DOLLARS INDICATED FOR CONTINUING EDUCATION
  1. ;ENSURE THAT MAX NOT EXCEEDED IN OBLIGATION OR PAYMENT
  1. S ACROBJ(ACRACT,ACR2,ACR1,"I")=ACROBJ(ACRACT,ACR2,ACR1,"I")_$S(ACROBJ(ACRACT,ACR2,ACR1,"I")]"":",",1:"")_ACR
  1. S:'$D(ACRCAN(ACRACT,ACR2)) ACRCAN(ACRACT,ACR2)=0
  1. S ACRCAN(ACRACT,ACR2)=ACRCAN(ACRACT,ACR2)+ACR3
  1. S ACRTOT=ACRTOT+ACR3
  1. Q
  1. PRINT ;EP;
  1. I '$D(ACRORIGF) S ACRPHEAD=5 D PHEAD^ACRFSS12
  1. S:'$D(ACRREFX) ACRREFX=ACRREF
  1. W !
  1. D B1
  1. W:'$D(ACRORIGF) "---------------------",$S(ACRREF'=148:"---------------------------",1:" SECTION C - FISCAL DATA "),"------------------------------"
  1. D B1
  1. D H1
  1. S ACRACT=""
  1. F S ACRACT=$O(ACROBJ(ACRACT)) Q:ACRACT="" D
  1. .D ACT
  1. .S (ACRCAN,ACROBJ)=0
  1. .F S ACRCAN=$O(ACROBJ(ACRACT,ACRCAN)) Q:'ACRCAN D P1
  1. S ACRI=$G(ACRI) ;ACR*2.1*17.02 IM16906
  1. I ACRREFX=499,ACRI>1 D
  1. .W !?20,"--------------"
  1. .W !?10,"TOTAL:",?19,$J($FN(ACRTOT,"P,",2),14)
  1. S ACRSSTOT=ACRTOT
  1. Q
  1. P1 S ACR1=ACRCAN(ACRACT,ACRCAN)
  1. W !
  1. D B
  1. W:+$G(ACRPSC)'=26&($G(ACRPSC)'=33) ?5
  1. W:+$G(ACRPSC)=26!(+$G(ACRPSC)=33) ?41
  1. W $P(^AUTTCAN(ACRCAN,0),U)," "
  1. S ACRSSADA=$P(^AUTTCAN(ACRCAN,0),U,6)
  1. D P2
  1. Q
  1. P2 S ACRI=0
  1. F S ACROBJ=$O(ACROBJ(ACRACT,ACRCAN,ACROBJ)) Q:'ACROBJ D P3
  1. I '$D(ACRORIGF),$E($G(IOST),1,2)="P-",$Y>(IOSL-4) S ACRPHEAD=5 D PHEAD^ACRFSS12
  1. Q
  1. P3 S ACR2=ACROBJ(ACRACT,ACRCAN,ACROBJ),ACRI=ACRI+1
  1. I ACRI>1 W ! D B
  1. I $D(ACRORIGF),+$G(ACRPSC)=1449 W ?49
  1. W:+$G(ACRPSC)=26!(+$G(ACRPSC)=33) ?60
  1. W:+$G(ACRPSC)=347 ?14
  1. W:+$G(ACRPSC)'=26 ?14
  1. W:+$G(ACRPSC)=26 ?41
  1. W $P(^AUTTOBJC(ACROBJ,0),U)
  1. W:'$D(ACRORIGF) $J($FN(ACR2,"P,",2),14)
  1. I $D(ACROBJ(ACRACT,ACRCAN,ACROBJ,"A"))#2 W !?4,"(REF CODE ",$P($G(^AUTTDOCR(+$P($G(^ACRSYS(+$G(ACRADA),"DT")),U,35),0)),U),?18,$J($FN(ACROBJ(ACRACT,ACRCAN,ACROBJ,"A"),"P,",2),14),")"
  1. I $D(ACRORIGF) D
  1. .W:ACRI=1 $J($FN(ACR1,"P,",2),10)
  1. .W ?28,$J($FN(ACR2,"P,",2),10)
  1. I +$G(ACRPSC)=347,$G(ACR11)]"",$Y=22 D 11^ACRF3472
  1. ;W:"^103^349^326^130^600^148^"'[(U_ACRREFX_U) ?48,$P(ACROBJ(ACRACT,ACRCAN,ACROBJ,"I"),",",1,5) ;ACR*2.1*16.03 IM13679
  1. W:"^103^349^326^130^600^148^"'[(U_ACRREFX_U) ?48,$P(ACROBJ(ACRACT,ACRCAN,ACROBJ,"I"),",",1,6) ;ACR*2.1*16.03 IM13679
  1. I (ACRREFX=103!(ACRREFX=349)!(ACRREFX=326))&'$D(ACR3542)!("^130^600^"[(U_ACRREFX_U)) D
  1. .I $D(ACRTOB),'$D(ACRORIGF),ACRI=1 W ?39,"| ",ACRTOB
  1. .I ACRI>1,'$D(ACRORIGF) W ?39,"|"
  1. .K ACRCONC
  1. .I $D(^ACRAL("E",ACRDOCDA)) D
  1. ..N ACRALDA
  1. ..S ACRALDA=0
  1. ..F S ACRALDA=$O(^ACRAL("E",ACRDOCDA,ACRALDA)) Q:'ACRALDA!$D(ACRCONC) I +$P($G(^ACRAL(ACRALDA,"DT")),U,11) S ACRCONC=$P(^("DT"),U,11)
  1. .W:$D(ACRCONC) ?45,"NON-CONTRACT CODE: ",ACRCONC
  1. .K ACRCONC
  1. W ?79
  1. D B
  1. ;F ACRCNT=6:5 Q:$P(ACROBJ(ACRACT,ACRCAN,ACROBJ,"I"),",",ACRCNT)="" D ;ACR*2.1*16.03 IM13679
  1. F ACRCNT=7:6 Q:$P(ACROBJ(ACRACT,ACRCAN,ACROBJ,"I"),",",ACRCNT)="" D ;ACR*2.1*16.03 IM13679
  1. .I "^130^103^349^326^600^148^"'[(U_ACRREFX_U) D
  1. ..W !,"|"
  1. ..W ?48,$P(ACROBJ(ACRACT,ACRCAN,ACROBJ,"I"),",",ACRCNT,ACRCNT+5)
  1. ..W ?79,"|"
  1. Q
  1. H1 ;I ACRREFX=130 D ALTOT^ACRFSSA1
  1. D
  1. .I ACRREFX'=148,'$D(ACRORIGF) D
  1. ..D PPO:ACRREFX=103!(ACRREFX=349)!(ACRREFX=326)
  1. ..W !
  1. ..D B
  1. ..W:ACRREFX=103&'$D(ACR3542) "9."
  1. ..W:ACRREFX'=148 " ACCOUNTING AND APPROPRIATION DATA"
  1. ..W:ACRREFX=103&'$D(ACR3542) ?39,"|10. REQUISITIONING OFFICE",$S(ACRPHONE]"":" ("_ACRPHONE_")",1:"")
  1. ..W ?79
  1. ..D B
  1. ..W !
  1. ..D B
  1. ..W "---------------------------------------"
  1. ..W:ACRREFX=103&$D(ACRROFF)&'$D(ACR3542) ?39,"| ",ACRROFF
  1. ..W ?79
  1. ..D B
  1. .S ACRLBDA=$P(ACRDOC0,U,6)
  1. H11 Q
  1. PPO ;DATA FOR PRINTING PURCHASE ORDER
  1. S ACRROFF=$P($G(^ACRDOC(ACRDOCDA,"PO")),U,7)
  1. S ACRTOB=$P($G(^ACRDOC(ACRDOCDA,"PO")),U,5)
  1. S ACRPHONE=$P(^ACRDOC(ACRDOCDA,"REQ"),U,8)
  1. I ACRROFF,$D(^AUTTPRG(ACRROFF,0)) S ACRROFF=$P(^(0),U)
  1. I ACRTOB,$D(^AUTTVNDR(ACRTOB,11)) S ACRTOB=$P(^(11),U,26)
  1. I ACRTOB,$D(^AUTTTOB(ACRTOB,0)) S ACRTOB=$P(^(0),U,2)
  1. Q
  1. B Q:$D(ACRORIGF)
  1. W $S(ACRREFX'=103&(ACRREFX'=349)&(ACRREFX'=326):"|",1:"")
  1. Q
  1. B1 Q:$D(ACRORIGF)
  1. W $S(ACRREFX'=103&(ACRREFX'=349)&(ACRREFX'=326):"|",1:"-")
  1. Q
  1. ALADJST ;ADJUST FINACIAL SUMMARY TO EXCLUDE AIRLINE EXPENSE AND TO CREATE
  1. ;SEPARATE DHR FOR AIRLINE EXPENSE WHEN INDICATED
  1. N ACRREFA
  1. I $G(ACRADA),ACRREFX=130!(ACRREFX=600),$P(^ACRSYS(ACRADA,"DT"),U,33) D Q:$G(ACRREFA)=""
  1. .I $P(^ACRSYS(ACRADA,"DT"),U,35) S ACRREFA=$P($G(^AUTTDOCR(+$P(^("DT"),U,35),0)),U) K:ACRREFA=ACRREFX ACRREFA
  1. I '$D(ACRCANCL),$G(ACRADA),ACRREFX=600,$P(^ACRSYS(ACRADA,"DT"),U,34) Q ;IF THIS IS A TO CANCELLATION, CREATE SEPARATE AIRLINE DHR EVEN IF AIRFARE ON PMT DHR IS SET TO YES
  1. S ACR3=ACR3-$G(ACRALTOT)
  1. I $G(ACRALTOT),$G(ACRREFA)]"" S ACROBJ(ACRACT,ACR2,ACR1,"A")=ACRALTOT
  1. Q
  1. ACT ;WRITE ACCOUNTING INFO
  1. W !
  1. D B
  1. ;W:+$G(ACRPSC)'=26&($G(ACRPSC)'=33) ?2 ;ACR*2.1*3.40
  1. ;W:+$G(ACRPSC)=26!(+$G(ACRPSC)=33) ?41 ;ACR*2.1*3.40
  1. W:+$G(ACRPSC)'=26&($G(ACRPSC)'=33) ?0 ;ACR*2.1*3.40
  1. W:+$G(ACRPSC)=26!(+$G(ACRPSC)=33) ?38 ;ACR*2.1*3.40
  1. W ACRACT
  1. W:ACRREFX=103&'$D(ACR3542)&'$D(ACRORIGF) ?39,"|11. BUSINESS CLASSIFICATION" ;ACR*2.1*3.40
  1. I ACRREFX=130,$G(ACRALTOT) W ?45,"(AIRLINE EXPENSE: ",$FN(ACRALTOT,"P,",2),")"
  1. W ?79
  1. D B
  1. Q
  1. SETACT ;EP;TO SET ACCOUNTING DATA
  1. S ACRDPT=$P(^ACRLOCB(ACRLBDA,0),U,5)
  1. S ACRDT=^ACRLOCB(ACRLBDA,"DT")
  1. N ACRPJNUM
  1. S ACRPJNUM=$P($G(^ACRLOCB(ACRLBDA,3)),U)
  1. S ACRFY=$P(ACRDT,U)
  1. S ACRAPPDA=$P(ACRDT,U,4)
  1. S ACRALWDA=$P(ACRDT,U,5)
  1. S ACRSSADA=$P(ACRDT,U,8)
  1. S (ACRCAN,ACRCANDA)=$P(ACRDT,U,9)
  1. S ACRLCOD=$P(ACRDT,U,11)
  1. S ACRCCTDA=$P(ACRDT,U,15)
  1. S ACRDPT=$P(^AUTTPRG(ACRDPT,0),U,6)
  1. K ACRCCT
  1. I ACRCCTDA,$D(^AUTTCCT(ACRCCTDA,0)) S ACRCCT=$P(^(0),U)
  1. I '$D(ACRCCT),ACRCANDA,$D(^AUTTCAN(ACRCANDA,0)) S ACRCCT=$E($P(^(0),U),6,7)
  1. S ACRAPP=$P(^AUTTPRO(ACRAPPDA,0),U)
  1. S ACRALW=$P(^AUTTALLW(ACRALWDA,0),U)
  1. S ACRSSA=$P(^AUTTSSA(ACRSSADA,0),U,3)
  1. S ACRLCOD=$E($P(^AUTTLCOD(ACRLCOD,0),U),2,3)_"."_$P($G(^AUTTLCOD(ACRLCOD,"DT")),U,2)
  1. S ACRACT=ACRAPP_" "_ACRFY_"-"_ACRALW_"."_ACRSSA_"."_($S(ACRPJNUM]"":ACRPJNUM,1:(ACRDPT_ACRCCT)))_"."_ACRLCOD ;ACR*2.1*3.40
  1. Q