I have a process where I create control cards by querying a DB2 table and creating the correct layout for the card on a single line. I then use SYNCSORT to break up the line by a delimited value to create lines that will fit in an 80 byte record that can be used for another process.
I am getting the error when I run the file through a PARSE/BUILD to perform this split process, even when I do the sort in-place. The failing process is cloned from another process that does the exact same thing and executes without issue. If this was completely new process, I would keep trying to tweak it, but I copied this directly from a job that works fine.
While your are having FIXLEN=800 how can it then be split to FB80 records with the method you have chosen? Add REMOVECC keyword.
I am sorry, I didn't include the entire process in my original post.
There are subsequent steps in the job that will copy the resulting records into an 80 byte file and do some other cleanup before passing the file over to the end process, which will execute NDM to copy the files referenced in the control cards to a different LPAR.
I hate to code control cards by hand when I can get the machine to generate them for me. So I came up with a process to automate this CC creation.
This process was copied from one I developed that creates DCLGEN control cards from the catalog and executes them to create an entire database worth of DCLGEN members. We use it to recreate them every time we have a data model change.
I see that I missed a line break in the build statement.
Unfortunately, this did not fix the issue.
I am breaking a single 800 byte record into 9 800 byte records using the PARSE and BUILD commands. And I have attempted to do this with a variety of SORTOUT files.
Joined: 15 Aug 2015 Posts: 1306 Location: Bamberg, Germany
To check what's wrong, add a reasonable amount of records to the STOPAFT. Write the SORTOUT to SYSOUT=* then. SORT will tell you the expected attributes in the WER110I msg. May it be of help.