IBM Support

II09070: DOC ERRORS COBOL FOR VSE PROGRAMMING GUIDE SC26-8072-00. THIS INFO APAR HAS BEEN SUPERSEDED BY II11292.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as canceled.

Error description

  • 568606800 18M R18M
    *** THIS INFO APAR HAS BEEN SUPERSEDED BY II11292 ***
    
    Update page 187.    See APAR PN47911
    
    In Part 2. "Coding Your Program", Chapter 12 "File Sorting and
    Merging", under heading "Coding Run-Time JCL for SORT", the
    paragraph describing the sort work files should read:
    
    Sort Work Files
    
       DLBL, EXTENT, and ASSIGN statements for SYSWK1, SYSWK2,
       SYSWK3, ..., SORTWKn (where n = 9 or less).
    
       You control the number of sort work files that SORT/MERGE II
       or DFSORT will use during the sort or merge operation by the
       number of sort work files you specify in your run-time JCL.
       You must specify the required DLBL information, either in
       your JCL or in standard labels, for each sort work file in
       the sequence SORTWK1 to SORTWKn, where 'n' is the number of
       sort work files to be used.  Sort/Merge II and DFSORT
       require sort work files to be numbered consecutively. For
       example, if you provide DLBLs for SORTWK1, SORTWK2, and
       SORTWK4, only the SORTWK1 and SORTWK2 will be used.
       If, at run time, you use the WORKNM sort option to change
       the first 4 characters of the sort work file names, you
       must still specify run-time JCL for the required sort work
       files in sequence.
    
    PART 2. "Coding Your Program" Chapter 3. Program Structure.
    Page 21 Input-Output Section.
    
    Add the following to Figure 10. Examples of FILE-CONTROL entries
    
    FILE-CONTROL Entry for a tape file:
    
    SELECT TAPE-FILE ASSIGN TO SYS006-TAPE1
    
    For a tape file, SYSnnn- is required.
    
    Page 22. Figure 11. The example of the SELECT clause is
    inaccurate.   It should read:
    
         SELECT CARPOOL
             ASSIGN TO OUTFILE
             ORGANIZATION IS SEQUENTIAL
             ACCESS IS SEQUENTIAL.
    
    (The period should be at the end of the ACCESS clause,
    not the ORGANIZATION clause.)
    
    Page 23, under Describe SAM Files, add the following:
    Example of JCL, FILE-CONTROL entry and FD-entry for a tape file
     -----------------------------------------------------------
     | JCL statements:                                         |
     |                                                         |
     | // TLBL OUTFIL,'OUTPUT.TAPE'   <-- (1)                  |
     | // ASSGN SYS006,580             <-- (2)                 |
     | .                                                       |
     | /&                                                      |
     |                                                         |
     | COBOL/VSE Program Code:                                 |
     |                                                         |
     |        SELECT TEST-FILE                  <-- (3)        |
     |        ASSIGN TO SYS006-OUTFIL           <-- (1), (2)   |
     |        ORGANIZATION IS SEQUENTIAL        <-- (4)        |
     |        ACCESS IS SEQUENTIAL.             <-- (5)        |
     | .                                                       |
     | .                                                       |
     |        FD TEST-FILE                      <-- (3)        |
     |        .                                                |
     |        .                                                |
     -----------------------------------------------------------
    
    (1)  The filename, OUTFIL, in the TLBL statement corresponds
         to the system-name in the ASSIGN clause.
    
    (2)  The programmer logical unit, SYS006, in the ASSGN JCL
         statement corresponds to the system-name in the ASSIGN
         clause.
    (3)  The file-name, TEST-FILE, in the SELECT clause corresponds
         to the file-name in the File Section of the Data Division.
    
    (4), (5) ORGANIZATION and ACCESS are sequential for a tape file.
         These are the default values for the ORGANIZATION and
         ACCESS MODE clauses.
    
    Page 166 - Replace the text under heading -
     'Opening an Empty File'  with the following
    
    To open a file that has never contained records (an empty file):
    
    *   Use OPEN OUTPUT for ESDS files.
    
    *   Use OPEN OUTPUT or OPEN EXTEND for KSDS and RRDS files.
        (Either coding has the same effect.)  If you have coded
        the file for random dynamic access, you can also use
        OPEN I-O if the file is optional.
    
    Optional files are files that are not necessarily present each
    time the program is run.  You can define files opened in INPUT,
    I-O, or OUTPUT mode as optional by defining them with the
    SELECT OPTIONAL phrase in the File-Control section of your
    program.
    

Local fix

  • PTF UQ04360 introduces a new compiler option, INTDATE.
    If you apply this PTF, make the following changes to the
    COBOL/VSE Programming Guide.
    Part 3, Compiling Your Program, Chapter 15, Compiler Options.,
    On page 255, after the description of FLAGSTD, add:
    INTDATE
    >>--INTDATE(-.-ANSI---.-)------------------------------><
                 '-LILIAN-'
    Default is:  INTDATE(ANSI)
    INTDATE(ANSI) instructs the compiler to use the ANSI
    COBOL Standard starting date for Integer date format
    dates used with date intrinsic functions.  Day 1 is Jan
    1, 1601.
    With INTDATE(ANSI), the date intrinsic functions will
    return the same results as in COBOL/VSE without PTF UQ04360.
    INTDATE(LILIAN) instructs the compiler to use the LE/VSE
    Lilian starting date for integer date format dates used
    with date intrinsic functions.  Day 1 = Oct 15, 1582.
    With INTDATE(LILIAN), the date intrinsic functions will
    return results compatible with the LE/VSE date callable
    services.  These results will be different than in
    COBOL/VSE without PTF UQ04360.
    NOTES:
    1.  When INTDATE(LILIAN) is in effect, CEECBLDY will not
        be useable since you will have no way to turn an ANSI
        integer into a meaningful date using either intrinsic
        functions or callable services.  If you code a CALL
        literal statement with CEECBLDY as the target of the
        call with INTDATE(LILIAN) in effect, the compiler
        will diagnose this and convert the call target to
        CEEDAYS.  (CEECBLDY is only available with LE/VSE
        Release 4).
    2.  If you set your installation option to
        INTDATE(LILIAN), you should recompile all of your
        COBOL/VSE programs that use Intrinsic Functions
        to ensure that all of your code will be using
        the LILIAN integer date standard.  This method is the
        safest because you can then store integer dates, pass
        them between programs, and even pass them from PL/I
        to COBOL or C programs without compatibility problems.
    .
    Chapter 14 Methods of Compilation.
    Page 224 Precedence of Compiler Options
    Add the following further explanation at the end of this
    section:
    In this context, in Level 1, options 'fixed by your
    installation' refers to options customized using the
    options module IGYCOPT and specified there as non-overridable.
    Level 5 refers to options customized using IGYCOPT but NOT
    specified there as non-overridable.
    Under Level 4: Those on JCL OPTIONS statement, refers to
    options specified on either // OPTION  statement, or
    STDOPT statement;  for example, XREF/SXREF
    The precedence list could be expanded here to include:
    Level 4a: Those on JCL OPTIONS statement
    Level 4b: Those on STDOPT JCL statement
    Values for options specified on a // OPTION statement
    temporarily override system defaults, and remain in effect
    for the duration of the current job, or until another // OPTION
    statement is read.  Options set by STDOPT apply across all
    partitions and remain in effect until changed by another
    invocation of STDOPT; however they can be temporarily
    overridden by // OPTION.
    (For more information about // OPTION and STDOPT, refer to
    VSE/ESA System Control Statements.)
    
    PQ04468 / UQ05847
    
    In Part 2, Chapter 12. Page 186.
    In the section:  "Premature Termination of a SORT or Merge
    Operation" In the second paragraph, the manual in which the
    DFSORT messages are contained has changed.
    
       ------------------------- start ----------------------------
       (DFSORT/VSE messages are listed in DFSORT/VSE Messages, Codes
       and Diagnosis Guide.)
       ------------------------- end ------------------------------
    
    In Part 2, Chapter 12. Page 190.
    In the section: "Passing Control Statements to DFSORT/VSE"
    The wording must be changed to encompass the SORT or MERGE
    control statements as follows:
    
       ------------------------- start ----------------------------
       The control statements you can include at run time (in the
       order listed) are:
    
          1.  SORT or MERGE (used to replace the SORT or MERGE
              statement generated by the compiler)
          2.  SMS=nnnnn were nnnnn is the length, in bytes, of the
              most frequent record size.  (Ignored if the SD is NOT
              variable).
          3.  OPTION (except FILNM=)
          4.  Other DFSORT/VSE control statements (ALTSEQ, ANALYZE,
              INCLUDE, INREC OMIT, OUTREC, or SUM)
       ------------------------- end ------------------------------
    
    In the paragraph "Format of the Control Statements" add:
    
       ------------------------- start ----------------------------
       No other syntax checking of the statement is performed.
       ------------------------- end ------------------------------
    
    Add a new paragraph after the paragraph "Specifying Control
    Statements Source" as follows:
    
       ------------------------- start ----------------------------
       Specifying SORT or MERGE control statements
    
         If a SORT statement is generated by the compiler and an
         attempt is made to override this with a MERGE statement
         from the SORT-CONTROL member, the overriding MERGE
         statement is ignored and no message is issued.
    
         If a MERGE statement is generated by the compiler and an
         attempt is made to override this with a SORT statement from
         the SORT-CONTROL member, the overriding SORT statement is
         ignored and no message is issued.
    
         The LE/VSE run time library appends parameters to the SORT
         statement depending on the COBOL/VSE SORT options
         requested.  These appends are:
    
             FILES= (determined by the number of sort work DLBLs
                    found)
             EQUALS (if DUPLICATES is coded in the COBOL/VSE SORT
                    statement)
             SIZE= (when SORT-FILE-SIZE is set (compatibility only))
    
         These appends will be made to the SORT statement supplied
         via the SORT-CONTROL member.  However if any of these
         parameters are coded on the supplied statement they take
         precedence.
    
         If you have multiple sorts in a single COBOL program the
         generated SORT statements can be overriden by using
         multiple SORT-CONTROL members and changing the value of
         SORT-CONTROL before each sort.  An alternative to multiple
         SORT-CONTROL members would be to set SORT-CONTROL to SYSIPT
         and use the following JCL setup:
    
             // EXEC SORTPGM
               SORT FIELDS= ... sort one override statements
             /*
               SORT FIELDS= ... sort two override statements
             /*
       ------------------------- end -------------------------------
    
    In Part 2, Chapter 12. Page 192.
    In the section: "SORT Special Registers"
    In the Figure "Sorting in COBOL/VSE" add a new entry as the
    third item (ie before the SORT-MODE-SIZE) as follows:
    
       ------------------------- start -----------------------------
       LH column
       ---------
       Year 2000 date formats on the SORT or MERGE statements.
    
       RH column
       ---------
       A SORT or MERGE statement can be specified to override the
       SORT or MERGE statement generated by the compiler.  These
       override statements can contain the DFSORT/VSE Year 2000 date
       format field descriptors.
       ------------------------- end -------------------------------
    Page 149, Section Writing Your file to a Printer or ..........
    After last sentence
     --------------start ------------------------------
    Segmenting Your Printer Files:
     If you use the VSE/POWER SEGMENT macro to segment your printer
    file, you should close the file before issuing the SEGMENT
    macro, and then reopen the file.
    This will ensure that all records written to the file are
    received by VSE/POWER before the file is segmented.
    If you do not close the file, not all records written may
    appear in the correct segment of the VSE/POWER output.
    --------------------------------------------------------
    for further information on the COBOL for VSE Programming
    Guide refer to the continuation APAR II11128
    --------------------------------------------------------
    ------------------------end---------------------------
    

Problem summary

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    II09070

  • Reported component name

    PA LIB INFO ITE

  • Reported component ID

    INFOPALIB

  • Reported release

    001

  • Status

    CLOSED CAN

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    1995-11-21

  • Closed date

    1996-01-04

  • Last modified date

    1998-08-07

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

Applicable component levels

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19N","label":"APARs - OS\/390 environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG32M","label":"APARs - VSE\/ESA environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSSN3L","label":"z\/OS Communications Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG27M","label":"APARs - z\/VM environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"LOB16","label":"Mainframe HW"}}]

Document Information

Modified date:
07 August 1998