PM83026: New functionality can be provided in the z/TPFDF C APIs in the following areas: T-type LRECs and key lists.

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

APAR status

  • Closed as program error.

Error description

  • See Problem Summary.
    

Local fix

  • na
    

Problem summary

  • APAR NUMBER:  PM83026
    PRODUCT:  z/TPFDF
    FUNCTIONAL AREA:  TPFDF C SUPPORT
    SHIPPED IN PUT:
    ABSTRACT:
    New functionality can be provided in the z/TPFDF C APIs in the
    following areas: T-type LRECs and key lists.
    PACKAGE CONTENTS:
    Source Segments:
    (C) tpfdf/include/c_cdfeq.h
    (C) tpfdf/include/c_cdfmac.h
    (C) tpfdf/macro/sw00sr.mac
    (C) tpfdf/rt/ubc0.asm
    (C) tpfdf/rt/ufga.asm
    (C) tpfdf/rt/ufgh.asm
    (C) tpfdf/rt/ufgj.asm
    (C) tpfdf/rt/ufgn.asm
    (C) tpfdf/rt/ufgo.asm
    (C) tpfdf/rt/ufgr.asm
    (C) tpfdf/rt/ufgw.asm
    Object Only Binaries:
    None.
    Configuration Independent Binaries:
    (C) base/stdlib/libCTDF.so
    (C) base/stdload/CTDF.so
    (C) tpfdf/obj/ufga.o
    (C) tpfdf/obj/ufgh.o
    (C) tpfdf/obj/ufgj.o
    (C) tpfdf/obj/ufgn.o
    (C) tpfdf/obj/ufgo.o
    (C) tpfdf/obj/ufgr.o
    (C) tpfdf/obj/ufgw.o
    Support Files:
    tpfdf/lst/CTDF.map
    tpfdf/lst/ufga.lst
    tpfdf/lst/ufgh.lst
    tpfdf/lst/ufgj.lst
    tpfdf/lst/ufgn.lst
    tpfdf/lst/ufgo.lst
    tpfdf/lst/ufgr.lst
    tpfdf/lst/ufgw.lst
    OTHER BINARIES TO BUILD: YES
    (C) <sys>/lib/libUTDF.so
    (C) <sys>/load/UTDF.so
    (C) <sys>/obj/ubc0.o
    (C) os390/bin/ppcp.pds
    (C) os390/obj/stpp.o
    COMMENTS:
    1.z/TPFDF assembler applications can add, read, and delete
    T-type LRECs without directly manipulating the underlying
    W-type (work) file. However, corresponding APIs are not
    available for use by C/C++ applications. Providing APIs to work
    directly with t-type files in C/C++ applications would provide
    the following benefits:
    - Applications would not need to manage the underlying W-type
    files. In particular, that means that separate database
    definitions (DBDEFs) would not be needed, and applications
    would not need to independently open and close the underlying
    W-type file or manage references to the SW00SR.
    - Applications written in both assembler and C/C++ that need to
    access the same working storage can more easily co-exist.
    - By using t-type support in C/C++, applications don't need to
    manage the allocation and de-allocation of temporary work
    storage.
    2. A C/C++ application can set up a key list with a search
    argument value in a variable and then call dfkey() to
    "activate" the key list. This process stores the address of the
    search argument value in the SW00SR. The benefit to this
    approach is that the contents of the variable can be altered
    and will be automatically referenced on subsequent z/TPFDF API
    calls without requiring dfkey() to be repeatedly called.
    However, if the search argument variable falls out of scope
    (for example, it is released or is used outside of the function
    where it is defined), a subsequent z/TPFDF API call will
    potentially encounter addressability issues when it attempts to
    access the variable. The key list facility could be enhanced to
    optionally save the actual search argument values instead of
    saving a reference to the search argument variable. This would
    allow applications to continue to use key search argument
    values without needing to be concerned with where the search
    argument variable was defined.
    

Problem conclusion

  • SOLUTION:
    1. Segments c_cdfeq.h, c_cdfmac.h, ufga.asm, ufgh.asm, and
    ufgr.asm were updated to provide three new C/C++ APIs:
    dfadd_ttype(), dfdel_ttype() and dfred_ttype().
    2. Segments c_cdfmac.h, sw00sr.mac, ubc0.asm, ufga.asm,
    ufgh.asm, ufgj.asm, ufgn.asm, ufgo.asm, ufgr.asm, and ufgw.asm
    were updated to provide two new C/C++ APIs: dfkey_save() and
    dfkey_nbr_save(). These new C/C++ APIs save the key search
    argument values instead of the address of the key search
    argument variables in the SW00SR.
    COREQS: NO
    None.
    MIGRATION CONSIDERATIONS: YES
    Application programming interface (API) changes:
    Five new APIs have been introduced:
    - dfadd_ttype
    - dfdel_ttype
    - dfred_ttype
    - dfkey_save
    - dfkey_nbr_save
    BUILD COMMANDS AND INSTRUCTIONS: YES
    #maketpf commands for linux
    maketpf -f CTDF ufga.o ufgh.o ufgj.o ufgn.o ufgo.o ufgr.o ufgw.o
    maketpf -f UTDF ubc0.o
    maketpf CTDF link TPF_VERIFY_LINK_REFS=NO
    maketpf UTDF link
    maketpf CTDF link
    #maketpf commands for z/OS
    maketpf -f ppcp stpp.o
    maketpf ppcp link
    UPDATED INFORMATION UNITS: YES
    z/TPF and z/TPFDF Migration Guide: PUT 2 and Later
    z/TPFDF Database Administration
    z/TPFDF Programming Concepts and Reference
    See your IBM representative if you need additional information.
    DOWNLOAD INSTRUCTIONS:
    http://www.ibm.com/software/htp/tpf/maint/maintztpf.html
    APAR URL:
    http://www.ibm.com/software/htp/tpf/ztpfmaint/put/PM83026.htm
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM83026

  • Reported component name

    ZTPFDF

  • Reported component ID

    5748F1501

  • Reported release

    110

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-02-18

  • Closed date

    2013-04-19

  • Last modified date

    2013-10-01

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

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

Publications Referenced
SK2T8062        

Fix information

  • Fixed component name

    ZTPFDF

  • Fixed component ID

    5748F1501

Applicable component levels

  • R110 PSY

       UP



Rate this page:

(0 users)Average rating

Document information


More support for:

TPF
z/TPF

Software version:

110

Reference #:

PM83026

Modified date:

2013-10-01

Translate my page

Machine Translation

Content navigation