I remember working with HSM migration control datasets a few years
ago.  Even for that you had to load a high key value dummy record
before using the dataset.

On Fri, May 25, 2018 at 7:20 PM, Frank Swarbrick
<frank.swarbr...@outlook.com> wrote:
> Pointless issue of the day.  This has bothered me for 20 years.  I figured 
> its about time I ask, why?  Why does an "empty" KSDS (a KSDS that has never 
> been "loaded") have what seems to be to be a "special" behavior, one that is 
> different than a KSDS that had records but no longer has any (all records 
> have been deleted).
>
> For example, if a file in this "never loaded" state is opened for input by 
> IDCAMS you get this:
>
>  PRINT INFILE(CCMIGR)
> IDC3300I  ERROR OPENING DVFJS.CCARD.CCMIGRX
> IDC3351I ** VSAM OPEN RETURN CODE IS 160
> IDC0005I NUMBER OF RECORDS PROCESSED WAS 0
>
> where
> 160
>     The operands specified in the ACB or GENCB macro are
>     inconsistent with each other or with the information in the
>     catalog record. This error can also occur when the VSAM
>     cluster being opened is empty.
>
> If opened by SORT (DFSORT)
> IEC161I 
> 072-053,DEFVSAM,PRINT1,CCMIGR,,,DVFJS.CCARD.CCMIGRX,DVFJS.CCARD.CCMIGRX.DATA,CATALOG.USERCAT.PPCAT
>
> where
> IEC161I (072)
>
>   Specific information for this return code: The data set was empty, but the 
> ACB (access method control block) for the data set indicated that it was 
> being opened for input only.
>
> System action
>
>   OPEN processing ends for the data set. The error flag (ACBERFLG) in the ACB 
> (access method block) for the data set is set to 160 (X'A0').
>
>
> When opened by a COBOL program, you get file status 35 (An OPEN statement 
> with the INPUT, I-O, or EXTEND phrase was attempted on a non-optional file 
> that was unavailable.), unless you declare it as OPTIONAL, in which case you 
> get file status 05 (An OPEN statement was successfully executed, but the 
> referenced optional file was unavailable at the time the OPEN statement was 
> executed. The file had been created if the open mode was I-O or EXTEND.)
>
> Is this "feature" supposed to be helpful in some obscure edge case?  Or is it 
> simply always annoying?
>
> The OPTIONAL solution in COBOL is generally how we get around this issue, 
> rather than loading a dummy record or something.  But why?  Why, why, why 
> does this behavior even exist?
>
> Frank
>
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN



-- 
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to