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

BARUFVF.m

Go to the documentation of this file.
  1. BARUFVF ; IHS/SD/TPF - UFMS VIEW UFMS FILE REPORT ; 10/20/2008
  1. ;;1.8;IHS ACCOUNTS RECEIVABLE;**3,4,8,23**;OCT 26, 2005
  1. Q
  1. ;
  1. ASKFILE ;EP - CHOOSE UFMS FILE TO VIEW
  1. N DIREC,DESTIP,ARGS,BARUFMS
  1. S $P(DASH,"-",81)=""
  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. 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. S DIR("A")="Enter filename "
  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 ASKFILE
  1. I $E(FILENM)="*" S FILENM="*"
  1. I FILENM="*" S FILENM="IHS_AR_RPMS_RCV*"
  1. K FARRAY
  1. D LIST^%ZISH(DIREC,FILENM,.FARRAY)
  1. I '$D(FARRAY) W " ??" H 1 G ASKFILE
  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. ..S DIR(0)="NO^1:"_CNT
  1. ..S DIR("A")="Enter item number: "
  1. ..D ^DIR
  1. ..;I Y="" S FIRST=CNT+1 Q
  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. .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. S ITEM=CHOICE
  1. ;
  1. ASKTYP ;EP - ASK FOR TYPE OF REPORT FILE LAYOUT OR CAPTIONED
  1. K DIR
  1. S DIR(0)="SO^F:FILE LAYOUT;C:CAPTIONED"
  1. D ^DIR
  1. G:$D(DUOUT)!$D(DTOUT)!(Y="") ASKFILE
  1. S RPTTYP=Y
  1. ;NEW BAR*1.8*4 SCR56,SCR58 ADD SEARCH FOR DEBUGGING
  1. S TARSTRG=$$ASKTAR()
  1. ;END
  1. ;D FILE(DIREC,FARRAY(ITEM),RPTTYP)
  1. D FILE(DIREC,FARRAY(ITEM),RPTTYP,TARSTRG) ;BAR*1.8*4 SCR56,SCR58
  1. G ASKFILE
  1. Q
  1. ;
  1. ;NEW BAR*1.8*4
  1. ASKTAR() ;EP - ASK IF A SEARCH IS NEEDED
  1. W !
  1. K DIR
  1. S DIR(0)="Y"
  1. S DIR("A")="WOULD YOU LIKE TO SEARCH FOR A STRING?"
  1. S DIR("B")="N"
  1. D ^DIR
  1. Q:$D(DUOUT)!$D(DTOUT)!('Y) ""
  1. W !
  1. K DIR
  1. S DIR(0)="FO"
  1. S DIR("A")="ENTER TARGET STRING"
  1. D ^DIR
  1. Q:$D(DUOUT)!$D(DTOUT)!(Y="") ""
  1. Q Y
  1. ;
  1. ;FILE(BARDIR,BARFN,RPTTYP) ; EP
  1. FILE(BARDIR,BARFN,RPTTYP,TARSTRG) ;EP - DISPLAY FILE ;BAR*1.8*4 SCR56,SCR58
  1. ; Pull up a file into the TMP global for display
  1. N Y,X,I,BARRNAM
  1. S Y=$$OPEN^%ZISH(BARDIR,BARFN,"R")
  1. I Y W !,"CAN'T OPEN FILE" H 3 Q
  1. S BARRNAM=$P($T(+1)," ")
  1. K ^TMP(BARRNAM,$J)
  1. ;F I=1:1 U IO R X:1 Q:$$STATUS^%ZISH=-1 S ^TMP(BARRNAM,$J,I,0)=X
  1. F I=1:1 U IO R X:1 Q:$$STATUS^%ZISH=-1 D ;DIRECT READ OF FLAT FILE
  1. .Q:TARSTRG'=""&(X'[(TARSTRG)) ;SCREEN FOR SEARCH STRING ONLY
  1. .S ^TMP(BARRNAM,$J,I,0)=X
  1. D ^%ZISC
  1. I $D(^TMP(BARRNAM,$J)) D DISPLAY(BARFN,RPTTYP)
  1. K ^TMP(BARRNAM,$J)
  1. Q
  1. ;
  1. DISPLAY(FILENAME,RPTTYP) ;EP - DISPLAY UFMS FILE
  1. S (ESC,PAGE)=0
  1. D FNHDR(FILENAME,RPTTYP)
  1. S RECNUM=0
  1. F S RECNUM=$O(^TMP(BARRNAM,$J,RECNUM)) Q:'RECNUM!(ESC) D
  1. .I $Y>(IOSL-4) W ! K DIR S DIR(0)="E" D:'$D(ZTQUEUED) ^DIR S ESC=X=U Q:ESC D FNHDR(FILENAME,RPTTYP)
  1. .S RECORD=$G(^TMP(BARRNAM,$J,RECNUM,0))
  1. .I RPTTYP="C" D CAPTIONS(FILENAME,RECORD,RECNUM) Q
  1. .W !,RECNUM
  1. .W ?6,RECORD
  1. Q:ESC
  1. I '$D(ZTQUEUED) D
  1. .K DIR
  1. .S DIR(0)="E"
  1. .D ^DIR
  1. Q
  1. ;
  1. FNHDR(FILENAME,RPTTYP) ;EP - DISPLAY DISPLAY HEADER
  1. I IOM=80 D FNHDR80 Q
  1. I IOM=132 D FNHDR132 Q
  1. Q
  1. FNHDR132 ;EP - HEADER FOR 132 COL
  1. W !,"NOT YET IMPLEMENTED" H 3
  1. Q
  1. FNHDR80 ;EP - HEADER FOR 80 COL
  1. S PAGE=$G(PAGE)+1
  1. W @IOF
  1. S X="UFMS FILE VIEW"
  1. S X=$J("",IOM-$L(X)\2-$X)_X
  1. W !,X
  1. W ?70,"PAGE ",PAGE
  1. W !,$$CJ^XLFSTR("FILE: "_FILENAME,IOM)
  1. I RPTTYP="C" W !,$$CJ^XLFSTR("CAPTIONED LAYOUT",IOM),DASH Q
  1. W !!,"REC"
  1. W ?5,"RECORD"
  1. W ?35,"BATCH"
  1. W ?72,"TR DATE"
  1. ;SECOND LINE
  1. W !,"#"
  1. W ?5,"TYPE"
  1. W ?16,"AMOUNT"
  1. W ?35,"APPLY TO"
  1. W ?50,"SCHED #"
  1. W !,DASH
  1. Q
  1. ;
  1. CAPTIONS(FILENAME,RECORD,RECNUM) ;EP - DO A CAPTION OUTPUT OF THE FILE RECORD
  1. S RECTYP=$TR($E(RECORD,1,1)," ")
  1. S BATCH=$$LEADSP($E(RECORD,2,150))
  1. S TRDATE=$TR($E(RECORD,151,160)," ")
  1. S AMTSIGN=$TR($E(RECORD,161,161)," ")
  1. S AMOUNT=+$TR($E(RECORD,162,181)," ")
  1. S AMOUNT=$E(AMOUNT,1,$L(AMOUNT)-2)_"."_$E(AMOUNT,$L(AMOUNT)-1,$L(AMOUNT))
  1. ;Begin changes to length of invoice number;MRS:BAR*1.8*8 HEAT529
  1. S APPLYTO=$TR($E(RECORD,182,221)," ")
  1. S SCHEDNUM=$TR($E(RECORD,222,241)," ")
  1. S UNIQUEID=$TR($E(RECORD,242,391)," ")
  1. N BARP1,BARP2
  1. S BARP1=$P(FILENAME,"_",9) ;PATCH FIELD
  1. S BARP2=$TR($P(BARP1,".",1,3),".")
  1. I BARP2<10808 D
  1. .S APPLYTO=$TR($E(RECORD,182,201)," ")
  1. .S SCHEDNUM=$TR($E(RECORD,202,221)," ")
  1. .S UNIQUEID=$TR($E(RECORD,301,336)," ")
  1. ;End changes;MRS:BAR*1.8*8 HEAT529
  1. ;
  1. I $Y>(IOSL-8) W ! K DIR S DIR(0)="E" D:'$D(ZTQUEUED) ^DIR S ESC=X=U Q:ESC D FNHDR(FILENAME,RPTTYP)
  1. I RECTYP'="T" D Q
  1. .W !!,"RECORD #: ",RECNUM
  1. .W !,"RECORD TYPE: ",RECTYP
  1. .W !,"BATCH: ",BATCH
  1. .W !,"TRANSACTION DATE: ",TRDATE
  1. .W !,"AMOUNT SIGN: ",AMTSIGN
  1. .W !,"AMOUNT: ",AMOUNT
  1. .W !,"APPLY TO: ",APPLYTO
  1. .W !,"SCHEDULE #: ",SCHEDNUM
  1. .W !,"UNIQUE ID: ",UNIQUEID ;BAR*1.8*4 ITEM 3 SCR58
  1. S TOTREC=$E(RECORD,2,11)
  1. S TOTAMT=$E(RECORD,12,31)
  1. I TOTAMT[("-") D
  1. .S TOTAMT="-"_$P(TOTAMT,"-",2)
  1. S TOTAMT=$E(TOTAMT,1,$L(TOTAMT)-2)_"."_$E(TOTAMT,$L(TOTAMT)-1,$L(TOTAMT))
  1. W !,"RECORD TYPE: ",RECTYP
  1. W !,"TOTAL RECORDS: ",+TOTREC
  1. W !,"TOTAL AMOUNT: ",TOTAMT
  1. Q
  1. ;
  1. LEADSP(STR) ;EP - STRIP LEADING SPACES
  1. N CHAR,TARGET
  1. Q:$E(STR)'=" " STR
  1. F CHAR=1:1:$L(STR) Q:$E(STR,CHAR,CHAR)'=" "
  1. S STR=$E(STR,CHAR,$L(STR))
  1. Q STR