Any suggestions would be greatly appreciated!
Bruce Goodman......BGOODMAN@PROBE.NET
Use OUTTRAP to trap the output of a PRINT command.
It's crude, but it works.
Or use the RXVSAM routine written by Mark Winges.
Or buy REXXTOOLS.
As Gilbert said, the best approach is a proper VSAM interface.....
Kevin
/* Rexx */
trace ?r; nop
Address TSO
/* Max LRECL = 8800, avg = 6600, key len = 45, key offset +4 */
VSAM = 'QA10.TEST.BOM'
VSAM_key = '10'x||'BBA-P' /* key = 10x + partial char key */
SEQ = 'BESKLM.TEST.VSAMTEMP'
"ALLOC DA('"VSAM"') FILE(VSAM) SHR"
"DEL '"SEQ"'"
"ALLOC DA('"SEQ"') FILE(FLATFILE) NEW",
"SPACE(10 10) TRACK UNIT(BABDA)", /* Pick size and unit */
"RECFM(V B) LRECL(8804) BLKSIZE(0)" /* MAX VSAM LRECL + 4 */
"VERIFY FILE(VSAM)"
X = OUTTRAP('VSAMmsg.')
"REPRO INFILE(VSAM) OFILE(FLATFILE) FROMKEY('"VSAM_key"') COUNT(1)"
X = OUTTRAP('off')
"ALLOC DA('"SEQ"') FILE(FLATFILE) SHR REUSE"
Do i = 1 to VSAMmsg.0
Say VSAMmsg.i
/* Deal with errors here. */
End
"EXECIO * DISKR FLATFILE(STEM RECORD. OPEN FINIS)"
Do i = 1 to record.0
Say record.i
/* Parse out your record here. */
End
"FREE FI(VSAM FLATFILE)"