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

ACRFVLK3.m

Go to the documentation of this file.
  1. ACRFVLK3 ;IHS/OIRM/DSD/EFG - VENDOR FILE LOOKUP 3 ; [ 04/23/2007 10:56 AM ]
  1. ;;2.1;ADMIN RESOURCE MGT SYSTEM;**21,22**;NOV 5, 2001
  1. ;
  1. ; New routine ACR*2.1*21.04 IM22466
  1. ; Subroutines were moved here from ACRFVLK2 and heavily rewritten
  1. ; due to routine size restrictions.
  1. ; Heavily modified to remedy <SUBSCRIPT>IV+44^ACRFVLK2 error ACR*2.1*22.11c IM24263
  1. Q ;MUST ENTER AT LINE LABEL
  1. ;
  1. SUBH(ACT,ERR,VAR,HD1) ;
  1. ;
  1. S ERR=$E(ACT,2) ;0 = NO ERR MSG 1 = ERROR MSG
  1. S VAR=$E(ACT,3,4) ;E=EIN, D=DUNS, Z=ZIP (0=MISSING,1=HAS)
  1. S ACT=$E(ACT,1) ;0 = INACTIVE 1 = ACTIVE
  1. S:ERR="" ERR=0
  1. S:VAR="" VAR=0
  1. S:ACT="" ACT=0
  1. S HD1=$S(ACT=0:"INACTIVE",1:"ACTIVE")_" VENDORS "
  1. Q
  1. V(ACT) ;EP - GATHER VENDORS AND SORTS BY NAME, DUNS, EIN, OR ZIP
  1. ; --------ENTERS WITH ACT STRING (ACTIVE, ERROR, SORT NAME)
  1. N TITLE
  1. N HD2,HD1,TAIL,ACRVAR
  1. D SUBH(.ACT,.ERR,.VAR,.HD1)
  1. S HD2="SORTED BY NAME "
  1. S ACRVAR=$S(VAR="E0":"NO EIN",VAR="D0":"NO DUNS",VAR="Z0":"ZIP",1:"")
  1. S:ACRVAR]"" HD1=HD1_"WITH "_ACRVAR
  1. S TAIL=$S(ERR=1:"WITH MISSING DATA",1:"")
  1. S HD2=HD2_TAIL
  1. S TITLE="NAME^DUNS^EIN+SUFFIX^MAILING ZIP^EFT TYPE-ACCT#-EFT ROUT#"
  1. I TAIL["MISSING" S TITLE=TITLE_U_"ERRORS"
  1. D HEAD^ACRFVLK2(HD1,HD2)
  1. D SUBHEAD^ACRFVLK2(TITLE,1)
  1. D LOOP(ACT,ERR,VAR)
  1. Q
  1. ;
  1. ADEZ(ACT) ;EP - GATHER ACTIVE VENDORS WITH DUNS, EIN, OR ZIP
  1. N TITLE,NUM
  1. D SUBH(.ACT,.ERR,.VAR,.HD1)
  1. S ACRVAR=$S(VAR="E1":"EIN NO.",VAR="D1":"DUNS",VAR="Z1":"ZIP",1:"")
  1. S HD2="SORTED BY "_ACRVAR
  1. S:ACRVAR]"" HD1=HD1_"WITH "_ACRVAR
  1. I ACRVAR["EIN" D
  1. .S NUM=2
  1. .S TITLE=ACRVAR_"^VENDOR NAME^DUNS^MAILING ZIP^EFT TYPE-ACCT#-ROUT#"
  1. I ACRVAR["DUNS" D
  1. .S NUM=3
  1. .S TITLE=ACRVAR_"^VENDOR NAME^EIN+SUFFIX^MAILING ZIP^EFT TYPE-ACCT#-ROUT#"
  1. I ACRVAR["ZIP" D
  1. .S NUM=4
  1. .S TITLE=ACRVAR_"^VENDOR NAME^EIN+SUFFIX^DUNS^EFT TYPE-ACCT#-ROUT#"
  1. D HEAD^ACRFVLK2(HD1,HD2)
  1. D SUBHEAD^ACRFVLK2(TITLE,NUM)
  1. D LOOP(ACT,ERR,VAR)
  1. Q
  1. ;
  1. LOOP(ACT,ERR,VAR) ; LOOP THROUGH VENDOR AND SET BY NAME
  1. ; ---- ENTERS WITH WRITE SUBROUTINE CALL
  1. ; ACTIVE FLAG -- 1 OR 0
  1. ; ERROR FLAG -- 1 OR 0
  1. ; VAR STRING -- E(IN), D(UNS), Z(IP) + 1 FOR HAS, 0 FOR MISSING
  1. ;
  1. N ACRVREC,NUM
  1. S ACRVREC=0,NUM=1
  1. S ACRERR=""
  1. F S ACRVREC=$O(^AUTTVNDR(ACRVREC)) Q:'ACRVREC!($D(ACROUT)) D
  1. .I ERR D Q:ACRERR="" ;ONLY WANT IF HAS ERRORS
  1. ..D CKVEND^ACRFUFMU(ACRVREC) ;RETURNS WITH ACRERR STRING
  1. .D GETDATA
  1. .Q:ACT'=ACRACT ;ONLY WHAT IS WANTED
  1. .I VAR="D0" Q:ACRDUNS]"" ;WANT MISSING DUNS
  1. .I VAR="D1" Q:ACRDUNS="" ;WANT DUNS
  1. .I VAR="E0" Q:ACREIN]"" ;WANT MISSING EIN
  1. .I VAR="E1" Q:ACREIN="" ;WANT EIN
  1. .I VAR="Z0",$L($TR(ACRZIP,"-",""))=9 Q ;WANT MISSING/BAD ZIP
  1. .I VAR="Z1" Q:ACRZIP="" ;WANT ZIP
  1. .S VARN=ACRVNAM ;SET DEFAULT FOR NAME SORT
  1. .S STR=ACRVNAM_U_ACRDUNS_U_ACREX_U_ACRZIP_U_ACREFT
  1. .I VAR="D1" D ;SORT BY DUNS
  1. ..S VARN=ACRDUNS,NUM=2
  1. ..S STR=ACRDUNS_U_ACRVNAM_U_ACREX_U_ACRZIP_U_ACREFT
  1. .I VAR="E1" D ;SORT BY EIN
  1. ..S VARN=ACREX,NUM=2
  1. ..S STR=ACREX_U_ACRVNAM_U_ACRDUNS_U_ACRZIP_U_ACREFT
  1. .I VAR="Z1" D ;SORT BY ZIP
  1. ..S VARN=ACRZIP,NUM=2
  1. ..S STR=ACRZIP_ACRVNAM_U_ACRDUNS_U_ACREX_U_ACREFT
  1. .S:ERR STR=STR_U_ACRERR ;ADD ERR STRING IF WANTED
  1. .S ^TMP("ACR",$J,VARN)=STR
  1. D WRT^ACRFVLK2(NUM)
  1. Q
  1. GETDATA ;SET VENDOR VARIABLES
  1. K ACRV0,ACRV11,ACRV13,ACRV19,ACRZIP,ACROUT,ACRVNAM,ACRREC
  1. K ACRDUNS,ACREX,ACREFTT,ACREFT,ACRACT
  1. S ACRV0=$G(^AUTTVNDR(ACRVREC,0))
  1. S ACRV11=$G(^AUTTVNDR(ACRVREC,11))
  1. S ACRV13=$G(^AUTTVNDR(ACRVREC,13))
  1. S ACRV19=$G(^AUTTVNDR(ACRVREC,19))
  1. S ACRZIP=$P(ACRV13,U,4)
  1. S ACRVNAM=$P(ACRV0,U)
  1. S:ACRVNAM="" ACRVNAM="NO NAME "_ACRVREC
  1. S ACRDUNS=$P(ACRV0,U,7)
  1. S ACREIN=$P(ACRV11,U) ;EIN
  1. S ACREX=$P(ACRV11,U,13) ;EIN + SUFFIX
  1. S ACREFTT=$P(ACRV19,U)
  1. S ACREFT=ACREFTT_"-"_$P(ACRV19,U,3)_"-"_$P(ACRV19,U,2)
  1. S ACRACT=$S($$IDATE^ACRFUFMU(ACRVREC)]"":0,1:1) ;IF VENDOR IS ACTIVE
  1. Q