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

BARUFUT1.m

Go to the documentation of this file.
  1. BARUFUT1 ; IHS/SD/TPF - UTILITIES 2 FOR UFMS ; 04/28/2008
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**3,4,5,6,13,21,23,24**;OCT 26, 2005;Build 69
  1. ;;
  1. ;Modify patch number in filename so batches are formatted
  1. ;correctly by the HUB
  1. ;IHS/SD/POT MAR 2012 HEAT62222 ADDED GETDAY0(FORM)- BAR*1.8*.23
  1. ;IHS/SD/POT APR 2013 HEAT89920 BAR*1.8*.23
  1. ;IHS/SD/POT JUN 2013 belcourt HEAT118656 - BAR*1.8*.24
  1. Q
  1. ;
  1. RESENDF(NOSEND) ;EP - RESEND A FILE ALREADY CREATED ;
  1. RESENDF1 N DIREC,DESTIP,ARGS,BARUFMS
  1. S DIREC=$P($G(^BAR(90052.06,DUZ(2),DUZ(2),15)),U) ;A/R PARAMETER FILE, UFMS DIRECTORY
  1. I DIREC="" D Q
  1. .W !!,"Before UFMS files can be created a non-public directory must be created"
  1. .W !,"on the Host File System. This directory must be entered in to A/R Site Parameter"
  1. .W !,"field UFMS DIRECTORY using the 'SPE Site Parameter Edit' option"
  1. .D ASKFORRT^BARUFUT
  1. W !!,"CURRENT UFMS DIRECTORY IS ",DIREC
  1. W !
  1. K DIR
  1. S DIR(0)="FO"
  1. S DIR("?",1)="Enter a file name e.g. IHS_AR_RPMS_RCV_398_113510_20070806_0847.DAT,"
  1. S DIR("?",2)="or a partial filename IHS_AR_RPMS_RCV_398*, the * is a wildcard,"
  1. S DIR("?")="or * to list all UFMS files in the UFMS directory."
  1. I $G(NOSEND) S DIR("A")="List File(s)" ;
  1. E S DIR("A")="Enter filename to be resent"
  1. D ^DIR
  1. Q:$D(DTOUT)!$D(DIROUT)!$D(DUOUT)!(Y="")!(Y=" ")
  1. S FILENM=Y
  1. I $E(FILENM,1,16)="IHS_TPB_RPMS_INV" W " ??" H 1 G RESENDF1
  1. I FILENM="*" S FILENM="IHS_AR_RPMS_RCV*"
  1. K FARRAY
  1. D LIST^%ZISH(DIREC,FILENM,.FARRAY)
  1. I '$D(FARRAY) W " ??" G RESENDF1
  1. W @IOF
  1. W !!!,"FILES FOUND: "
  1. S (KEY,LN,CHOICE)=""
  1. S FIRST=1
  1. F CNT=1:1 S LN=$O(FARRAY(LN)) Q:KEY!(LN="")!$G(CHOICE) D
  1. .W !,LN
  1. .W ?5,FARRAY(LN)
  1. .I '(CNT#10) D
  1. ..K DIR
  1. ..I $G(NOSEND) W ! S DIR(0)="E" D ^DIR S CHOICE=X=U Q I 1 ;
  1. ..E D
  1. ...S DIR(0)="NO^1:"_CNT
  1. ...S DIR("A")="Enter item number: "
  1. ...D ^DIR
  1. ..S CHOICE=Y
  1. ..S KEY=$D(DUOUT)!($D(DTOUT))
  1. Q:KEY
  1. I '$G(CHOICE),LN="" D Q:KEY
  1. .K DIR
  1. .I $G(NOSEND) W ! S DIR(0)="E" D ^DIR S CHOICE=X=U Q I 1 ;
  1. .E D
  1. ..S DIR(0)="NO^1:"_(CNT-1)
  1. ..S DIR("A")="Enter item number: "
  1. ..D ^DIR
  1. .S CHOICE=Y
  1. .S KEY=$D(DUOUT)!($D(DTOUT))!(Y="")
  1. ;
  1. I $G(NOSEND) Q ;
  1. S ITEM=CHOICE
  1. W !!,"You have selected "_$G(FARRAY(ITEM))
  1. K DIR
  1. S DIR(0)="YO"
  1. S DIR("A")="Do you want to resend the file now?"
  1. S DIR("B")="Y"
  1. D ^DIR
  1. G:$D(DTOUT)!$D(DUOUT)!('Y) RESENDF1
  1. K RT
  1. S RT=$$SENDTO1^ZISHMSMU("BAR UFMS F",DIREC_FARRAY(ITEM))
  1. W !,DIREC_FARRAY(ITEM)
  1. I $D(RT) W !!,"File has been "_$P(RT,U,2) W:$P($G(RT),U)=0 " and successfully sent."
  1. I '$D(RT) W !!,"Problem encountered sending file!"
  1. D ASKFORRT^BARUFUT
  1. G RESENDF1
  1. Q
  1. ;
  1. ERASTAT(UDUZ,SESSID,ERASTAT) ;EP - SET ERA POSTING STATUS
  1. ;STATUS=1 CASHIER IS IN ERA POSTING
  1. ;STATUS=0 NOT IN ERA POSTING
  1. ;
  1. K DIR,DIE,DIC,DA,DR
  1. S DA(1)=UDUZ
  1. S DA=SESSID
  1. S DR=".04///^S X=ERASTAT"
  1. S DIE="^BARSESS(DUZ(2),"_DA(1)_",11,"
  1. D ^DIE
  1. Q 1
  1. STILPOST(UDUZ) ;EP - IS THE USER STILL LOGGED ON AND/OR POSTING?
  1. N LOGIN,LOGIEN,LASTOPT,XUTLIEN,INMENUS,BARMENU
  1. S LOGIN=$O(^XUSEC(0,"CUR",UDUZ,DT))
  1. Q:'LOGIN 0_U_"NOT LOGGED IN" ;THEREFORE NOT POSTING
  1. ;
  1. S INMENUS=0
  1. S LOGIEN=DT ;just look at todays logins.
  1. F S LOGIEN=$O(^XUSEC(0,"CUR",UDUZ,LOGIEN)) Q:'LOGIEN!(INMENUS) D
  1. .S JOB=$P($G(^XUSEC(0,LOGIEN,0)),U,3)
  1. .S CURREC=$G(^XUTL("XQ",JOB,"T"))
  1. .Q:'CURREC
  1. .;VALUE OF THE DEFAULT DIVISION TO THE USER NOT THE DIVISION THEY SIGN INTO.
  1. .S CUROPT=$P($G(^XUTL("XQ",JOB,CURREC)),U,2)
  1. .I $E(CUROPT,1,3)="BAR" D Q:INMENUS
  1. ..Q:CUROPT'[("BAR POST PAYMENTS")&(CUROPT'[("BAR POST ADJUSTMENTS"))&(CUROPT'[("BAR FLAT RATE POSTING"))&(CUROPT'[("BAR POST UC"))&(CUROPT'[("BAR POST REFUNDS"))&(CUROPT'[("BAR PST BENEFICIARY"))&(CUROPT'[("BAR ERA POST CLAIMS"))
  1. ..S INMENUS=1
  1. ..S BARMENU=$P($G(^XUTL("XQ",JOB,CURREC)),U,3)
  1. I LOGIN,(INMENUS) Q 1_U_"LOGGED IN AND CURRENTLY IN THE '"_BARMENU_"' OPTION"
  1. I LOGIN,('INMENUS) Q 2_U_"LOGGED IN BUT NOT CURRENTLY IN A/R MENUS"
  1. Q 0_U_"UNKOWN"
  1. ;
  1. CLEAR ;EP - CLEAR 'SESSION ALREADY ASSIGNED' FLAG
  1. N REC,LINE,UDUZ,SESSID,PIECE,CHOICES,CHOICE
  1. K CHOICE
  1. I '$D(^BARSESS(DUZ(2),"D")) D Q
  1. .W !!,"THERE ARE NO SESSION 'ALREADY ASSIGNED' FLAGS SET"
  1. .D ASKFORRT^BARUFUT
  1. .W @IOF
  1. D CLRHDR
  1. S UDUZ=""
  1. F LINE=1:1 S UDUZ=$O(^BARSESS(DUZ(2),"D",1,UDUZ)) Q:'UDUZ D
  1. .S SESSID=""
  1. .F S SESSID=$O(^BARSESS(DUZ(2),"D",1,UDUZ,SESSID)) Q:'SESSID D
  1. ..W !,LINE,"."
  1. ..W ?3,$P($G(^VA(200,UDUZ,0)),U)
  1. ..S CHOICE(LINE)=UDUZ_U_SESSID
  1. K DIR
  1. W !
  1. S LINE=LINE-1
  1. S DIR(0)="LO^1:"_LINE
  1. S DIR("A")="Select cashier(s) to clear"
  1. D ^DIR
  1. Q:Y=""!$D(DUOUT)!$D(DTOUT)
  1. S CHOICES=Y
  1. F PIECE=1:1 S LINE=$P(CHOICES,",",PIECE) Q:LINE="" D
  1. .S X=$$DELFLG($P(CHOICE(LINE),U),$P(CHOICE(LINE),U,2))
  1. .W !!!,"CASHIER ",$P($G(^VA(200,$P(CHOICE(LINE),U),0)),U)," HAS BEEN CLEARED" H 1
  1. G CLEAR:$D(^BARSESS(DUZ(2),"D"))
  1. W @IOF
  1. Q
  1. ;
  1. CLRHDR ;EP - CLEAR FLAG HEADER
  1. W @IOF
  1. W !!,$$CJ^XLFSTR("CLEAR 'SESSION ID ALRADY ASSIGNED' FLAG",IOM)
  1. W !!!?10,"THE FOLLOWING USERS HAVE THIS FLAG SET"
  1. W !!
  1. Q
  1. ;
  1. ASUFAC(DUZ2,TRANS) ;EP - GET ASUFACASUFAC3PIEN STRING
  1. N IENS
  1. S IENS=TRANS_","
  1. S ARBILLIN=$$GET1^DIQ(90050.03,IENS,4,"I") ;A/R TRANSACTIONS, BILL (A/R) PTR
  1. S ARDOSBEG=$$GET1^DIQ(90050.01,ARBILLIN_",",102,"I") ;A/R BILL, DOS BEGIN
  1. S TPBIEN=$P($$FIND3PB^BARUTL(DUZ2,ARBILLIN),",",2) ;GET 3PIEN
  1. S:TPBIEN="" TPBIEN="00000000"
  1. ;
  1. S PARSUFAC=$$GET1^DIQ(90050.01,ARBILLIN_",",8,"I") ;A/R BILL, PARENT LOCATION
  1. S PARSUFAC=$$CURASUFC(PARSUFAC,ARDOSBEG)
  1. ;
  1. S LARSUFAC=$$GET1^DIQ(90050.01,ARBILLIN_",",108,"I") ;A/R BILL, VISIT LOCATION
  1. S LARSUFAC=$$CURASUFC(LARSUFAC,ARDOSBEG)
  1. Q PARSUFAC_LARSUFAC_TPBIEN
  1. ;
  1. CURASUFC(LOCIEN,BARDOS) ;EP - GET CURRENT ASUFAC BASED ON 'DOS BEGIN' (#102) IN A/R BILL FILE
  1. Q:LOCIEN="" "UNPOPL"
  1. Q:BARDOS="" "UNPOPD"
  1. N ASUFAC,BARDT,BARDTFLG
  1. S ASUFAC=""
  1. S BARDT=0
  1. S BARDTFLG=0
  1. S ASUFAC=$$GET1^DIQ(9999999.06,DUZ(2)_",",.12) ;First take it from 'asufac index" field
  1. ;if not, check class multiple
  1. I 'ASUFAC D
  1. .F S BARDT=$O(^AUTTLOC(LOCIEN,11,BARDT)) Q:BARDT=""!(BARDTFLG=1) D
  1. ..I BARDOS>$P($G(^AUTTLOC(LOCIEN,11,BARDT,0)),U) D
  1. ...S ASUFAC=$P($G(^AUTTLOC(LOCIEN,11,BARDT,0)),U,6)
  1. ...S BARDTFLG=1
  1. Q ASUFAC
  1. ;
  1. ;
  1. DELFLG(UDUZ,SESSID) ;EP - DELETE 'SESSION ID ALREADY ASSIGNED' FLAG
  1. K DIR,DIE,DR,DIC,DA
  1. S DA(1)=UDUZ
  1. S DA=SESSID
  1. S DR=".05///@"
  1. S DIE="^BARSESS(DUZ(2),"_DA(1)_",11,"
  1. D ^DIE
  1. Q 1
  1. ;
  1. GETDISLM(FORM) ;EP - GET 'UFMS DISPLAY DATE LIMIT'
  1. N DISLIM
  1. S FORM=$G(FORM)
  1. S:FORM="" FORM="E"
  1. I $G(STATUS)'["TRANSMITTED"&($G(XQSV)["BARZ MANAGER") Q ""
  1. S DISLIM=$$GET1^DIQ(90052.06,DUZ(2)_",",1504,"I")
  1. I DISLIM'="" S X=DISLIM,%DT="" D ^%DT S DISLIM=Y
  1. I FORM="I" Q DISLIM
  1. S Y=$P(DISLIM,".") X ^DD("DD") S DISLIM=Y
  1. Q DISLIM
  1. ;
  1. GETDAY0(FORM) ;EP - GET 'BOOKING DATE IN UFMS' ("DAY ZERO") ;HEAT # 62222 MAR 2012 - BAR*1.8*.23
  1. N DISLIM
  1. S FORM=$G(FORM)
  1. S:FORM="" FORM="E"
  1. S DISLIM=$$GET1^DIQ(90052.06,DUZ(2)_",",1505,"I")
  1. I DISLIM'="" S X=DISLIM,%DT="" D ^%DT S DISLIM=Y
  1. I FORM="I" Q DISLIM
  1. S Y=$P(DISLIM,".") X ^DD("DD") S DISLIM=Y
  1. Q DISLIM
  1. RTCOUNT(UDUZ,SESSID) ;EP - RETURN NUMBER OF RETRANSMISSIONS
  1. N DATETIME,RTCOUNT
  1. S DATETIME=0
  1. S RTCOUNT=0
  1. F S DATETIME=$O(^BARSESS(DUZ(2),UDUZ,11,SESSID,1,DATETIME)) Q:'DATETIME D
  1. .I $P($G(^BARSESS(DUZ(2),UDUZ,11,SESSID,1,DATETIME,0)),U,2)="RT" S RTCOUNT=RTCOUNT+1
  1. Q RTCOUNT
  1. ;
  1. RANGE(RANGE) ;EP - TAKE RANGE AND EXPAND IT 1,2,5-10,13,14
  1. N PIECE,ITEM,NRANGE,CNT
  1. S NRANGE=""
  1. F PIECE=1:1 S ITEM=$P(RANGE,",",PIECE) Q:ITEM="" D
  1. .I ITEM'[("-") S NRANGE=NRANGE_ITEM_"," Q
  1. .S LOW=$P(ITEM,"-"),HIGH=$P(ITEM,"-",2)
  1. .F CNT=LOW:1:HIGH S NRANGE=NRANGE_CNT_","
  1. S NRANGE=","_NRANGE
  1. Q NRANGE
  1. ;
  1. EXCLLST(RANGE,LIST) ;EP - TAKE RANGE AND EXCLUDE FROM LIST IF NOT CHOSEN
  1. N REC
  1. S REC=""
  1. F S REC=$O(LIST(REC)) Q:'REC D
  1. .I RANGE'[(","_REC_",") K LIST(REC)
  1. Q
  1. ;
  1. CNTSTATS(STATCNTS,PERS) ;EP - COUNTS STATUSES ;BAR*1.8*4 IM26064
  1. N DATELIM,STATUS,UDUZ
  1. S STATUS=""
  1. F S STATUS=$O(^BARSESS(DUZ(2),"C",STATUS)) Q:STATUS="" D
  1. .S UDUZ=""
  1. .F S UDUZ=$O(^BARSESS(DUZ(2),"C",STATUS,UDUZ)) Q:'UDUZ D
  1. ..I $D(PERS) Q:UDUZ'=PERS ;BAR*1.8*4 IM26064
  1. ..S DATELIM=$$GETDISLM("I")-.01
  1. ..F S DATELIM=$O(^BARSESS(DUZ(2),"C",STATUS,UDUZ,DATELIM)) Q:'DATELIM D
  1. ...Q:DATELIM<3101001 ;stops sessions prior to 10/1/08 from being counted bar*1.8*21 SDR
  1. ...S STATCNTS(STATUS)=$G(STATCNTS(STATUS))+1
  1. ...S STATCNTS("ALL STATUSES")=$G(STATCNTS("ALL STATUSES"))+1
  1. Q
  1. ;
  1. PRELIVE(AREAIEN,INSTYPE) ;EP - RETURN PRE 10/1/2007 APPLYTO FIELD BASED ON A/R ACCOUNT AND LOCATION
  1. Q:$G(AREAIEN)=""&($G(INSTYPE)="") "UNKN UNKN "
  1. N SUFFIX,PREFIX
  1. S BAR08DT=$P($G(^BAR(90052.06,DUZ(2),DUZ(2),15)),U,5) ;IHS/SD/SDR bar*1.8*4 SCR100
  1. S SUFFIX="",PREFIX=""
  1. S SUFFIX=$$SUFFIX(U_INSTYPE_U)
  1. S PREFIX=$$PREFIX(U_AREAIEN_U)
  1. Q PREFIX_SUFFIX
  1. ;
  1. SUFFIX(INSTYPE) ;EP - RETURN SUFFIX BASED ON INSTYPE
  1. S PVTIN=U_"H"_U_"M"_U_"P"_U_"F"_U
  1. S MCAID=U_"D"_U_"K"_U
  1. S MCARE=U_"R"_U_"MD"_U_"MH"_U
  1. S OTHER=U_"W"_U_"C"_U_"N"_U_"I"_U_"T"_U_"G"_U ;IHS/SD/SDR bar*1.8*4 bar*1.8*6
  1. ;S OTHER=U_"W"_U_"C"_U_"N"_U_"I"_U ;IHS/SD/SDR bar*1.8*4 bar*1.8*6
  1. I PVTIN[INSTYPE Q "PVTIN"
  1. I MCAID[INSTYPE Q "MCAID"
  1. I MCARE[INSTYPE Q "MCARE"
  1. I OTHER[INSTYPE Q "OTHER"
  1. Q "UNDEF"
  1. ;
  1. PREFIX(AREAIEN) ;EP - RETURN PREFIX BASED ON AREA
  1. S ABR07=U_4_U ;BASED ON THE (#.04) AREA [4P:9999999.21] FIELD IN THE
  1. S ABQ07=U_10_U ;LOCATION FILE.
  1. S OKC07=U_18_U
  1. S NAV07=U_34_U
  1. S TUC07=U_1_U
  1. S NAS07=U_19_U
  1. S PHX07=U_25_U
  1. S BEM07=U_5_U
  1. S BIL07=U_16_U
  1. S POR07=U_31_U
  1. I (TPBAPDT<BAR08DT) G FY08
  1. I ABR07[AREAIEN Q "ABR07"
  1. I ABQ07[AREAIEN Q "ABQ07"
  1. I OKC07[AREAIEN Q "OKC07"
  1. I NAV07[AREAIEN Q "NAV07"
  1. I TUC07[AREAIEN Q "TUC07"
  1. I NAS07[AREAIEN Q "NAS07"
  1. I PHX07[AREAIEN Q "PHX07"
  1. I BEM07[AREAIEN Q "BEM07"
  1. I BIL07[AREAIEN Q "BIL07"
  1. I POR07[AREAIEN Q "POR07"
  1. ;
  1. FY08 ;EP - SET PRELIVE PREFIX FOR 10/1/2008
  1. ;PRELIVE 10/1/2008
  1. I ABR07[AREAIEN Q "ABR08"
  1. I ABQ07[AREAIEN Q "ABQ08"
  1. I OKC07[AREAIEN Q "OKC08"
  1. I NAV07[AREAIEN Q "NAV08"
  1. I TUC07[AREAIEN Q "TUC08"
  1. I NAS07[AREAIEN Q "NAS08"
  1. I PHX07[AREAIEN Q "PHX08"
  1. I BEM07[AREAIEN Q "BEM08"
  1. I BIL07[AREAIEN Q "BIL08"
  1. I POR07[AREAIEN Q "POR08"
  1. Q "UNDEF"
  1. ;
  1. GETSUFAC() ;EP;GIVEN DUZ(2)
  1. ; get parent from parent/satellite file
  1. N BARSAT,BARPAR,DA,ASUFAC
  1. S BARSAT=DUZ(2)
  1. S BARPAR=0 ; Parent
  1. ; check site active at DOS to ensure bill added to correct site
  1. S DA=0
  1. F S DA=$O(^BAR(90052.06,DA)) Q:DA'>0 D Q:BARPAR
  1. . Q:'$D(^BAR(90052.06,DA,DA)) ; Pos Parent UNDEF Site Parameter
  1. . Q:'$D(^BAR(90052.05,DA,BARSAT)) ; Satellite UNDEF Parent/Satellit
  1. . Q:+$P($G(^BAR(90052.05,DA,BARSAT,0)),U,5) ; Par/Sat not usable
  1. . ; Q if sat NOT active at DT
  1. . I DT<$P($G(^BAR(90052.05,DA,BARSAT,0)),U,6) Q
  1. . ; Q if sat became NOT active before DT
  1. . I $P($G(^BAR(90052.05,DA,BARSAT,0)),U,7),(DT>$P($G(^BAR(90052.05,DA,BARSAT,0)),U,7)) Q
  1. . S BARPAR=$S(BARSAT:$P($G(^BAR(90052.05,DA,BARSAT,0)),U,3),1:"")
  1. S ASUFAC=$$CURASUFC(BARPAR,DT)
  1. Q ASUFAC
  1. ;
  1. DELETE(UDUZ,SESSID) ;EP - DELETE SESSION
  1. K DIR,DIE,DIC,DR,DA
  1. S DA(1)=UDUZ
  1. S DA=SESSID
  1. S DIK="^BARSESS(DUZ(2),"_DA(1)_",11,"
  1. D ^DIK
  1. W !,"Session ",SESSID," has been deleted for cashier ",$P($G(^VA(200,UDUZ,0)),U)
  1. K DIR
  1. D ASKFORRT^BARUFUT
  1. Q
  1. ;
  1. FILLSTR(STR,LENGTH,JUST,FILLER) ;EP - FILL STRING TO FIXED LENGTH
  1. N FILL
  1. S LENGTH=$G(LENGTH),JUST=$G(JUST)
  1. S STR=$E(STR,1,LENGTH)
  1. Q:$L(STR)=LENGTH STR
  1. S $P(FILL,FILLER,LENGTH-$L(STR)+1)=""
  1. I JUST="L" S STR=STR_FILL
  1. E S STR=FILL_STR
  1. Q STR
  1. ;dec=0 decimal implied
  1. ;just="L" left justified R=right justified
  1. FILLDOL(DOL,LENGTH,JUST,DEC) ;EP - FILL DOLLAR AMT TO FIXED LENGTH
  1. N FILL
  1. I DOL<0 S DOL=$E(DOL,2,100000000)
  1. S JUST=$$UPC^BARUTL(JUST)
  1. S LENGTH=$G(LENGTH),JUST=$G(JUST),DEC=$G(DEC)=1
  1. ;LETS ADD THE RIGHT SIDE CUZ A/R DOESN'T STORE THE WHOLE NUMBER
  1. I DOL'[(".") S DOL=DOL_"."
  1. S:$P(DOL,".",2)="" DOL=DOL_"00"
  1. S:$L($P(DOL,".",2))=1 DOL=DOL_"0"
  1. I 'DEC S DOL=$TR(DOL,".")
  1. S DOL=$E(DOL,1,LENGTH)
  1. Q:$L(DOL)=LENGTH DOL
  1. S $P(FILL,"0",LENGTH+1-$L(DOL))=""
  1. I JUST="R" S DOL=FILL_DOL
  1. E S DOL=DOL_FILL
  1. Q DOL
  1. ;
  1. ASKFNAME(BARFILE) ;EP - ASK FOR FILENAME
  1. S BARFILE=$$GETFILNM()
  1. W !!,"File will be created using the following name: ",BARFILE
  1. Q 1
  1. ;
  1. GETFILNM() ;EP - CREATE FILE NAME
  1. N FNROOT,FNEXT,FN,YR,DATE,TIME,DATETIME,BARPK,BARPT,BARP2,BARP3
  1. S FNROOT="IHS_AR_RPMS_RCV_"_DUZ_"_"_$$GETSUFAC()
  1. S FNXREF=DUZ_"_"_$$GETSUFAC()
  1. S BARV=$$VERSION^XPDUTL("BAR")
  1. S BARP2=$$FILLSTR^BARUFUT1($P(BARV,".",2),2,"R","0")
  1. S BARPK=$O(^DIC(9.4,"C","BAR",0))
  1. S BARPK="IHS ACCOUNTS RECEIVABLE"
  1. S BARPT=$$PATCH^BARUTL(BARPK,BARV) ;
  1. S BARP3=$$FILLSTR^BARUFUT1(+BARPT,2,"R","0")
  1. S FNXT=$P(BARV,".",1)_"."_BARP2_"."_BARP3
  1. S FNEXT="_"_FNXT_".DAT"
  1. S FN=FNROOT
  1. GETFILAG ;BAR*1.8*4 CHECK FOR FILE NAME ALREADY USED
  1. D NOW^%DTC
  1. S YR=1700+$E(%,1,3)
  1. S DATE=YR_$E(%,4,7)
  1. S Y=% X ^DD("DD")
  1. S TIME=$TR($P(Y,"@",2),":")
  1. S:$L(TIME)=4 TIME=TIME_"00"
  1. S DATETIME=DATE_"_"_TIME
  1. I $D(^BARSESS(DUZ(2),"FN",FNXREF_"_"_DATETIME)) W !,"FILENAME ALREADY USED" H 2 G GETFILAG
  1. S FN=FNROOT_"_"_DATETIME
  1. S FN=FN_FNEXT
  1. Q FN
  1. ;
  1. SITECHK ;EP - CHECK DUZ(2) FOR SITE SET UP HEAT118656 BAR*1.8*.24
  1. D SITECHK^BARUFUT4
  1. Q
  1. OUTOFORD(PARAM,OPTNAME) ;EP - PLACE OPTION OUT OF ORDER ;BAR*1.8*.23
  1. Q:PARAM="NO"!(PARAM="") 0
  1. N OPTIEN,BARMSG,BARXREF
  1. S BARXREF="XXX"
  1. S OPTIEN=$O(^DIC(19,"B",OPTNAME,""))
  1. S $P(^DIC(19,BARXREF,DUZ(2),OPTIEN,0),U,3)="Option is disabled for this site" ;BAR*1.8*.23
  1. ;W !,"Cashiering menu options are now disabled for A/R Location: ",$P($G(^DIC(4,DUZ(2),0)),U) ;9/18/13
  1. Q OPTIEN
  1. ;
  1. ENABLORD(PARAM,OPTNAME) ;EP - ENABLE OPTION CASH SESS BAR*1.8*.23
  1. Q:PARAM="YES" 0
  1. N OPTIEN,BARXREF
  1. S BARXREF="XXX"
  1. S OPTIEN=$O(^DIC(19,"B",OPTNAME,""))
  1. S $P(^DIC(19,BARXREF,DUZ(2),OPTIEN,0),U,3)=""
  1. ;W !,"Option now enabled for A/R Location: ",$P($G(^DIC(4,DUZ(2),0)),U) ;9/18/13
  1. Q OPTIEN
  1. ISENACS(BARDUZ) ;P.OTT - RETURNS 1 IF CASH SESS ENABLED
  1. N BARXREF,OPTNAME
  1. S OPTNAME="BAR UFMS CASHIERING MENU"
  1. S BARXREF="XXX",OPTIEN=$O(^DIC(19,"B",OPTNAME,""))
  1. Q $P($G(^DIC(19,BARXREF,BARDUZ,OPTIEN,0)),U,3)="" ;IF NIL - SESSIONS IS ENABLED
  1. CSMENU(BARDUZ) ;
  1. NEW BARRET
  1. S BARRET=1
  1. I '$$ISENACS(BARDUZ) S BARRET=0 W !!,"Out of order: Option is disabled for ",$P($G(^DIC(4,BARDUZ,0)),U),!! ;BAR*1.8*.23
  1. Q BARRET