File 1:
-----
VB, LRECL=18. only one record is present
File 2:
------
VB, LRECL=250. n number of records can be present.
File 1 has one record and the value present in the first 14 (excluding RDW) should be matched with the 232nd postion of length 14 in all 'file 2' records. If both are equal, then records from file 2 should be written in output file.
Could you tell me how to dynamically pass the value of file1 to file2 and achieve my requirement?
1) Don't you think the control card (BUILD alone) in Step100 should be like this?
Instead of
Quote:
BUILD=(C'PICKVAL,C''',5,14,C'''',80:X)
it should be like this
Code:
BUILD=(C'PICKVAL,''',5,14,C'''',80:X)
And i got the solution with my control card. I am just using SYMBOLS and I'll be going through SYMBOLS shortly. Just out of curiosity i am asking this.
2) I tried this requriement with different approach. (LRECl for the file 2 is changed to 23050). I am getting RC 16.
ICE000I 0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 20:05 ON FRI OCT
OPTION COPY
OUTFIL FNAMES=AUS1,
$
ICE001A 0 TEXT BEGINS IN WRONG COLUMN
INCLUDE=(23037,14,CH,EQ,C'19011209221000'),OUTREC=(5,23036)
.
I am banging my head how to solve this though i got the solution by using SYMBOLS. Could you help me out here?
are both valid as symbols. In the first case DFSORT internally translates the PICKVAL,'your 14 byte value' into PICKVAL,C'your 14 byte value'. You can check this out by the adding the
following line to your JCL
Code:
//SYMNOUT DD SYSOUT=*
Coming to your error, it is because you created the include card with only 55 bytes of data and the sysin should be 80 bytes. So change your CTL1CNTL to the following
Also unless you are converting the output file AUS1 to FB record format you really dont need OUTREC parm. if you are indeed converting AUS1 to FB file I suggest that you add the parm VTOF on your OUTFIL statement