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

ACRFSSA.m

Go to the documentation of this file.
  1. ACRFSSA ;IHS/OIRM/DSD/THL,AEF - AUXILLIARY SUB-ROUTINES FOR ACRFSS* ROUTINES; [ 11/01/2001 9:44 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;;NOV 05, 2001
  1. ;;AUXILLIARY SUB-ROUTINES FOR ACRFSS* ROUTINES
  1. EXIT ;EP;
  1. K ACRSS,ACRSS1,ACRSS2,ACRQUIT,ACRCC,ACRCCDA,ACRITMDA,ACRKW,ACRVENO,ACRVENDA,ACRVENAM,ACRNEW,ACRCHK,ACRDSC1,ACRDSC2,ACRJ,ACRNDC,ACRNOW,ACRNSN,ACROBJ,ACROBJDA,ACROCDA,ACRORDNO,ACRSSDA,ACRSSDS1,ACROB
  1. K ACRSSIT,ACRSSITM,ACRSSORD,ACRSSQA,ACRXCUT,ACRDOCVN,ACRITMNO,ACRVENNM,ACRSSTOT,ACRSSUNT,ACRSSUP,ACRUC,ACRUI,ACRVENON,ACRSS3,ACRSSDS2,ACRSSDS3,ACRSSDS4,ACRSSDS5
  1. Q
  1. EXITSS4 ;EP;
  1. K ACRTV,ACRTV1,ACRTVDA,ACRTVDAT,ACRTVDAY,ACRTVCIT,ACRTVLV,ACRTVAR,ACRYY,ACRTVPD,ACRTVLDG,ACRTVMLS,ACRTVPHN,ACRTVTAX,ACRTVOTH,ACRTOT,ACRADV,ACRDA,ACRI,ACRQUIT,ACRTVMR,ACRTVDT,ACRD,ACRNEW,ACRCHANG,ACRDAYS,ACRAIRP,ACRAIRPT,ACRAIRT
  1. K ACRMR,ACRTAX,ACRPHN,ACROTH,ACRMRR,ACRTVEXP,ACRTVRC,ACRPMRR,ACRTVPML
  1. Q
  1. FACTOR ;EP;TO CALCULATE PER DIEM FACTOR - CALLED FROM FILEMAN TEMPLATE
  1. I $D(DA),'$D(ACRDOCDA) S ACRDOCDA=$P(^ACRTV(DA,0),U,2)
  1. S ACRTVLR=$P(^ACRDOC(ACRDOCDA,"TO"),U,9)
  1. S ACRPAYP=$P($G(^ACRAU(+ACRTVLR,1)),U,3)
  1. S ACRX=X
  1. N X,Y,ACRL,ACRA
  1. K ACRFACTR
  1. S Y=$P(^ACRTV(DA,"DT"),U,2)
  1. I Y="" S ACRL=""
  1. E X ^DD("DD") S ACRL=$P(Y,"@",2)
  1. S Y=$P(^ACRTV(DA,"DT"),U,3)
  1. I Y="" S ACRA=""
  1. E X ^DD("DD") S ACRA=$P(Y,"@",2)
  1. I ACRL]"" D
  1. .S ACRL=$S($E(ACRL)'=0:ACRL,1:$E(ACRL,2,5))
  1. .S ACRL=$P(ACRL,":")_"."_$P(ACRL,":",2)
  1. I ACRA]"" D
  1. .S ACRA=$S($E(ACRA)'=0:ACRA,1:$E(ACRA,2,5))
  1. .S ACRA=$P(ACRA,":")_"."_$P(ACRA,":",2)
  1. S:ACRL]"" ACRFACTR=$S(ACRL>18:.25,ACRL>12:.5,ACRL>6:.75,1:1)
  1. S:'$D(ACRFACTR) ACRFACTR=1
  1. S:ACRA]"" ACRFACTR=ACRFACTR-$S(ACRA>18:0,ACRA>12:.25,ACRA>6:.5,1:.75)
  1. I ACRL]"",ACRA]"",ACRA-ACRL>11.9 S ACRFACTR=.75
  1. I ACRL]"",ACRA]"",ACRA-ACRL<12 S ACRFACTR=0
  1. I ACRFACTR<.75 S ACRFACTR=.75
  1. I ACRFACTR=1,+^ACRTV(DA,0)=1 S ACRFACTR=.75
  1. K ACRTVLR,ACRPAYP
  1. S ACRPD=$P(^ACRPD($P(^ACRTV(DA,"DT"),U,4),0),U,4)
  1. S:ACRPD="" ACRPD=$P($G(^ACRSYS(1,"DT")),U,22)
  1. S ACRFACTR=$S('$D(ACRFACTR):1,ACRFACTR>1:1,1:ACRFACTR)
  1. S ACRFACTR=ACRPD*ACRFACTR
  1. S ACRFACTR=$S(ACRX<ACRFACTR:ACRX,1:ACRFACTR)
  1. S $P(^ACRTV(DA,"DT"),U,5)=ACRFACTR
  1. K ACRFACTR
  1. Q
  1. SSCHK ;EP;
  1. I '$D(^ACRSS(ACRSSDA,"DT")) D
  1. .S ^ACRSS(ACRSSDA,"DT")=""
  1. .S ACRSSRQD="Required item data missing."
  1. F ACR=2,4,5,6 I $D(^ACRSS(ACRSSDA,0)),$P(^(0),U,ACR)=""!(ACR=4&($P(^(0),U,4)="999")) D
  1. .S ACRSSRQD="Required item data missing."
  1. .W:$E(IOST,1,2)="C-" *7,*7
  1. .W !!,$S(ACR=4:"OBJECT CODE",ACR=2:"DOCUMENT REFERENCE",ACR=5:"CAN NUMBER",1:"DEPARTMENT ACCOUNT")," missing"
  1. .W " from ITEM NO. ",+$G(^ACRSS(ACRSSDA,0))
  1. I '$D(^ACRSS(ACRSSDA,"DESC"))&'$D(^ACRSS(ACRSSDA,"NMS")) D
  1. .S ACRSSRQD="Required item data missing."
  1. .W !!,"Description missing"
  1. .W " from ITEM NO. ",+$G(^ACRSS(ACRSSDA,0))
  1. I $D(^ACRSS(ACRSSDA,"DESC")),$P(^("DESC"),U)="" D
  1. .S ACRSSRQD="Required item data missing."
  1. .W !!,"Description missing"
  1. .W " from ITEM NO. ",+$G(^ACRSS(ACRSSDA,0))
  1. Q
  1. SETSS ;EP;TO SET VARIABLES FOR A SELECTED ITEM
  1. S ACRSS0=^ACRSS(ACRSSDA,0)
  1. S ACRSSDT=$G(^ACRSS(ACRSSDA,"DT"))
  1. S ACRSSDSC=$G(^ACRSS(ACRSSDA,"DESC"))
  1. S ACRSSNMS=$G(^ACRSS(ACRSSDA,"NMS"))
  1. S ACRRQD=+ACRSSDT
  1. S ACRUI=$P(ACRSSDT,U,2)
  1. S ACRUC=$P(ACRSSDT,U,3)
  1. S ACRRCD=$P(ACRSSDT,U,5)
  1. S ACRACP=$P(ACRSSDT,U,6)
  1. S ACRTP=$P(ACRSSDT,U,7)
  1. S ACRSSRQ=$P(ACRSS0,U,2)
  1. S ACRSSPO=$P(ACRSS0,U,7)
  1. S ACRUNRCD=$P(ACRSSDT,U)-ACRACP
  1. S ACRUI=$S($D(^ACRUI(+ACRUI,0)):$P(^(0),U),1:"**")
  1. Q
  1. FEDSTRIP ;EP;TO SET THE FEDSTRIP SERIAL NUMBER FOR EACH ITEM ON A FEDSTRIP
  1. ;ORDER
  1. I $P(^ACRDOC(ACRDOCDA,0),U,3)=$P(^ACROBL(ACRDOCDA,0),U,6),DT'=$P(^ACRDOC(ACRDOCDA,0),U,3) D
  1. .S DA=ACRDOCDA
  1. .S DIE="^ACRDOC("
  1. .S DR=".03////"_DT
  1. .D DIE^ACRFDIC
  1. D JDATE
  1. S (X,Y)=0
  1. F S X=$O(^ACRSS("J",ACRDOCDA,X)) Q:'X I $D(^ACRSS(X,0)),$P(^(0),U,14)<1 S Y=Y+1
  1. Q:Y<1
  1. S ACRMAX=Y
  1. S ACRPODA=$P(ACRDOC0,U,8)
  1. S ACRLBDA=$P(ACRDOC0,U,6)
  1. S ACRFY=$P(^ACRLOCB(ACRLBDA,"DT"),U)
  1. S:'$D(^ACRPO(ACRPODA,30,0)) ^ACRPO(ACRPODA,30,0)="^9002199.4301^"
  1. I '$D(^ACRPO(ACRPODA,30,ACRFY,0))#2 D Q:+$G(Y)<1
  1. .S (X,DINUM)=ACRFY
  1. .S (DA,DA(1))=ACRPODA
  1. .S DIC="^ACRPO("_ACRPODA_",30,"
  1. .S DIC(0)="L"
  1. .D FILE^ACRFDIC
  1. FS L +^ACRPO(ACRPODA,30,ACRFY,0):4
  1. I $T=1 D I 1
  1. .S ACRMIN=$P(^ACRPO(ACRPODA,30,ACRFY,0),U,2)+1
  1. .S $P(^ACRPO(ACRPODA,30,ACRFY,0),U,2)=ACRMAX+ACRMIN-1
  1. .L -^ACRPO(ACRPODA,30,ACRFY,0):0
  1. E G FS
  1. S ACRSSDA=0
  1. F S ACRSSDA=$O(^ACRSS("J",ACRDOCDA,ACRSSDA)) Q:'ACRSSDA I $D(^ACRSS(ACRSSDA,0)),$P(^(0),U,14)<1 D FS1
  1. Q
  1. FS1 S DA=ACRSSDA
  1. S DIE="^ACRSS("
  1. S DR=".14////"_ACRMIN
  1. S ACRMIN=ACRMIN+1
  1. D DIE^ACRFDIC
  1. Q
  1. JDATE ;EP;TO SET JULIAN DATE
  1. S ACRRDATE=$P(^ACRDOC(ACRDOCDA,"PO"),U,12)
  1. Q:'ACRRDATE
  1. S X=$E(DT,1,3)_"0101"
  1. D H^%DTC
  1. S ACRFY=%H
  1. S X=ACRRDATE
  1. D H^%DTC
  1. S X=%H+1-ACRFY
  1. S X=$S($L(X)=1:"00"_X,$L(X)=2:"0"_X,1:X)
  1. S ACRRDATE=X
  1. S ACR3=$G(^ACRDOC(ACRDOCDA,3))
  1. S ACR18=$E($P($G(^ACRDOC(ACRDOCDA,18)),U),5,8)
  1. S X2=$E($P(^ACRDOC(ACRDOCDA,0),U,3),1,3)_"0101"
  1. S X1=$P(^ACRDOC(ACRDOCDA,0),U,3)+1
  1. D ^%DTC
  1. S ACRJDATE=$E($P(^ACRDOC(ACRDOCDA,0),U,3),3)_$E("000",1,3-$L(X))_X
  1. S ACRFSNUM=$P(ACR3,U,13)
  1. S ACRFSNUM=$E($P($G(^ACRFSCD(+ACRFSNUM,0)),U,2),3,6)
  1. S ACRFSNUM=$E("XXXX",1,4-$L(ACRFSNUM))_ACRFSNUM
  1. I $P(ACR3,U,17)'=1 S ACRFSNUM="FS"_ACRFSNUM_ACRJDATE
  1. E S ACRFSNUM="SC"_ACRFSNUM_ACR18
  1. S DA=ACRDOCDA
  1. S DIE="^ACRDOC("
  1. S DR=".26////"_ACRJDATE_";.27////"_ACRFSNUM
  1. D DIE^ACRFDIC
  1. K ACRFSNUM
  1. Q