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

ACRFPERD.m

Go to the documentation of this file.
  1. ACRFPERD ;IHS/OIRM/DSD/THL,AEF - MANAGE UPDATE OF PER DIEM & LODGING RATES; [ 11/01/2001 9:44 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;;NOV 05, 2001
  1. ;;THIS ROUTINE MANAGES THE IMPORT OF LODGING AND PER DIEM RATES FROM
  1. ;;THE ANNUAL GSA UPDATE
  1. EN D EN1
  1. EXIT K ACR,ACRQUIT,ACROUT,ACRCNTY,ACRCNTZ,ACREFFCT,ACRMIE
  1. D CLOSE^ACRFZIS
  1. Q
  1. EN1 ;
  1. S ACREFFCT=2960301
  1. D IMPORT
  1. Q
  1. IMPORT ;READ GSA FILE AND IMPORT NEW LODGING AND PER DIEM RATES
  1. D OPEN
  1. Q:$D(ACRQUIT)!$D(ACROUT)!$G(POP)
  1. READ ;READ INDIVIDUAL RECORDS FROM THE GSA FILE
  1. F U IO R ACRX:0 Q:ACRX="^^^^^" D:ACRX]"" SET ;DIRECT READ FROM UNIX FILE
  1. Q
  1. SET ;SET FIELDS FROM GSA RECORD
  1. D ACRX
  1. Q:ACRX=""!(ACRX=U)
  1. D UPPER
  1. I $D(^DIC(5,"B",$P(ACRX,U))) D Q
  1. .S ACRSTATE=$P(ACRX,U)
  1. .S ACRSTDA=$O(^DIC(5,"B",ACRSTATE,0))
  1. S ACRPD=$P(ACRX,U,3,99)
  1. I $E(ACRPD)="(" D I 1
  1. .S ACRPD(1)=$P(ACRPD,U,2,4)_U_$P(ACRPD,U)
  1. .S ACRPD(2)=$P(ACRPD,U,6,8)_U_$P(ACRPD,U,5)
  1. E D
  1. .S ACRPD(1)=ACRPD
  1. .S ACRPD(2)=""
  1. F I=1,2 D
  1. .S ACRLDG(I)=$P(ACRPD(I),U)
  1. .S ACRMIE(I)=$P(ACRPD(I),U,2)
  1. .S ACRBEGIN(I)=$P(ACRPD(I),U,4)
  1. .D DATE
  1. S ACRCITY=$P(ACRX,U)
  1. S ACRCNTY=$P(ACRX,U,2)
  1. F ACRI=1:1 S X=$P(ACRCNTY,",",ACRI) Q:X="" S:$E(X)=" " X=$E(X,2,99) S ACRCNTZ=X D FIND
  1. Q
  1. FIND ;FIND MATCH TO EXISTING ARMS ENTRY
  1. I '$D(^ACRPD("B",ACRCNTZ))&'$D(^ACRPD("B",ACRCNTZ_" COUNTY")) D TEMP
  1. D F1
  1. D UPDATE
  1. Q
  1. UPDATE ;RESET NEW PER DIEM AND LODGING RATES
  1. F ACRJ=1,2 D:$G(ACRPDDA(ACRJ))]""
  1. .S (ACRPDDA,DA)=ACRPDDA(ACRJ)
  1. .S DIE="^ACRPD("
  1. .S DR=".03////"_ACRLDG(ACRJ)_";.04////"_ACRMIE(ACRJ)_";.05////"_ACREFFCT_";.06////"_ACRBEGIN(ACRJ)_";.07////"_ACREND(ACRJ)
  1. .I ACRLDG(ACRJ)&ACRMIE(ACRJ) U 0 W "." D DIE^ACRFDIC
  1. .D CITY
  1. Q
  1. F1 ;
  1. K ACRPDDA
  1. N I
  1. S (ACRPDDA,I)=0
  1. F S ACRPDDA=$O(^ACRPD("B",ACRCNTZ,ACRPDDA)) Q:'ACRPDDA I $D(^ACRPD(ACRPDDA,0)),$P(^(0),U,2)=ACRSTDA S I=I+1,ACRPDDA(I)=ACRPDDA
  1. Q:ACRCNTZ["PARISH"
  1. S (ACRPDDA,I)=0
  1. F S ACRPDDA=$O(^ACRPD("B",ACRCNTZ_" COUNTY",ACRPDDA)) Q:'ACRPDDA I $D(^ACRPD(ACRPDDA,0)),$P(^(0),U,2)=ACRSTDA S I=I+1,ACRPDDA(I)=ACRPDDA
  1. I ACRPD(2)]"",'$D(ACRPDDA(2)) D
  1. .S ACRCNTZ=ACRCNTZ_$S(ACRCNTZ'["PARRISH":" COUNTY",1:"")_" 222"
  1. .D TEMP
  1. .Q:+$G(Y)<1
  1. .S ACRPDDA(2)=+Y
  1. .S ACRCNTZ=$P(ACRCNTZ," 222")
  1. .S DA=+Y
  1. .S DIE="^ACRPD("
  1. .S DR=".01///"_ACRCNTZ
  1. .U 0 W " ",ACRCNTZ," ",ACRPDDA(2),!
  1. .D DIE^ACRFDIC
  1. Q
  1. TEMP ;TEMPORARILY FILE GSA CITIES/COUNTIES WHICH DON'T MATCH CURRENT ARMS
  1. ;LISTING
  1. S X=ACRCNTZ
  1. S DIC="^ACRPD("
  1. S DIC(0)="L"
  1. S DIC("DR")=".02////"_ACRSTDA
  1. U 0 W !,"2ND VENDOR ADDED"
  1. D FILE^ACRFDIC
  1. Q
  1. OPEN ;OPEN GSA FILE
  1. S %FN="conus96.thl"
  1. S ACROP="R"
  1. D HOST^ACRFZIS
  1. Q
  1. UPPER ;CONVERT ALL LOWER CASE TO UPPER CASE ALPHAS
  1. S ACRX=$TR(ACRX,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
  1. Q
  1. ACRX ;CONVERT EACH LINE INTO '^' DELIMITED STRING
  1. N J,X,Z
  1. S Z=""
  1. F J=1:1:100 S X=$P(ACRX," ",J) I X]"" S:$E(X)=" " X=$E(X,2,9999) S Z=$G(Z)_X_U
  1. S ACRX=Z
  1. Q
  1. DATE ;EVALUATE GSA DATE AND CHANGE TO FM
  1. N A,W,X,Y,Z
  1. I ACRBEGIN(I)="" S ACREND(I)="" Q
  1. S W=$P($P(ACRBEGIN(I),"-"),"(",2)
  1. S X=$P($P(ACRBEGIN(I),"-",2),")")
  1. S Y=+$P(W," ",2,99),Z=+$P(X," ",2,99)
  1. S W=$P(W," "),X=$P(X," ")
  1. S A="JANUARY1FEBRUARY2MARCH3APRIL4MAY5JUNE6JULY7AUGUST8SEPTEMBER9OCTOBER10NOVEMBER11DECEMBER12"
  1. S W=+$P(A,W,2)
  1. S X=+$P(A,X,2)
  1. S ACRBEGIN(I)="296"_$S($L(W)=1:"0",1:"")_W_$S($L(Y)=1:"0",1:"")_Y
  1. S ACREND(I)="296"_$S($L(X)=1:"0",1:"")_X_$S($L(Z)=1:"0",1:"")_Z
  1. Q
  1. CITY ;CHECK COUNTY FOR ASSOCIATED CITIES
  1. F I=1:1 S X=$P(ACRCITY,"/",I) Q:X="" S:$E(X)=" " X=$E(X,2,999) D
  1. .Q:$D(^ACRPD(ACRPDDA,1,"B",X))
  1. .S DIC="^ACRPD("_ACRPDDA_",1,"
  1. .S DIC(0)="L"
  1. .S DA(1)=ACRPDDA
  1. .S:'$D(^ACRPD(ACRPDDA,1,0)) ^ACRPD(ACRPDDA,1,0)="^9002193.91"
  1. .D FILE^ACRFDIC
  1. Q