PM83026: New functionality can be provided in the z/TPFDF C APIs in the following areas: T-type LRECs and key lists.
Closed as program error.
See 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.
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
Reported component name
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
Fixed component ID
Applicable component levels