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

ACRFUTL1.m

Go to the documentation of this file.
  1. ACRFUTL1 ;IHS/OIRM/DSD/AEF - VARIOUS UTILITY SUBROUTINES [ 07/20/2006 8:00 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**5,13,16,19,20**;NOV 05, 2001
  1. ;
  1. NOTA(X) ;----- ALLOW/DISALLOW TRAVEL ADVANCE
  1. ; USED BY INPUT TRANSFORM ON FMS DOCUMENT FIELD TRAVEL ADVANCE
  1. ; ALLOWED
  1. ;
  1. ; INPUT:
  1. ; X = DOCUMENT IEN
  1. ;
  1. ; OUTPUT:
  1. ; 0 = TRAVEL ADVANCE NOT ALLOWED
  1. ; 1 = TRAVEL ADVANCE ALLOWED
  1. ;
  1. N ACRCAN,Y
  1. S Y=1
  1. ;
  1. ;----- IF ATM AUTHORIZED, NO TRAVEL ADVANCE ALLOWED
  1. I $P($G(^ACRDOC(X,"TO")),U,22) S Y=0
  1. ;
  1. ;----- DON'T ALLOW TRAVEL ADVANCE FOR HEADQUARTERS EAST
  1. S ACRCAN=$P($G(^ACRDOC(X,"REQ")),U,10)
  1. I ACRCAN S ACRCAN=$P($G(^AUTTCAN(ACRCAN,0)),U)
  1. ;I $E(ACRCAN,1,3)="J94" S Y=0 ;COMMENTED OUT TO UNBLOCK TRAVEL ADVANCES AT HQE
  1. ;
  1. Q Y
  1. ;
  1. NAME(X) ;EP -- RETURNS EXTERNAL PERSON FILE 200 NAME ;ACR*2.1*5.15
  1. ;
  1. ; X = PERSON FILE 200 IEN
  1. ;
  1. N Y,Z
  1. S Y=""
  1. ;I X S Y=$P($G(^VA(200,X,0)),U) ;ACR*2.1*19.02 IM16848
  1. I X S Y=$$NAME2^ACRFUTL1(X) ;ACR*2.1*19.02 IM16848
  1. Q Y
  1. NAME2(X) ;EP; EXTRINSIC FUNCTION ;ACR*2.1*19.02 IM16848
  1. ; X = IEN TO NEW PERSON FILE
  1. ; RETURNS NAME IN LAST,FIRST MIDDLE SUFFIX DEGREE FORMAT
  1. ; FROM NAME COMPONENTS FILE
  1. ;
  1. I '+X Q ""
  1. N Y,YY,Z
  1. K XUNAME
  1. S XUNAME("FILE")=200
  1. S XUNAME("FIELD")=.01
  1. S XUNAME("IENS")=X
  1. ;PARAMETER 2: F=FAMILY NAME FIRST G=GIVEN NAME FIRST
  1. ;PARAMETER 3: P=INCLUDE PREFIX D=INCLUDE DEGREE
  1. S Y=$$NAMEFMT^XLFNAME1(.XUNAME,"F","D")
  1. ; Need comma after last name, prompting the following code.
  1. ; Just in case utility doesn't return a name, go get the value from New Person.
  1. I Y']"" D
  1. .S Y=$P($G(^VA(200,XUNAME("IENS")),0),U)
  1. .I Y=0 S Y=""
  1. ;
  1. I Y="" Q ""
  1. S Z=$O(^VA(20,"BB",+XUNAME("FILE"),+$G(XUNAME("FIELD")),XUNAME("IENS")_",",0))
  1. I Z="" Q ""
  1. S Z=$P(^VA(20,Z,1),U) ; Last name
  1. S YY=$P(Y,Z_" ",2,99) ; Everything after last name
  1. S Y=Z_","_YY ; Last name, everything else
  1. Q Y
  1. ;
  1. NAME3(X) ;EP; EXTRINSIC FUNCTION ;ACR*2.1*19.02 IM16848
  1. ; X = IEN TO NEW PERSON FILE
  1. ; RETURNS NAME IN FIRST MIDDLE LAST SUFFIX DEGREE FORMAT
  1. ; FROM NAME COMPONENTS FILE
  1. ;
  1. I '+X Q ""
  1. N Y
  1. K XUNAME
  1. S XUNAME("FILE")=200
  1. S XUNAME("FIELD")=.01
  1. S XUNAME("IENS")=X
  1. ;PARAMETER 2: F=FAMILY NAME FIRST G=GIVEN NAME FIRST
  1. ;PARAMETER 3: P=INCLUDE PREFIX D=INCLUDE DEGREE
  1. S Y=$$NAMEFMT^XLFNAME1(.XUNAME,"G","D")
  1. Q Y
  1. ;
  1. NAMEFT(X) ;EP; EXTRINSIC FUNCTION
  1. ; X = FREE TEXT NAME
  1. ; ATTEMPTS TO RETURN LAST,FIRST
  1. ;
  1. N Y,P1,P2,PL
  1. S Y=""
  1. I X']"" Q Y
  1. I $E(X)=" " Q Y
  1. I $E(X)="-" Q Y
  1. S X=$$UPPER^ACRFUTL(X) ;MAKE SURE IS UPPER CASE
  1. I X'[" " Q ","_X ;SINGLE NAME, PRESUMED FIRST
  1. S PL=$L(X," ") ;Number of spaces in name
  1. I X["," D
  1. .S PL=PL-1 S X=$TR(X,",") ;Disregard commas
  1. S P2=$P(X," ",PL,PL+1) ;Get piece(s) after last space
  1. S P1=$P(X," ",1,PL-1) ;Get rest of pieces
  1. S Y=P2_","_P1
  1. Q Y
  1. ;
  1. FYFUN(X) ;EP -- RETURNS FISCAL YEAR OF FUNDS ; ACR*2.1*13.05 IM10810
  1. ;
  1. ; X = FMS DEPARTMENT ACCOUNT IEN
  1. ;
  1. N Y
  1. S Y=""
  1. I X S Y=$P($G(^ACRLOCB(X,"DT")),U)
  1. Q Y
  1. OBJDA(X) ;EP -- RETURNS IEN OF OBJECT CLASS CODE ;ACR*2.1*16.06 IM15505
  1. ;
  1. ; X = EXTERNAL FORM OF OBJECT CLASS CODE
  1. ;
  1. N Y
  1. S Y=""
  1. I X,$D(^AUTTOBJC("C",X)) S Y=$O(^AUTTOBJC("C",X,0))
  1. Q Y
  1. ;
  1. ; New code ACR*2.1*20.14
  1. SCREEN() ;EP -- RETURNS IF USER CAN USE SCREENMAN
  1. ; INPUT none
  1. ; OUTPUT Y = USER USE SCREENMAN?
  1. ; 1 = YES
  1. ; 0 = NO
  1. N Y
  1. S Y=0 ; Default to no screenman
  1. I +$G(^ACRSYS(1,"DT1")) S Y=1 ; ARMS system defaults forces screenman
  1. I '+Y D
  1. . I +$P($G(^ACRSYS(1,"DT")),U,40) D ; ARMS SYSTEM DEFAULTS allows screenman
  1. . . I +$P($G(^ACRAU(DUZ,1)),U,13) D ; ARMS User says use Screenman
  1. . . . S Y=1
  1. Q Y
  1. ;
  1. ; New code ACR*2.1*20.14
  1. FORM(X) ;EP -- IS THERE A FORM FOR THIS INPUT TEMPLATE?
  1. ; INPUT X = DR (Input Template and Form name should be the same)
  1. ; OUTPUT Y = IS THERE A FORM?
  1. ; 1 = YES
  1. ; 0 = NO
  1. N Y
  1. S Y=0
  1. I $G(X)="" Q 0
  1. S X=$TR(X,"[]","")
  1. I $D(^DIST(.403,"B",X)) S Y=1
  1. Q Y
  1. ;
  1. PA(X) ;EP -- PURCHASING AGENT
  1. ;
  1. ; INPUT: X = DOCUMENT IEN
  1. ; RETURNS: Y = PURCHASING AGENT POINTER TO NEW PERSON FILE
  1. N Y
  1. S Y=""
  1. I X S Y=$P($G(^ACRDOC(X,"PA")),U)
  1. Q Y
  1. ;
  1. STRIPTB(X) ;EP - STRIP TRAILING BLANKS FROM STRING - ACR*2.1*20.14
  1. N I,ACRLEN
  1. I X="" Q X
  1. F I=$L(X):-1:1 D Q:$G(ACRLEN)
  1. .Q:$E(X,I)=" "
  1. .S ACRLEN=I
  1. S X=$E(X,1,ACRLEN)
  1. Q X
  1. ;
  1. STRIPLB(X) ;EP - STRIP LEADING BLANKS FROM STRING - ACR*2.1*20.14
  1. N I,ACRLEN
  1. I X="" Q X
  1. S ACRLEN=$L(X," ")
  1. F I=1:1:ACRLEN D Q:$P(X," ",I)'=""
  1. .Q:$P(X," ",I)'=""
  1. S X=$P(X," ",I,ACRLEN)
  1. Q X
  1. ; New code ACR*2.1*PCARD
  1. CC(X) ;EP -- IS THIS A REQUEST FOR CREDIT CARD PURCHASE/PAY WITH CC
  1. ; INPUT X = DOCUMENT IEN
  1. ; OUTPUT Y = IS THERE A FORM?
  1. ; 1 = YES
  1. ; 0 = NO
  1. N Y,Z
  1. S Z=""
  1. I $G(X)]"" S Z=$P(^ACRDOC(X,0),U,4)
  1. S Y=$S(Z=35:1,1:0)
  1. Q Y