Focal Point
[SOLVED] READFILE not working in 8203?

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/1247038096

October 09, 2018, 10:10 AM
DWaybright
[SOLVED] READFILE not working in 8203?
I have a fex I wrote in AppStudio using -READFILE to pull in fields from a master file, but since we upgraded to 8.2.03 (from 8105M), it doesn't work. I get prompted for the variables. The master file is a synonym to a single row MS-SQL table.



-READFILE MAINT_REPORTING_DATES
-RUN
-SET &ME_DATE = EDIT(&CURR_REPORTING_MTH_END, '99/99/9999');


Am I missing something?

This message has been edited. Last edited by: DWaybright,


WebFOCUS 8.2.03 (production), 8.2.06 (testing)
AppStudio, InfoAssist
Windows, All Outputs
October 09, 2018, 10:33 AM
Doug
I guessing that "MAINT_REPORTING_DATES" is the name of your HOLD file, right? If so, add the following immediately after your HOLD... End...
  -RUN
?FF MAINT_REPORTING_DATES
to verify that "CURR_REPORTING_MTH_END' is the name of the field.
October 09, 2018, 11:41 AM
MartinY
Try this

-DEFAULTH &CURR_REPORTING_MTH_END = ''
TABLE FILE abc
BY CURR_REPORTING_MTH_END
WHERE .....
ON TABLE HOLD AS MAINT_REPORTING_DATES
END
-RUN
-READFILE MAINT_REPORTING_DATES
-RUN
-SET &ME_DATE = EDIT(&CURR_REPORTING_MTH_END, '99/99/9999');



WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
October 09, 2018, 11:54 AM
Doug
quote:
-DEFAULTH &CURR_REPORTING_MTH_END = ''
That's important. It'll be prompted for if it's not included.
October 09, 2018, 02:37 PM
DWaybright
quote:
-DEFAULTH &CURR_REPORTING_MTH_END = ''

Ah! the DEFAULTH line was key.
THANKS!!!


WebFOCUS 8.2.03 (production), 8.2.06 (testing)
AppStudio, InfoAssist
Windows, All Outputs
October 10, 2018, 07:43 AM
Wep5622
From a similar post, I have picked up the habit of definging those -DEFAULT's right after the -READFILE statement:
TABLE FILE abc
BY CURR_REPORTING_MTH_END
WHERE .....
ON TABLE HOLD AS MAINT_REPORTING_DATES
END
-RUN
-READFILE MAINT_REPORTING_DATES
-DEFAULTH &CURR_REPORTING_MTH_END = '';
-SET &CURR_REPORTING_MTH_END = TRUNCATE(&CURR_REPORTING_MTH_END);
-SET &ME_DATE = EDIT(&CURR_REPORTING_MTH_END, '99/99/9999');


That has the benefit that WebFOCUS does not warn you that you are overwriting a variable's value.

I also got into the habit of TRUNCATE()-ing values from -READFILE. Or LTRIM() in the case of numeric values. The extra spaces can cause surprises Wink

Also, a couple of implicit nits I picked: You don't need -RUN after Dialog Manager statements (-READFILE) and -DEFAULT(H) is supposed to end with a semi-colon these days, I've been told.


WebFOCUS 8.1.03, Windows 7-64/2008-64, IBM DB2/400, Oracle 11g & RDB, MS SQL-Server 2005, SAP, PostgreSQL 11, Output: HTML, PDF, Excel 2010
: Member of User Group Benelux :