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

ACRFTA.m

Go to the documentation of this file.
  1. ACRFTA ;IHS/OIRM/DSD/THL,AEF - TRAVEL ORDER PROCESSING; [ 09/26/2005 7:35 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**3,5,19**;NOV 05, 2001
  1. ;;NOV 05, 2001
  1. ;;PROCESS TRAVEL ORDERS
  1. TA ;EP;SELECT OTA REPORT
  1. D TAEXIT
  1. F D TA1 Q:$D(ACRQUIT)!$D(ACROUT)
  1. TAEXIT ;EP
  1. K ACRQUIT,ACRDC,ACROTA0,ACR1,ACR2,ACR3,ACR4,ACR5,ACR6,ACR7,ACR8,ACR9,ACR9E,ACR9F,ACR9G,ACROUT,ACRUNLIQ,ACRTOT1,ACRTOT2
  1. K ^TMP("ACRTAS",$J)
  1. Q
  1. TA1 W @IOF
  1. W !?10,"Select TRAVEL ADVANCE Function"
  1. S DIR(0)="SO^1:Print TA for One Travel Order" ;ACR*2.1*5.10
  1. S DIR(0)=DIR(0)_";2:Print TA History for Selected Employee" ;ACR*2.1*5.10
  1. S DIR(0)=DIR(0)_";3:Print TA Summary for Selected Time Period" ;ACR*2.1*5.10
  1. S DIR(0)=DIR(0)_";4:Edit Travel Advance" ;ACR*2.1*5.10
  1. S DIR(0)=DIR(0)_";5:Delete Travel Advance" ;ACR*2.1*5.10
  1. S DIR("A")="Which function"
  1. W !
  1. D DIR^ACRFDIC
  1. I Y<1 S ACRQUIT="" Q
  1. I Y=1 D DOC Q
  1. I Y=2 D OTAEMP Q
  1. I Y=3 D TASUM Q
  1. I Y=4 N ACRTAED S ACRTAED="" D EDIT Q ;ACR*2.1*5.10
  1. I Y=5 D DELETE Q
  1. Q
  1. DOC ;SELECT DOC FOR TA REVIEW
  1. S (ACRREF,ACRREFX)=130
  1. D SELDOC
  1. I '$G(ACRDOCDA) K ACRQUIT Q
  1. S (ACRRTN,ZTRTN)="TAFORM^ACRFTA"
  1. S ZTDESC="TRAVEL ORDER OUTSTANDING ADVANCE SUMMARY"
  1. D ^ACRFZIS
  1. Q
  1. TAFORM ;EP;PRINT TA FORM
  1. Q:'$G(ACRDOCDA)
  1. N X,Y,Z,ACRREFX,ACRDOCX,ACROTA0,ACRFR,ACRTO,ACR1,ACR2,ACR3,ACR4,ACR5,ACR6,ACR7,ACR8,ACR9,ACR9E,ACR9F,ACR10,ACR101,ACR102
  1. D TAGATHER
  1. W $$DASH^ACRFMENU
  1. W !?10,"ADVANCE OF FUNDS APPLICATION AND ACCOUNT"
  1. W !,"TRAVEL ORDER.....: ",$G(ACRDOC)
  1. W !,"TRAVEL FROM......: "
  1. S Y=$G(ACRFR)
  1. X ^DD("DD")
  1. S ACRFR=Y
  1. S Y=$G(ACRTO)
  1. X ^DD("DD")
  1. S ACRTO=Y
  1. W $G(ACRFR)
  1. W:$G(ACRTO)]"" " TO: ",$G(ACRTO)
  1. W !,"TYPE OF ADVANCE..: ",$G(ACR1)
  1. W !,"TYPE OF TRAVEL...: ",$G(ACR2)
  1. W !,"TRAVELER.........: ",$G(ACR3)," (SSN ",$S($G(ACR6)]"":"ON RECORD",1:"NOT ON RECORD"),")"
  1. W !,"SIGNED ON........: ",$G(ACR32),$G(ACR31)
  1. W !,"TO APPROVED BY...: ",$G(ACR33)
  1. W:$G(ACR34)]"" " ON: ",$G(ACR34)
  1. W !,"OFFICE PHONE.....: ",$G(ACR5)
  1. W !,"DEPARTMENT.......: ",$G(ACR7)
  1. W !,"OFF DUTY STATION.: ",$G(ACR8)
  1. W !,"BALANCE DUE......: ",$J($FN($G(ACR9E),"P,",2),10)
  1. W !,"AMT APPLIED FOR..: ",$J($FN($G(ACR9F),"P,",2),10)
  1. W !,"AMT LIQUIDATED...: ",$J($FN($G(ACR9G),"P,",2),10)
  1. W !,"ADVANCE SIGNATURE: ",$S($G(ACR102)]"":ACR102,1:"(NOT YET SIGNED)")," ",$G(ACR10)
  1. W:$G(ACR101)]"" " ON: ",$G(ACR101)
  1. S ACRY="PURPOSE OF TRAVEL"
  1. N ACRREFX
  1. S ACRREFX=600
  1. D JUST^ACRFSSD1
  1. W $$DASH^ACRFMENU
  1. D PAUSE^ACRFWARN
  1. Q
  1. OTASUM ;EP;SUMMARIZE TA
  1. D TASUMH
  1. S (ACRTOT1,ACRTOT2)=0
  1. S ACRDOCDA=99999999
  1. F S ACRDOCDA=$O(^ACROTA("C",ACRDUZ,ACRDOCDA),-1) Q:'ACRDOCDA!$D(ACRQUIT) D
  1. .I $D(ACRUNLIQ),$P($G(^ACROBL(ACRDOCDA,"APV")),U,8)'="A"!'($P(^ACROTA(ACRDOCDA,0),U,3)-$P(^ACROTA(ACRDOCDA,0),U,4)) Q
  1. .D TAGATHER
  1. .Q:ACRFR<ACRBEGIN ; ACR*2.1*3.21
  1. .Q:ACRFR>ACREND ; ACR*2.1*3.21
  1. .D TASUML
  1. D SUMT
  1. D PAUSE^ACRFWARN
  1. D TAEXIT
  1. Q
  1. TASUM ;EP;PRINT TA SUMMARY
  1. W !
  1. D ^ACRFDATE
  1. Q:'$G(ACRBEGIN)
  1. Q:$D(ACRQUIT)
  1. D UNLIQ
  1. Q:$D(ACRQUIT)
  1. S (ACRRTN,ZTRTN)="TAS^ACRFTA"
  1. S ZTDESC="OUTSTANDING TRAVEL ADVANCE SUMMARY"
  1. D ^ACRFZIS
  1. Q
  1. TAS ;PRINT OUTSTANDING TA
  1. I $E($G(IOST),1,2)="C-" D
  1. .W !!,"It could take me a while to find all the Travel advances."
  1. .W !,"Please stand by."
  1. S ACRDATE=0
  1. F S ACRDATE=$O(^ACRDOC("DD",ACRDATE)) Q:'ACRDATE!(ACRDATE>ACREND) D
  1. .Q:ACRDATE<ACRBEGIN ; ACR*2.1*3.21
  1. .S ACRDOCDA=0
  1. .F S ACRDOCDA=$O(^ACRDOC("DD",ACRDATE,ACRDOCDA)) Q:'ACRDOCDA D:$D(^ACROTA(ACRDOCDA,0))
  1. ..S X=$P($G(^ACRDOC(ACRDOCDA,"TO")),U,9)
  1. ..;S X=$P($G(^VA(200,+X,0)),U) ;ACR*2.1*19.02 IM16848
  1. ..S X=$$NAME2^ACRFUTL1(+X) ;ACR*2.1*19.02 IM16848
  1. ..Q:X=""
  1. ..I $D(ACRUNLIQ),$P($G(^ACROBL(ACRDOCDA,"APV")),U,8)'="A"!'($P(^ACROTA(ACRDOCDA,0),U,3)-$P(^ACROTA(ACRDOCDA,0),U,4)) Q
  1. ..S ^TMP("ACRTAS",$J,X,ACRDOCDA)=""
  1. D TASUMH
  1. S (ACRTOT1,ACRTOT2)=0
  1. S ACRX=""
  1. F S ACRX=$O(^TMP("ACRTAS",$J,ACRX)) Q:ACRX=""!$D(ACRQUIT) D
  1. .S ACRDOCDA=0
  1. .F S ACRDOCDA=$O(^TMP("ACRTAS",$J,ACRX,ACRDOCDA)) Q:'ACRDOCDA!$D(ACRQUIT) D
  1. ..N ACRDUZ
  1. ..D TAGATHER
  1. ..D TASUML
  1. .D SUMT
  1. .I $Y+4>IOSL D PAUSE^ACRFWARN D TASUMH:'$D(ACRQUIT)
  1. D PAUSE^ACRFWARN
  1. D TAEXIT
  1. Q
  1. SUMT ;TOTALS
  1. I $G(ACRTOT1)>$G(ACRTOT2) D
  1. .W ?59,$J($FN((ACRTOT1-ACRTOT2),"P,",2),10)
  1. .W !
  1. Q
  1. TASUML ;TA SUMMARY LINE
  1. W !,$G(ACR3),?21,$G(ACRDOC),?35,$J($FN($G(ACR9F),"P,",2),10),?47,$J($FN($G(ACR9G),"P,",2),10)
  1. S ACRTOT1=$G(ACRTOT1)+$G(ACR9F)
  1. S ACRTOT2=$G(ACRTOT2)+$G(ACR9G)
  1. Q
  1. TASUMH ;TA SUMMARY HDR
  1. W @IOF
  1. W !?5,"Travel Advance Summary Report - OUTSTANDING TRAVEL ADVANCES"
  1. W !?5,"-----------------------------------------------------------"
  1. W !?5,"Date Report Run......: "
  1. S Y=DT
  1. X ^DD("DD")
  1. W Y
  1. S ACRDC=$G(ACRDC)+1
  1. W ?55,"PAGE: ",ACRDC
  1. W !?10,"Reporting Period From: "
  1. S Y=ACRBEGIN
  1. X ^DD("DD")
  1. W Y
  1. W !?10,"Reporting Period To..: "
  1. S Y=ACREND
  1. X ^DD("DD")
  1. W Y
  1. W $$DASH^ACRFMENU
  1. W !,?35,"ADVANCE",?47,"LIQUIDATED",?59,"TOTAL"
  1. W !,"TRAVELER",?21,"TRAVEL ORDER",?35,"AMOUNT",?47,"AMOUNT",?59,"OUTSTANDING"
  1. W !,"--------------------",?21,"-------------",?35,"-----------",?47,"-----------",?59,"-----------"
  1. Q
  1. TAGATHER ;GATHER TA INFO
  1. I '$D(^ACROTA(ACRDOCDA,0)) S ACR3="NO TRAVEL ADVANCE ON FILE" Q
  1. N X,Y
  1. S ACRDUZ=$P($G(^ACRDOC(ACRDOCDA,"TO")),U,9)
  1. ;S X=$P($G(^VA(200,+ACRDUZ,0)),U) ;ACR*2.1*19.02 IM16848
  1. S X=$$NAME2^ACRFUTL1(+ACRDUZ) ;ACR*2.1*19.02 IM16848
  1. S ACR3=$P($P(X,",",2)," ")_" "_$P(X,",")
  1. S ACR5=$P($G(^VA(200,+ACRDUZ,.13)),U,2)
  1. S ACR6=$P($G(^VA(200,+ACRDUZ,1)),U,9)
  1. S Y=$G(^ACRDOC(ACRDOCDA,0))
  1. S ACR7=$P(Y,U,6)
  1. S ACR7=$P($G(^ACRLOCB(+ACR7,0)),U,12)
  1. S ACR8=$P($G(^DIC(4,+$P($G(^ACRAU(+ACRDUZ,1)),U),0)),U)
  1. S ACRREFX=$O(^AUTTDOCR("B",130,0))
  1. S ACRDOC=$P(Y,U)
  1. S ACRFR=$P($G(^ACRDOC(ACRDOCDA,"TO")),U,14)
  1. S ACRTO=$P($G(^ACRDOC(ACRDOCDA,"TO")),U,15)
  1. I (U_$G(^ACRDOC(ACRDOCDA,"TOPCS"))_U)[("^Y^") S ACR2="PCS"
  1. E S ACR2="TDY"
  1. S ACR1=$S($P($G(^ACRAU(+ACRDUZ,19)),U)]"":"EFT",1:"CHECK")
  1. S ACROTA0=$G(^ACROTA(ACRDOCDA,0))
  1. S ACROTA1=$G(^ACROTA(ACRDOCDA,1))
  1. S ACR9F=$P(ACROTA0,U,3)
  1. S ACR9G=$P(ACROTA0,U,4)
  1. D OUTSTD
  1. S (ACR31,ACR32,ACR33,ACR34)=""
  1. S X=0
  1. F S X=$O(^ACRAPVS("AB",ACRDOCDA,X)) Q:'X D
  1. .I $P($G(^ACRAPVS(X,0)),U,6)=135,$P(^(0),U,3)=15,$P(^ACRAPVS(X,"DT"),U,4) D
  1. ..S ACR10=^ACRAPVS(X,"DT")
  1. ..S ACR102=$E(ACR10)
  1. ..S ACR102=$S($G(ACR102)="A":"APPROVED BY",$G(ACR102)="D":"DISAPPROVED",$G(ACR102)="C":"CANCELLED BY",1:"(NOT YET SIGNED)")
  1. ..S Y=$P(ACR10,U,4)
  1. ..X ^DD("DD")
  1. ..S ACR101=Y
  1. ..S ACR10=$S($P(ACR10,U,6):$P(ACR10,U,6),1:$P(ACR10,U,2))
  1. ..;S ACR10=$P($G(^VA(200,+ACR10,0)),U) ;ACR*2.1*19.02 IM16848
  1. ..S ACR10=$$NAME2^ACRFUTL1(+ACR10) ;ACR*2.1*19.02 IM16848
  1. ..S ACR10=$P($P(ACR10,",",2)," ")_" "_$P(ACR10,",")
  1. .I $P($G(^ACRAPVS(X,0)),U,6)=35 D
  1. ..I $P($G(^ACRAPVS(X,"DT")),U,2)=ACRDUZ,$P(^("DT"),U,4) S ACR31=$P(^("DT"),U,6),ACR32=$P(^("DT"),U,4)
  1. ..I $P($G(^ACRAPVS(X,"DT")),U,5)="Y",$P(^("DT"),U,4) S ACR33=$P(^("DT"),U,6),ACR34=$P(^("DT"),U,4)
  1. I ACR33 D
  1. .;S ACR33=$P($G(^VA(200,ACR33,0)),U) ;ACR*2.1*19.02 IM16848
  1. .S ACR33=$$NAME2^ACRFUTL1(ACR33) ;ACR*2.1*19.02 IM16848
  1. .S ACR33=$P($P(ACR33,",",2)," ")_" "_$P(ACR33,",")
  1. .S Y=ACR34
  1. .X ^DD("DD")
  1. .S ACR34=Y
  1. I ACR31,ACR31'=ACRDUZ D I 1
  1. .;S X=$P($G(^VA(200,+ACR31,0)),U) ;ACR*2.1*19.02 IM16848
  1. .S X=$$NAME2^ACRFUTL1(+ACR31) ;ACR*2.1*19.02 IM16848
  1. .S ACR31=" (by "_$P($P(X,",",2)," ")_" "_$P(X,",")_")"
  1. E S ACR31=""
  1. S Y=ACR32
  1. X ^DD("DD")
  1. S ACR32=Y
  1. Q
  1. OTAEMP ;EP;REVIEW TA
  1. D EMP1^ACRFAU
  1. I '$G(ACRDUZ) K ACRQUIT Q
  1. W !
  1. D ^ACRFDATE
  1. Q:'$G(ACRBEGIN)
  1. Q:$D(ACRQUIT)
  1. D UNLIQ
  1. Q:$D(ACRQUIT)
  1. S (ACRRTN,ZTRTN)="OTASUM^ACRFTA"
  1. S ZTDESC="EMPLOYEE TRAVEL ADVANCE SUMMARY"
  1. D ^ACRFZIS
  1. Q
  1. EDIT ;EDIT TA
  1. F D E1 Q:$D(ACRQUIT)!$D(ACROUT)
  1. K ACRQUIT
  1. Q
  1. E1 D SELDOC
  1. E11 ;EP;EDIT TRAVEL ADVANCE
  1. I '$G(ACRDOCDA) S ACRQUIT="" Q
  1. S DA=ACRDOCDA
  1. S DIE="^ACROTA("
  1. S DR=".03TRAVEL ADVANCE AMNT." ;ACR*2.1*5.10
  1. D DIE^ACRFDIC ;ACR*2.1*5.10
  1. I $D(ACRTAED) D E12 ;ACR*2.1*5.10
  1. S ACRADV=$P($G(^ACROTA(ACRDOCDA,0)),U,3) ;ACR*2.1*5.10
  1. D ETA^ACRFSSA1 ;ACR*2.1*5.10
  1. Q
  1. E12 ;Local entry; LIQUIDATE TRAVEL ADVANCE ;ACR*2.1*5.10
  1. S DA=ACRDOCDA ;ACR*2.1*5.10
  1. S DIE="^ACROTA(" ;ACR*2.1*5.10
  1. S ACRADV=$P($G(^ACROTA(ACRDOCDA,0)),U,3) ;ACR*2.1*5.10
  1. S DR=".04//"_ACRADV ;ACR*2.1*5.10
  1. D DIE^ACRFDIC ;ACR*2.1*5.10
  1. Q ;ACR*2.1*5.10
  1. DELETE ;DELETE TA
  1. D SELDOC
  1. Q:'$G(ACRDOCDA)
  1. S DIR(0)="YO"
  1. S DIR("A",1)="Are you certain you want to delete the"
  1. S DIR("A")="TRAVEL ADVANCE for TO "_ACRDOC
  1. S DIR("B")="NO"
  1. W !
  1. D DIR^ACRFDIC
  1. I Y'=1 K ACRQUIT Q
  1. S DA=ACRDOCDA
  1. S DIK="^ACROTA("
  1. D DIK^ACRFDIC
  1. D OTADEL
  1. Q
  1. SELDOC ;SELECT TRAVEL ORDER
  1. K ACRDOCDA
  1. S DIC="^ACROTA("
  1. S DIC(0)="AEMQZ"
  1. S DIC("A")="Select TRAVEL ORDER: "
  1. W !
  1. D DIC^ACRFDIC
  1. I +Y<1 K ACRQUIT Q
  1. S ACRDOCDA=+Y
  1. D SETDOC^ACRFEA1
  1. Q
  1. UNLIQ ;INCLUDE UNLIQUIDATED ADVANCES ONLY
  1. S DIR(0)="YO"
  1. S DIR("A")="UNLIQUIDATED Advances Only"
  1. S DIR("B")="NO"
  1. W !
  1. D DIR^ACRFDIC
  1. I Y=1 S ACRUNLIQ=""
  1. Q
  1. OUTSTD ;EP;TO CHECK FOR OUTSTANDING ADVANCES
  1. N X,Y,Z,ACROTA0,ACROTA1,ACRDOCX
  1. Q:'$G(ACRDUZ)!'$G(ACRDOCDA)
  1. S X=0
  1. F S X=$O(^ACROTA("C",ACRDUZ,X)) Q:'X D:X'=ACRDOCDA
  1. .S ACROTA0=$G(^ACROTA(X,0))
  1. .S ACRDOCX=$P(ACROTA0,U,2)
  1. .S ACR9E=$G(ACR9E)+$P(^ACROTA(X,0),U,3)-$P(^ACROTA(X,0),U,4)
  1. Q
  1. S Z=0
  1. F S Z=$O(^ACRAPVS("AB",ACRDOCDA,Z)) Q:'Z D
  1. .I ACRREFX=$P(^ACRAPVS(Z,0),U,6) S ACRQUIT=""
  1. .I $D(ACRQUIT) K ACRQUIT Q
  1. .S ACR9E=$G(ACR9E)+$P(^ACROTA(X,0),U,3)-$P(^ACROTA(X,0),U,4)
  1. .S ACR9E=$G(ACR9E)+$P(^ACROTA(X,0),U,3)-$P(^ACROTA(X,0),U,4)
  1. Q
  1. OTA ;EP;PROCESS APPROVAL OF TRAVEL ADVANCE
  1. N ACRDUZ
  1. S ACRDUZ=$P($G(^ACRDOC(ACRDOCDA,"TO")),U,9)
  1. Q:'ACRDUZ
  1. S ACRACH=$S($P($G(^ACRAU(ACRDUZ,19)),U)]"":"B",1:"C")
  1. S ACRCAN=$P(^ACRDOC(ACRDOCDA,0),U,8)
  1. S ACRCAN=$P($G(^ACRPO(+ACRCAN,0)),U,4)
  1. S ACRCAN=$P($G(^AUTTACPT(+ACRCAN,0)),U)
  1. I ACRCAN="" D Q
  1. .W !!,"Purchasing office not properly set up."
  1. .D PAUSE^ACRFWARN
  1. .S ACRQUIT=""
  1. S ACRCANDA=$P(^ACRDOC(ACRDOCDA,"REQ"),U,10) ; ACR*2.1*3.01
  1. I 'ACRCANDA D Q
  1. .W !!,"CAN not found."
  1. .D PAUSE^ACRFWARN
  1. .S ACRQUIT=""
  1. S (ACRREF,ACRREFX)=602
  1. S ACRREFDA=$O(^AUTTDOCR("B",602,0))
  1. S DA=ACRDOCDA
  1. S DIE="^ACROTA("
  1. S DR="1////"_ACRAPDA
  1. D DIE^ACRFDIC
  1. K ^ACRAPVS("ANXT",ACRAPVT,ACRINDV,ACRAPDA),^TMP("ACRDATA",$J,ACRDUZ,ACRJJ),^TMP("ACRALT",$J,ACRDUZ,ACRJJ)
  1. S ACROBJDA=$P(^ACRDOC(ACRDOCDA,"REQ"),U,6) ; ACR*2.1*3.01
  1. Q:'ACRCANDA!'ACROBJDA!'$P($G(^ACROTA(ACRDOCDA,0)),U,3)
  1. S ACRIVPAY(ACRCANDA,ACROBJDA)=$P(^ACROTA(ACRDOCDA,0),U,3)
  1. I $P(^ACRDOC(ACRDOCDA,"TO"),U,25)'=$P(^ACROTA(ACRDOCDA,0),U,3) D
  1. .S ACRADV=$P(^ACROTA(ACRDOCDA,0),U,3)
  1. .D ETA^ACRFSSA1
  1. S ACRTCODE="06119"
  1. S ACRPAYDA=DT
  1. K ACRLBDT
  1. S ACRBTYP="T"
  1. D ^ACRFIV11
  1. K ACRIVPAY
  1. Q
  1. OTADEL ;EP;DELETE TRAVEL ADVANCE WHEN DISAPPROVED
  1. S DA=ACRDOCDA
  1. S DIE="^ACROTA("
  1. S DR=".03///0;.04///0"
  1. D DIE^ACRFDIC
  1. S DA=ACRDOCDA
  1. S DIE="^ACRDOC("
  1. S DR="130120///N;130160///0"
  1. D DIE^ACRFDIC
  1. S DA=ACRDOCDA
  1. S DIE="^ACROBL("
  1. S DR="1000///0"
  1. D DIE^ACRFDIC
  1. Q