KSDS = "Keyed Sequential" Data Set, so it is obviously keyed (= "INDEXED")
VSAM KSDS data sets are always variable length by definition. Setting
"average record length" = "maximum record length" indicates an intent to
write same length records and that information is used for space
calculations, but each record still has its own length value, is
structurally variable length, and records of any length up to the
maximum record length are allowed by VSAM. So if you just re-defined
the file with higher maximum and average record length and copied the
old records to a new file using something like REPRO, or some other
utility with no explicit record size redefinition, the old records would
be exactly preserved including the original record length of 200, just
like you were using the utility to copy from one RECFM=VB file to
another VB file defined with a larger record size. There are utilities
that will expand and pad the records on copy, but you have to use
appropriate control cards to explicitly request that be done.
Joel C. Ewing
On 06/27/2014 02:40 AM, Elardus Engelbrecht wrote:
> Ron Thomas wrote:
>
>> We have a KSDS VSAM File which is of record length in production as 200
>> bytes and we modified the VSAM file to 250 record length . We then copied
>> old records to the new records.
> What is the VSAM Dataset structure? Is it indexed? With what utility/program
> did you used to do the copywork?
>
>
>> There is a online screen which updates the file and once that happen the
>> file is updated with low values after 200 bytes.
> I would recommend that you fill up the last part with some values during the
> creation/population of the VSAM dataset, not during subsequent usage in an
> application.
>
>
>> There is assembler program when it reads it is failing in get call.
> Well, you will have to modify the program to handle the longer records.
>
>
>> So is there a way by which from the online we can limit the length of the
>> file to 200 bytes . Please do share thoughts on this?
> What is 'online' and 'online screen'? It tells nothing to me. Is it a CICS
> application, TSO application, Web page hosted by some HTTP server?
>
> In what language is that application written. On what z/OS version are you?
>
> Alternatively, copy the first 200 bytes of each records to something else and
> have the thing read that dataset with the shorter records.
>
> Best of all advice: refer the problem to the developer. If you modify a
> dataset's structure, you need to modify all programs using it.
>
> I have a question: Why enlarge the records if you're not using it by padding
> it with low values anyways?
>
> Groete / Greetings
> Elardus Engelbrecht
>
>
>
--
Joel C. Ewing, Bentonville, AR [email protected]
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN