From: Anonymous on
In article <1166881498.301512.7030(a)i12g2000cwa.googlegroups.com>,
Alistair <alistair(a)ld50macca.demon.co.uk> wrote:
>
>docdwarf(a)panix.com wrote:
>> In article <1166790950.351244.67040(a)42g2000cwt.googlegroups.com>,
>> Alistair <alistair(a)ld50macca.demon.co.uk> wrote:

[snip]

>> >ALTERNATIVELY (and I like this one): set the FD to contain a record of
>> >one character length fixed blocked and read repeatedly, building the
>> >record in working storage.
>> >
>> >I can't believe that no-one came up with that one before me.
>>
>> Perhaps they did, Mr Maclean, and discarded it as being of... questionable
>> utility on an IBM-style mainframe.

[snip]

>> ... the job ABENDs with IEF450I WSXSKEL0 STEP020 - ABEND=S000 U4038
>> REASON=00000001 and the following messages in the SYSOUT:
>>
>> IGZ0201W A file attribute mismatch was detected. File INFILE in program
>> SKELPROG had a record length of 1 and the file specified in the ASSIGN
>> clause had a record length of 30.
>> IGZ0035S There was an unsuccessful OPEN or CLOSE of file TESTA in program
>> SKELPROG at relative location X'0358'. Neither FILE STATUS nor an ERROR
>> declarative were specified. The status code was 39. From compile unit
>> SKELPROG at entry point SKELPROG at statement 19 at compile unit offset
>> +00000358 at entry offset +00000358 at address 000082C8.
>
>How about over-riding the DCB?

I'm not quite sure what technique you might use to accomplish this, Mr
Maclean. If you would be so kind as to post an example it might help
clarify the matter.

DD

From: William M. Klein on
I must have been mixing it up (in my mind) with another post. Sorry about that.

--
Bill Klein
wmklein <at> ix.netcom.com
"Alistair" <alistair(a)ld50macca.demon.co.uk> wrote in message
news:1166882146.914548.50570(a)80g2000cwy.googlegroups.com...
>
> William M. Klein wrote:
>> Again, I don't think this will work for TAPE input. Also, remember that IBM
>> processing of "RECFM U" *has* changed in recent years. See:
>>
>> http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IGY3MG31/3.5.4
>>
>
> Bill, the initiator's four posts on this subject do not mention TAPE.
> Where did you get the idea that he is referring to tape?
>


From: Alistair on

William M. Klein wrote:
> I must have been mixing it up (in my mind) with another post. Sorry about that.

No problem, I just thought that I was missing the obvious. Thanks.




>
> --
> Bill Klein
> wmklein <at> ix.netcom.com
> "Alistair" <alistair(a)ld50macca.demon.co.uk> wrote in message
> news:1166882146.914548.50570(a)80g2000cwy.googlegroups.com...
> >
> > William M. Klein wrote:
> >> Again, I don't think this will work for TAPE input. Also, remember that IBM
> >> processing of "RECFM U" *has* changed in recent years. See:
> >>
> >> http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IGY3MG31/3.5.4
> >>
> >
> > Bill, the initiator's four posts on this subject do not mention TAPE.
> > Where did you get the idea that he is referring to tape?
> >

From: Clark F Morris on
On Sat, 23 Dec 2006 15:33:32 +0000 (UTC), docdwarf(a)panix.com () wrote:

>In article <1166881498.301512.7030(a)i12g2000cwa.googlegroups.com>,
>Alistair <alistair(a)ld50macca.demon.co.uk> wrote:
>>
>>docdwarf(a)panix.com wrote:
>>> In article <1166790950.351244.67040(a)42g2000cwt.googlegroups.com>,
>>> Alistair <alistair(a)ld50macca.demon.co.uk> wrote:
>
>[snip]
>
>>> >ALTERNATIVELY (and I like this one): set the FD to contain a record of
>>> >one character length fixed blocked and read repeatedly, building the
>>> >record in working storage.
>>> >
>>> >I can't believe that no-one came up with that one before me.
>>>
>>> Perhaps they did, Mr Maclean, and discarded it as being of... questionable
>>> utility on an IBM-style mainframe.
>
>[snip]
>
>>> ... the job ABENDs with IEF450I WSXSKEL0 STEP020 - ABEND=S000 U4038
>>> REASON=00000001 and the following messages in the SYSOUT:
>>>
>>> IGZ0201W A file attribute mismatch was detected. File INFILE in program
>>> SKELPROG had a record length of 1 and the file specified in the ASSIGN
>>> clause had a record length of 30.
>>> IGZ0035S There was an unsuccessful OPEN or CLOSE of file TESTA in program
>>> SKELPROG at relative location X'0358'. Neither FILE STATUS nor an ERROR
>>> declarative were specified. The status code was 39. From compile unit
>>> SKELPROG at entry point SKELPROG at statement 19 at compile unit offset
>>> +00000358 at entry offset +00000358 at address 000082C8.
>>
>>How about over-riding the DCB?
>
>I'm not quite sure what technique you might use to accomplish this, Mr
>Maclean. If you would be so kind as to post an example it might help
>clarify the matter.
>
>DD

Assuming that you have BLOCK 0 and RECORD VARYING FROM 1 TO 32760 (or
maximum record size expected) in the COBOL program and assuming the
file is actually VB or VBS (RECORDING S needed in the COBOL program),
you would then code RECFM=VB,LRECL='cobol TO LENGTH +4' in the JCL and
thus be able to read any file regardless of length. For FB code the
maximum size 01 level expected for the FD and RECORD 0 in addition to
BLOCK 0 and the actual record length will be determined at run time.
Unfortunately this only works for INPUT. I don't think that you can
use RECORD 0 VARYING DEPENDING ON for fixed length records.
From: Anonymous on
In article <lairo250619raljqhu1d545id7c5rbsan0(a)4ax.com>,
Clark F Morris <cfmpublic(a)ns.sympatico.ca> wrote:
>On Sat, 23 Dec 2006 15:33:32 +0000 (UTC), docdwarf(a)panix.com () wrote:
>
>>In article <1166881498.301512.7030(a)i12g2000cwa.googlegroups.com>,
>>Alistair <alistair(a)ld50macca.demon.co.uk> wrote:
>>>
>>>docdwarf(a)panix.com wrote:
>>>> In article <1166790950.351244.67040(a)42g2000cwt.googlegroups.com>,
>>>> Alistair <alistair(a)ld50macca.demon.co.uk> wrote:
>>
>>[snip]
>>
>>>> >ALTERNATIVELY (and I like this one): set the FD to contain a record of
>>>> >one character length fixed blocked and read repeatedly, building the
>>>> >record in working storage.
>>>> >
>>>> >I can't believe that no-one came up with that one before me.
>>>>
>>>> Perhaps they did, Mr Maclean, and discarded it as being of... questionable
>>>> utility on an IBM-style mainframe.
>>
>>[snip]
>>
>>>> ... the job ABENDs with IEF450I WSXSKEL0 STEP020 - ABEND=S000 U4038
>>>> REASON=00000001 and the following messages in the SYSOUT:
>>>>
>>>> IGZ0201W A file attribute mismatch was detected. File INFILE in program
>>>> SKELPROG had a record length of 1 and the file specified in the ASSIGN
>>>> clause had a record length of 30.
>>>> IGZ0035S There was an unsuccessful OPEN or CLOSE of file TESTA in program
>>>> SKELPROG at relative location X'0358'. Neither FILE STATUS nor an ERROR
>>>> declarative were specified. The status code was 39. From compile unit
>>>> SKELPROG at entry point SKELPROG at statement 19 at compile unit offset
>>>> +00000358 at entry offset +00000358 at address 000082C8.
>>>
>>>How about over-riding the DCB?
>>
>>I'm not quite sure what technique you might use to accomplish this, Mr
>>Maclean. If you would be so kind as to post an example it might help
>>clarify the matter.
>
>Assuming that you have BLOCK 0 and RECORD VARYING FROM 1 TO 32760 (or
>maximum record size expected) in the COBOL program and assuming the
>file is actually VB or VBS (RECORDING S needed in the COBOL program),
>you would then code RECFM=VB,LRECL='cobol TO LENGTH +4' in the JCL and
>thus be able to read any file regardless of length.

No problems with that, Mr Morris... that's part of the nature of VB
datasets on Big Iron. I noticed that the original poster has yet to
respond to questions about the DCB; it might be that the time
for this assignment has gone past 'due date'.

>For FB code the
>maximum size 01 level expected for the FD and RECORD 0 in addition to
>BLOCK 0 and the actual record length will be determined at run time.
>Unfortunately this only works for INPUT. I don't think that you can
>use RECORD 0 VARYING DEPENDING ON for fixed length records.

I'm not sure how this 'over-rides the DCB', as Mr Maclean suggested... but
perhaps sometime next week, if I remember, I'll cobble together some code
and see if this flies.

DD