Would greatly appreciate any help or suggestions on how to create an output extract a comma delimited file with an end of file marker?
I used both save and hold to output along with format comma, dfix, and set up a variable to delimit the fields after they were written, but still I do not get an end of file marker.
The end-of-file (EOF) marker [chr$(26), or CTRL+Z, or also known as ASCII byte value 26] at the end of output is missing.This message has been edited. Last edited by: Kerry,
You should not have to worry about EOF markers.
What is the OS ?
Why do you need to add an EOF marker ?
Waz is correct APPLICATIONS do not require an EOF in the file.
That suggests that you are passing the output to a raw programming language such as C.
That may require an EOF.
Adding an EOF to a WebFOCUS file is possible but requires using a system
Normally you would append something to a file by allocating it with (APPEND
and using a -WRITE.
Problem is that when you use -WRITE it always adds CR/LF (windows) or LF (unix)
this means that if you -WRITE file EOF you get HEX 1A0D0A (EOF/CR/LF)
To do what you want you need to write EOF to a file with an LRECL of 1,
that prevents the CR/LF being added, then copy the files together
FILEDEF HOLDA DISK c:\TEMP\HOLDA.CSV FILEDEF EOF DISK c:\TEMP\EOF.FTM (LRECL 1 RECFM F -RUN TABLE FILE CAR PRINT COUNTRY CAR MODEL DCOST ON TABLE HOLD AS HOLDA FORMAT COM END -RUN -SET &EOF = HEXBYT(26, 'A1'); -WRITE EOF &EOF !COPY c:\TEMP\HOLDA.CSV + c:\TEMP\EOF.FTM c:\TEMP\HOLDA_with_EOF.CSV
Excelent suggestion with the FILEDEF LRECL
With a minor change, the COPY command can be removed.
FILEDEF HOLDA DISK c:\TEMP\HOLDA.CSV FILEDEF HOLDEOF DISK c:\TEMP\HOLDA.CSV (APPEND LRECL 1 RECFM F -RUN TABLE FILE CAR PRINT COUNTRY CAR MODEL DCOST ON TABLE HOLD AS HOLDA FORMAT COM END -RUN -SET &EOF = HEXBYT(26, 'A1'); -WRITE HOLDEOF &EOF
|Powered by Social Strata|