IBM Support

II09590: CHANGES TO DB2 APPLICATION PROGRAMMING & SQL GUIDE SC26-3266-00 THAT DID NOT MAKE V4.1 GA PUBS. CONTINED IN II09144 & II10882.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as canceled.

Error description

  • 5740xyr00 DB2 R410 V4
    This APAR documents changes to the DB2 Application Programming
    & SQL Guide SC26326600 which did not make Version 4.1 GA pubs
    This APAR is a continued in II09144 & II10882.
    ================================================================
    Version 4 Book Title:  Application Programming and SQL Guide
    Pages:  3-67
    Change Description:
    Change the paragraph that begins with "Comments:" to this:
    
    Comments:  You can include COBOL comment lines
    (* in column 7) in SQL statements wherever you can use a
    blank, except between the keywords EXEC and SQL.  The
    precompiler also treats COBOL debugging and page eject lines
    (D or / in column 7) as comment lines.
    For an SQL INCLUDE statement, DB2 treats any text that
    follows the period after END-EXEC and is on the same line as
    END-EXEC as a comment.
    
    You can include SQL comments in any embedded
    SQL statement if specify the precompiler option STDSQL(YES).
    ============================================================
    Version 4 Book Title:  Application Programming and SQL Guide
    Pages: 3-77
    Change Description:
    
    Change the first sentence of the last paragraph on page 3-77
    from
    "For small integers that can exceed 9999, use S9(5)."
    to
    "For small integers that can exceed 9999, use S9(5) COMP."
    ============================================================
    Version 4 Book Title:  Application Programming and SQL Guide
    Pages:  3-92
    Change Description:
    
    In "Coding SQL Statements in a PL/I Application,"
    add this paragraph after the paragraph that begins with
    "Comments:":
    
    To include DBCS characters in comments, you must delimit
    the characters by a shift-out and shift-in control
    character; the first shift-in character in the DBCS string
    signals the end of the DBCS string.
    ============================================================
    Version 4 Book Title:  Application Programming and SQL Guide
    Pages:  4-12
    Change Description:
    
    Change the second sentence in the first paragraph on
    the page to this:
    
    Whether a plan or package is operative is recorded in
    column OPERATIVE of SYSPLAN and SYSPACKAGE.
    ============================================================
    Version 4 Book Title: Application Programming and SQL Guide
    Pages: 4-30
    Modify description of CURRENTDATA(YES) to include
    information about query parallelism:
    
      Locally, CURRENTDATA(YES) means that the data upon
      which the cursor is positioned cannot change while
      the cursor is positioned on it.  If the cursor is
      positioned on data in a local base table or index,
      then the data returned with the cursor is current
      with the contents of that table or index.  If the
      cursor is positioned on data in a work file, the
      data returned with the cursor is current only with
      the contents of the work file; it is not neces-
      sarily current with the contents of the underlying
      table or index.
    
    | Similarly, if the cursor uses query parallelism,
    | data is not necessarily current with the contents of
    | the table or index, regardless of whether a work
    | file is used.  Therefore, for work file access or
    | for parallelism on read-only queries, the CURRENTDATA
    | option has no effect.
    
    | If you are using parallelism but want to maintain
    | currency with the data,
    | you have the following options:
    
    | o   Disable parallelism (Use SET DEGREE = '1' or bind
    |     with DEGREE(1))
    
    | o   Use isolation RR or RS (parallelism can still
    |      be used)
    
    | o   Use the LOCK TABLE statement (parallelism can
    |     still be used)
    ============================================================
    Version 4 Book Title: Application Programming and SQL Guide
    Pages: 4-35
    
    Change Description:
    Clarify that locks that are maintained for cursors defined
    WITH HOLD are not data consistency locks.
    
      The Effect of WITH HOLD for a Cursor
    
    | For locks and claims needed for cursor position,
    | the rules described above differ as follows:
    
    | PAGE AND ROW LOCKS:  The page or row lock that is
    | necessary for cursor position is held past the commit
    | point.  However, an X or U page or row lock
    | is demoted to an S lock at that time.
    | (Because changes have been committed, exclusive control
    | is no longer needed.)  After the commit point, the lock
    | is released according to the isolation level at which it
    | was acquired:  for CS, when all cursors on the
      page are moved or closed; for  RR or RS, at the next
      commit point, provided that no cursor is still
      positioned on that page or row.
    ============================================================
    Version 4 Book Title: Application Programming and SQL Guide
    Pages: 4-41
    Change Description:
    
    Change the following paragraph:
    
    If an application abends and DB2 must back out changes
    automatically, you must not intercept the abend.  DB2
    monitors abends and backs out changes if an abend occurs.
    Some languages, like PL/I, can intercept abends and then
    terminate normally.  That appears to be a successful
    completion to DB2, committing all DB2 changes and allowing
    no backout to occur.
    
    to this:
    
    If your application intercepts abends, DB2 commits work
    because it is unaware that an abend has occurred.
    If you want DB2 to roll back work automatically when an
    abend occurs in your program, do not let the program or
    runtime environment intercept the abend.  For example,
    if your program uses Language Environment, and you want DB2
    to roll back work automatically when an abend
    occurs in the program, specify the runtime options
    ABTERMENC(ABEND) and TRAP(ON).
    ============================================================
    Version 4 Book Title:  Application Programming and SQL Guide
    Pages:  4-60
    Change Description:
    
    Under "How to Have Coordinated Updates," change
    "Restriction" to "Restrictions on Updates at Servers That
    Do Not Support Two-Phase Commit."
    
    Before "Recommendation," add these label boxes:
    
        +--- CICS AND IMS -------------------------------------+
        | You cannot update at servers that do not support     |
        | two-phase commit.                                    |
        +------------------------------------------------------+
    
        +--- TSO AND BATCH ------------------------------------+
        |                                                      |
        | You can update if and only if:                       |
        |                                                      |
        | 1.  No other connections exist, or                   |
        |                                                      |
        | 2.  All existing connections are to servers that are |
        |     restricted to read-only operations.              |
        |                                                      |
        | If these conditions are not met, then you are        |
        | restricted to read-only  operations.                 |
        |                                                      |
        | If the first connection in a logical unit of work    |
        | is to a server that supports two-phase commit,       |
        | and there are no existing connections or only        |
        | read-only connections, then that server and all      |
        | servers that support two-phase commit can update.    |
        | However, if the first connection is to a server      |
        | that does not support two-phase commit, only that    |
        | server can update.                                   |
        +------------------------------------------------------+
    ============================================================
    Version 4 Book Title:  Application Programming and SQL Guide
    Pages:  5-7
    Change Description:
    
    Under Step 1:  Precompile the Application, add this
    information:
    +---Attention-----------------------------------------+
    | The DB2 precompiler can prepare a source program of |
    | at most 8 MB.                                       |
    +-----------------------------------------------------+
    ============================================================
    Version 4 Book Title:  Application Programming and SQL Guide
    Pages:  5-7
    Change Description:
    
    Under Step 1:  Precompile the Application, add this
    information:
     +---Attention------------------------------------------+
     | The size of a source program that DB2 can precompile |
     | is limited by the region size and the virtual        |
     | memory available to the precompiler.  The maximum    |
     | region size and memory available to the precompiler  |
     | is usually around 8 MB, but it varies with each      |
     | system installation.                                 |
     +------------------------------------------------------+
    ============================================================
    Version 4 Book Title:  Application Programming and SQL Guide
    Pages:  5-12
    Change Description:
    
    In the description of the SQLFLAG precompiler option,
    delete this sentence from the description of value IBM:
    "This is the default."
    ============================================================
    Version 4 Book Title: Application Programming and SQL Guide
    Pages: 6-38 and 6-42
    Change Description:
    
    In Figure 62, An Example of SIMPLE Linkage in Assembler,
    and Figure 66, An Example of SIMPLE WITH NULLS Linkage in
    Assembler, change:
    CEEENTRY AUTO=PROGSIZE
    to
    CEEENTRY AUTO=PROGSIZE,MAIN=YES,PLIST=OS
    ============================================================
    Version 4 Book Title: Application Programming and SQL Guide
    Pages:  6-93
    Change Description:
     Add the following to the description of the QUERYNO column:
    
    FETCH statements do not each have an individual
    QUERYNO assigned to them.
    Instead, DB2 uses the QUERYNO of the DECLARE CURSOR
    statement for all corresponding FETCH
    statements for that cursor.
    ==============================================================
    Version 4 Book Title: Application Programming and SQL Guide
    Pages: 6-122
    Change Description:
     View materialization can happen in other cases. Change
     the paragraph on 6-122 as follows:
    
      When View Materialization Is Used
    
     In general, DB2 uses materialization to satisfy a view
     reference when there is aggregate processing
     (grouping, column functions, distinct), indicated by the
     defining subselect, in conjunction with either aggregate
     processing indicated by the view referencing statement,
     or the view participating in a join.
    #Table 38 indicates some cases in which materialization
    #occurs.  DB2 can also use view materialization in
    #statements that contain multiple outer joins,
    #or outer joins combined with inner joins. This can happen
    #even when the view definitions are not complex.
    ============================================================
    Version 4 Book Title:  Application Programming and SQL Guide
    Pages:  6-154, 6-169
    Change Description:
    
    On page 6-154, add this paragraph to the description of
    termecb:
    Before you check termecb in your CAF application program,
    first check the return code and reason code from the CONNECT
    call to ensure that the call completed successfully.
    See "Checking Return Codes and Reason Codes" on page 6-169
    for more information.
    On page 6-169, change the title "Checking Return Codes"
    to "Checking Return Codes and Reason Codes."
    ============================================================
    Version 4 Book Title:  Application Programming and SQL Guide
    Pages:  X-74 to X-77
    Change Description:
    
    Change all instances of
         SELECT SUBSTR('REBIND PACKAGE('|| COLLID ||'.'||
                NAME ||'.(*))',1,47)
         FROM SYSIBM.SYSPACKAGE
         WHERE VALID='N';
    to
         SELECT SUBSTR('REBIND PACKAGE('|| COLLID ||'.'||
                NAME ||'.(*))        ',1,55)
         FROM SYSIBM.SYSPACKAGE
         WHERE VALID='N';
    ============================================================
    This APAR is continued in II10882.
    

Local fix

Problem summary

Problem conclusion

Temporary fix

Comments

  • CLOSE FOR INTERNET VIEWING
    

APAR Information

  • APAR number

    II09590

  • Reported component name

    PB LIB INFO ITE

  • Reported component ID

    INFOPBLIB

  • Reported release

    001

  • Status

    CLOSED CAN

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    1996-07-15

  • Closed date

    1997-10-31

  • Last modified date

    1999-06-08

  • 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":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":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSEPEK","label":"Db2 for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"001","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
08 June 1999