Hi all,
Just thought I would again share a very simple solution that I'm sure most of you know but is not well documented. Hopefully this is not a piece of useless information.
The issue was that we have a requirement to output data to a text file and ensure that there are x number of spaces at the end of each row.
The row in the Oracle Database is set to A2000V however the maximum length in the row is 130 Characters with spaces after that.
The text file output required was that the end of the row had 8 trailing spaces.
If using a codepage like 1252 then you can set a define field to A138 and the output is fine.
However if using UNICODE the multiplication factor that accounts for the maximum of 3 Bytes will basically triple the space which in our case was adding 200+ spaces in the text file. (Even though it's not really space but bytes)
Anyway what we had to do was stipulate to WebFOCUS the number of bytes to display.
This was done by changing the define field from
DEFINE FILE REPORT_DATA
DF_MERGE_COLUMN/A138 = MERGE_COLUMN
to
DEFINE FILE REPORT_DATA
DF_MERGE_COLUMN/A138B = MERGE_COLUMN
Adding the B at the end of the field length in the define allowed us to have a text file with the correct number of spaces.
WebFOCUS 8203M
O/S Windows 7