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

ACRFSS41.m

Go to the documentation of this file.
  1. ACRFSS41 ;IHS/OIRM/DSD/THL,AEF - CONTINUATION OF ACRFSS4; [ 02/02/2005 10:22 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**3,16**;NOV 05, 2001
  1. ;;CONTINUATION OF ACRFSS4
  1. ADD ;EP;
  1. I '$O(^ACRDOC(ACRDOCDA,9,0))#2 D Q
  1. .W *7,*7
  1. .W !!,"No AUTHORIZED DESTINATIONS have been entered."
  1. .D PAUSE^ACRFWARN
  1. F D ADD1 Q:$D(ACRQUIT)!$D(ACROUT)
  1. Q
  1. ADD1 S (ACRJ,ACRDAYS)=+$G(ACRDAYS)
  1. I ACRJ>0 D Q:$D(ACRQUIT)!$D(ACROUT)
  1. .S DIR(0)="NO^1:"_ACRJ
  1. .S DIR("A")="Day "_(ACRJ+1)_" information is the same as day #"
  1. .W !
  1. .D DIR^ACRFDIC
  1. .I X="" K ACRQUIT Q
  1. .Q:$D(ACRQUIT)!$D(ACROUT)
  1. .I +Y S ACRDUP=+Y D DAYS
  1. D ADD11
  1. I $D(ACRQUIT) K ACRQUIT Q
  1. I $D(ACRTVCH) S ACRCHANG=""
  1. S DA=ACRDA
  1. S DIE="^ACRTV("
  1. S DR="[ACR TRAVEL DAY-2]"
  1. S DIE("NO^")=""
  1. D DDS^ACRFDIC
  1. I $D(ACRSCREN) K ACRSCREN D DIE^ACRFDIC
  1. S ^TMP("ACRTV",$J,ACRJ)=ACRDA_U_^ACRTV(ACRDA,0)
  1. I ACRJ=1 D DUP Q:$D(ACRQUIT)
  1. D SCHK
  1. W !
  1. S DIR(0)="YO"
  1. S DIR("A")="Add another day"
  1. S DIR("B")="NO"
  1. D DIR^ACRFDIC
  1. I Y'=1 S ACRQUIT=""
  1. Q
  1. SCHK N ACRJ
  1. D APCHK^ACRFSCHK
  1. D APPROVE^ACRFSCHK
  1. Q
  1. ADD11 ;FILE NEW DAY
  1. S DIC("DR")=".02////"_ACRDOCDA_";.03////"_ACRDOCDA_";7.5////"_$P(^ACRDOC(ACRDOCDA,"TOSA"),U,10)_";32////"_$P(^("TOSA"),U,10)
  1. I ACRJ=0,$D(^ACRDOC(ACRDOCDA,"TO")),$P(^("TO"),U,9) D
  1. .N ACRDUZ
  1. .S ACRDUZ=$P(^ACRDOC(ACRDOCDA,"TO"),U,9)
  1. .I $D(^ACRAU(ACRDUZ,0)),$D(^(1)) S DIC("DR")=DIC("DR")_";7////"_$P(^(1),U,2)
  1. I ACRJ<1 S ACRNEW=$P(^ACRDOC(ACRDOCDA,"TO"),U,14)
  1. D DDATE:ACRJ>0
  1. D FYCHECK
  1. Q:$D(ACRQUIT)
  1. S ACRJ=ACRJ+1
  1. S X=ACRJ
  1. S DIC="^ACRTV("
  1. S DIC(0)="L"
  1. S DIC("DR")=DIC("DR")_";.04////"_$S(ACRNEW<$P(^ACRDOC(ACRDOCDA,"TO"),U,14)!(ACRNEW>$P(^("TO"),U,15)):2,1:1)
  1. S DIC("DR")=DIC("DR")_";1////"_ACRNEW
  1. I $D(ACRDUP),ACRJ>1 D
  1. .S ACRTVDAX=0
  1. .F S ACRTVDAX=$O(^ACRTV("D",ACRDOCDA,ACRTVDAX)) Q:'ACRTVDAX I $D(^ACRTV(ACRTVDAX,0)),+^(0)=ACRDUP,$D(^("DT")) S ACRTVDT=^("DT") Q
  1. S ACRTVDAX=+$O(^ACRDOC(ACRDOCDA,9,0))
  1. I ACRTVDAX,$D(^ACRDOC(ACRDOCDA,9,ACRTVDAX,0)) S ACRTVDAX=+^(0)
  1. I ACRTVDAX,$D(^ACRPD(ACRTVDAX,0)) S DIC("DR")=DIC("DR")_";4////"_ACRTVDAX K ACRTVDAX
  1. I $D(ACRDUP),$D(ACRTVDT) D
  1. .S DIC("DR")=DIC("DR")_";4////"_$P(ACRTVDT,U,4)_";11////"_$P(ACRTVDT,U,11)
  1. .I $P(ACRTVDT,U,4),$D(^ACRPD($P(ACRTVDT,U,4),0)) S DIC("DR")=DIC("DR")_";17////On duty "_$P(^(0),U)
  1. .I ACRJ=$S($D(ACRDAYS):ACRDAYS,1:ACRJ) S DIC("DR")=DIC("DR")_";3////"_(ACRNEW_".1800")_";7////"_$P(ACRTVDT,U,7)
  1. .I ACRJ<$S($D(ACRDAYS):ACRDAYS,1:ACRJ) S DIC("DR")=DIC("DR")_";9////"_$P(ACRTVDT,U,9)
  1. I $G(ACRREF)=600 S DIC("DR")=DIC("DR")_";.05////1"
  1. D FILE^ACRFDIC
  1. S ACRDA=+Y
  1. S ACRDT=$G(^ACRTV(+Y,"DT"))
  1. S ^TMP("ACRTV",$J,ACRJ)=ACRDA_"^"_^ACRTV(ACRDA,0)
  1. K ACRDUP
  1. ;I $P(ACRDT,U,5)=""!($P(ACRDT,U,6)="") D ; ACR*2.1*16.10 IM12185
  1. ;.S DA=ACRDA ; ACR*2.1*16.10 IM12185
  1. ;.S DIE="^ACRTV(" ; ACR*2.1*16.10 IM12185
  1. ;.S DR="5////"_$P(^ACRSYS(1,"DT"),U,22)_$S(+ACRDT<$P(^ACRDOC(ACRDOCDA,"TO"),U,15):";6////"_$P(^ACRSYS(1,"DT"),U,21),1:"") ; ACR*2.1*16.10 IM12185
  1. ;.D DIE^ACRFDIC ; ACR*2.1*16.10 IM12185
  1. I $P(ACRDT,U,5)="" D ; only check per diem rate ; ACR*2.1*16.10 IM12185
  1. .S DA=ACRDA ; ACR*2.1*16.10 IM12185
  1. .S DIE="^ACRTV(" ; ACR*2.1*16.10 IM12185
  1. .S DR="5////"_$P(^ACRSYS(1,"DT"),U,22) ; ACR*2.1*16.10 IM12185
  1. .D DIE^ACRFDIC ; ACR*2.1*16.10 IM12185
  1. ;
  1. I $P(ACRDT,U,6)="",(+ACRDT<$P(^ACRDOC(ACRDOCDA,"TO"),U,15)) D ;only check lodging rate ; ACR*2.1*16.10 IM12185
  1. .S DA=ACRDA ; ACR*2.1*16.10 IM12185
  1. .S DIE="^ACRTV(" ; ACR*2.1*16.10 IM12185
  1. .S DR="6////"_$P(^ACRSYS(1,"DT"),U,21) ; ACR*2.1*16.10 IM12185
  1. .D DIE^ACRFDIC ; ACR*2.1*16.10 IM12185
  1. Q
  1. DDATE S ACRD=0
  1. F S ACRD=$O(^TMP("ACRTV",$J,ACRD)) Q:'ACRD S ACRDA=+^TMP("ACRTV",$J,ACRD)
  1. I $D(^ACRTV(+$G(ACRDA),"DT")) S X1=$P(^("DT"),U)
  1. E S X1=$P(^ACRDOC(ACRDOCDA,"TO"),U,14)
  1. S X2=1
  1. D C^%DTC
  1. S ACRNEW=X
  1. Q
  1. EDIT ;EP;
  1. ;S ACRJ=ACRDAYS ;ACR*2.1*3.20
  1. S ACRJ=+$G(ACRDAYS) ;ACR*2.1*3.20
  1. K ACRQUIT
  1. S DIR(0)="LO^1:"_ACRJ
  1. S DIR("A")="Which DAY(s)"
  1. W !
  1. D DIR^ACRFDIC
  1. Q:$D(ACRQUIT)!$D(ACROUT)
  1. N ACRZ,ACRI
  1. S ACRZ=Y
  1. F ACRI=1:1 S ACRYY=$P(ACRZ,",",ACRI) Q:ACRYY="" D:$D(^TMP("ACRTV",$J,ACRYY))&'$D(ACRQUIT) EDIT1
  1. Q
  1. EDIT1 I ACRI>1 D Q:$D(ACRQUIT)!$D(ACROUT)
  1. .S DIR(0)="YO"
  1. .S DIR("A")="Continue Travel day edit"
  1. .S DIR("B")="YES"
  1. .W !
  1. .N ACRY
  1. .D DIR^ACRFDIC
  1. .I +Y'=1 S ACRQUIT=""
  1. F D E Q:$D(ACRQUIT)
  1. K ACRQUIT,ACRCOUNT
  1. Q
  1. E S (ACRTVDA,ACRDA,DA)=$P(^TMP("ACRTV",$J,ACRYY),U)
  1. S ACRCOUNT=$G(ACRCOUNT)+1
  1. I $D(ACRTVCH) D CHK1
  1. S DA=ACRDA
  1. S DIE="^ACRTV("
  1. S DR="[ACR TRAVEL DAY-2]"
  1. S DIE("NO^")=""
  1. D DDS^ACRFDIC
  1. I '$D(ACRSCREN) S ACRQUIT=""
  1. I $D(ACRSCREN) K ACRSCREN D ^ACRFETD
  1. I $D(ACRTVCH) D CHK2
  1. K ACRTVCH
  1. Q
  1. DELETE ;EP;DELETE TRAVEL DAYS
  1. S ACRJ=$G(ACRDAYS)
  1. S DIR(0)="LO^1:"_ACRJ
  1. S DIR("A")="Which DAY(s)"
  1. W !
  1. D DIR^ACRFDIC
  1. Q:$D(ACRQUIT)!$D(ACROUT)!(+Y<1)
  1. S ACRDEL=Y
  1. S DIR(0)="YO"
  1. S DIR("A")="Sure you want to delete travel day(s) "_$E(Y,1,$L(Y)-1)_" "
  1. S DIR("B")="NO"
  1. W !
  1. D DIR^ACRFDIC
  1. Q:Y'=1
  1. F ACRI=1:1 S ACRYY=$P(ACRDEL,",",ACRI) Q:ACRYY="" D:$D(^TMP("ACRTV",$J,ACRYY)) DTV1
  1. K ACRDEL
  1. D SCHK
  1. Q
  1. DTV1 S DA=+^TMP("ACRTV",$J,ACRYY)
  1. S DIK="^ACRTV("
  1. D DIK^ACRFDIC
  1. S ACRDAYS=ACRDAYS-1
  1. I $D(ACRTVCH) S ACRCHANG=""
  1. K ^TMP("ACRTV",$J,ACRYY)
  1. Q
  1. DISP W @IOF
  1. W !?19,@ACRON,"DAILY TRAVEL INFORMATION",@ACROF
  1. N DXS,DIP,DC,DN
  1. S D0=DA
  1. D ^ACRPTD
  1. Q
  1. VOUCHER ;EP;VOUCHER AUDIT
  1. S DIR(0)="YO"
  1. S DIR("A")="Edit the Travel Voucher"
  1. S DIR("B")="NO"
  1. W !
  1. D DIR^ACRFDIC
  1. Q:ACRY'=1
  1. S ACRDOCDA=ACRDOCDA
  1. F D DISPLAY^ACRFSS42,EDIT Q:$D(ACRQUIT)!$D(ACROUT)
  1. Q
  1. CHK1 ;SET VARIABLES FOR POST-EDIT COMPARISON
  1. S ^TMP("ACRTV",$J,"CHK",ACRTVDA)=^ACRTV(ACRTVDA,0)_"&&&&"_^ACRTV(ACRTVDA,"DT")
  1. Q
  1. CHK2 ;COMPARE TRAVEL DAY INFO AFTER EDIT
  1. Q:'ACRTVDA
  1. Q:'$D(^ACRTV(ACRTVDA,0))
  1. S X=^ACRTV(ACRTVDA,0)_"&&&&"_^ACRTV(ACRTVDA,"DT")
  1. I ^TMP("ACRTV",$J,"CHK",ACRTVDA)'=X S ACRCHANG=""
  1. Q
  1. LODGE ;EP;DISPLAY LODGING AND PER DIEM RATES FOR CITIES TO WHICH THE
  1. ;TRAVELER IS TRAVELING
  1. D LODGE^ACRFSS43
  1. Q
  1. DELAUTO ;EP;DELETE RENTAL CAR EXPENSES IF RENTAL CAR IS DENIED
  1. D DELAUTO^ACRFSS43
  1. Q
  1. DUP ;DUPLICATE DATA FOR ALL DAYS
  1. D DAYS
  1. Q:$G(ACRDAYS)<1
  1. S DIR(0)="YO"
  1. S DIR("A")="Duplicate information from Day 1 to Day(s) 2 - "_ACRDAYS
  1. S DIR("B")="YES"
  1. W !
  1. D DIR^ACRFDIC
  1. I $G(Y)'=1 K ACRQUIT Q
  1. F ACRJJ=1:1:ACRDAYS-1 S ACRJ=ACRJJ,ACRDUP=1 D ADD11 Q:$D(ACRQUIT)
  1. K ACRDUP
  1. S ACRQUIT=""
  1. Q
  1. DAYS S X1=$P(^ACRDOC(ACRDOCDA,"TO"),U,15)
  1. S X2=$P(^ACRDOC(ACRDOCDA,"TO"),U,14)
  1. D ^%DTC
  1. S ACRDAYS=$S(X<1:0,X+1<100:X+1,1:100)
  1. Q
  1. FYCHECK ;EP;CHECK TO SEE IF TRAVEL DAY IS IN SAME FY AS THE BUDGET ACCOUNT
  1. ;PREVENT ADDING DAY FOR NEXT FY FOR SINGLE YEAR ACCOUNT
  1. Q:$G(ACRAPP)'?7N
  1. N ACRFY,X,X1
  1. S ACRFY=$P(^ACRLOCB($S($G(ACRLBDA):ACRLBDA,1:$P(ACRDOC0,U,6)),"DT"),U)
  1. S X=ACRNEW\10000+1700,X1=ACRNEW\100#100
  1. I X>ACRFY!(X=ACRFY&(X1>9)) D FYMESS
  1. I X<(ACRFY-1)!(X<ACRFY&(X1<10)) D FYMESS
  1. Q
  1. FYMESS ;
  1. N X
  1. D SCREEN^ACRFAU
  1. W:$D(ACRSCREN) @IOF
  1. W *7,*7
  1. W @ACRON
  1. W !!,"You cannot create a travel day which is in a Fiscal Year other"
  1. W !,"than Fiscal Year ",ACRFY,", using this account. Select an account"
  1. W !,"from an appropriate Fiscal Year for additional travel days."
  1. W @ACROF
  1. I '$D(ACRDUP) D PAUSE^ACRFWARN I 1
  1. E H 5
  1. K X,ACRSCREN
  1. S DIR(0)="DO^::E"
  1. S DIR("A")="Date of Travel"
  1. W !
  1. D DIR^ACRFDIC
  1. I +Y<1 S ACRQUIT="" Q
  1. S ACRNEW=Y
  1. D FYCHECK
  1. Q