IBM.
Skip to main content
    United States [change]      Terms of use
 
 
   
     Home      Products      Services & solutions      Support & downloads      My account     
     
  TPF : Support : Maintenance : TPFDF
SUBJECT:         APAR  NUMBER: PK03317
 
REFERENCE:  AREA:     TPFDF CENTRAL DATABASE ROUTINES
            SEGMENT:  C$CDFEQ13  - RELEASE:  TPFDF (C-Header)
            SEGMENT:  CDFEQ13    - RELEASE:  TPFDF (Macro)
            SEGMENT:  DBDEF13    - RELEASE:  TPFDF (Macro)
            SEGMENT:  DBDEL13    - RELEASE:  TPFDF (Macro)
            SEGMENT:  SW00SR13   - RELEASE:  TPFDF (Macro)
            SEGMENT:  SW02SR13   - RELEASE:  TPFDF (Macro)
            SEGMENT:  TPFDB13    - RELEASE:  TPFDF (Macro)
            SEGMENT:  UFBW13     - RELEASE:  TPFDF (Assembler)
            SEGMENT:  UFCN13     - RELEASE:  TPFDF (Assembler)
            SEGMENT:  UFGHSO13   - RELEASE:  TPFDF (Copy)
            SEGMENT:  UWAG13     - RELEASE:  TPFDF (Assembler)
            SEGMENT:  UWBB13     - RELEASE:  TPFDF (Assembler)
            SEGMENT:  UWBE13     - RELEASE:  TPFDF (Assembler)
            SEGMENT:  UWBO13     - RELEASE:  TPFDF (Assembler)
            SEGMENT:  UWB013     - RELEASE:  TPFDF (Assembler)
 
 
Pre-requisite APARs are (TPF only) :
FOR SEGMENT C$CDFEQ13  (C-Header)  - REL TPFDF
      PN57135 PN61834 PN74617 PN83423 PN91920 PN91521 PQ08645
 PQ25825  PQ28550  PQ32209  PQ32210  PQ47099  PQ60326  PQ65155  
 PQ74483  PQ75887  PQ79120  
FOR SEGMENT CDFEQ13    (Macro)     - REL TPFDF
      PN57135 PN83423 PQ10088 PQ25825 PQ32210 PQ49042 PQ60326
 PQ65155  PQ74483  PQ79120  
FOR SEGMENT DBDEF13    (Macro)     - REL TPFDF
      PN05393 PN35104 PN38092 PN45919 PN53446 PN57526 PN61834
      PN62563 PN64313 PN71161 PN73989 PN78104 PN78908 PN87893
      PN88662 PQ10797 PQ10084 PQ18690 PQ23091 PQ32209 PQ37827
 PQ42097  PQ32210  PQ56724  PQ66921  PQ51955  PQ81077  PQ82656  
 PQ94935  PQ95818  PQ80726  PK09343  
FOR SEGMENT DBDEL13    (Macro)     - REL TPFDF
 PQ74483  
FOR SEGMENT SW00SR13   (Macro)     - REL TPFDF
      AN31299 PN05393 PN37569 PN38613 PN43714 PN46560 PN57526
      PN61834 PN64313 PN71161 PN71348 PN73989 PN77016 PN76852
      PN80488 PN83423 PN84757 PN87917 PN92097 PQ00790 PQ02145
 PQ04911  PQ05189  PQ07995  PQ10797  
 PQ10084  PQ15475  PQ16897  
 PQ21506  PQ24625  PQ23091  PQ25824  
 PQ25825  PQ32209  PQ36911  
 PQ37963  PQ32210  PQ50275  PQ48551  PQ55601  PQ64252  PQ51955  
 PQ74483  PQ75887  PQ79066  PQ80141  PQ90430  PQ94935  PQ95818  
 PQ96246  PK02541  PK03608  PK06268  
FOR SEGMENT SW02SR13   (Macro)     - REL TPFDF
      PN05393 PN39344 PN49536 PN57526 PN61834 PN64313 PN67252
      PN71161 PN73989 PN78104 PN78908 PN92097 PQ05189 PQ10797
 PQ10084  PQ23091  PQ26888  PQ32209  
 PQ42097  PQ32210  PQ74483  
 PQ94935  PK02541  
FOR SEGMENT TPFDB13    (Macro)     - REL TPFDF
      PN30016 PN40034 PN41095 PN43714 PN55118 PN61834 PN64719
      PN72208 PN73989 PN83423 PN86337 PN87893 PN89980 PQ06194
 PQ13787  PQ27195  PQ25824  PQ25825  
 PQ32209  PQ36156  PQ32210  
 PQ47099  PQ60326  PQ60572  PQ61932  PQ51955  PQ74483  PQ75887  
 PQ79120  PQ96246  PK03608  PK07224  
FOR SEGMENT UFBW13     (Assembler) - REL TPFDF
      PN73989 PN76765 PQ08078 PQ23091 PQ51339 PQ94935 PK02541
FOR SEGMENT UFCN13     (Assembler) - REL TPFDF
 PQ94935  
FOR SEGMENT UFGHSO13   (Copy)      - REL TPFDF
      PN84867 PN86534 PQ00810 PQ25825 PQ32210 PQ55170 PQ73330
 PQ74483  
FOR SEGMENT UWAG13     (Assembler) - REL TPFDF
 PQ32210  PQ46459  PQ50275  PQ48551  PQ52356  PQ51955  PQ74483  
 PQ75887  PQ80141  
FOR SEGMENT UWBB13     (Assembler) - REL TPFDF
 PQ32210  PQ51955  PQ74483  PQ75887  PQ94935  PQ96246  
FOR SEGMENT UWBE13     (Assembler) - REL TPFDF
 PQ32210  PQ42198  PQ49738  PQ61837  PQ51955  PQ74483  PQ75887  
 PQ80141  PQ94935  PQ96246  PK05540  
FOR SEGMENT UWBO13     (Assembler) - REL TPFDF
 PQ46459  PQ96246  
FOR SEGMENT UWB013     (Assembler) - REL TPFDF
 PQ32210  PQ51955  PQ74483  PQ75887  PQ80141  PQ94935  PK08478  
To be applied in the order listed for each segment.
 

ABSTRACT OF PROBLEM
___________________
With  APAR PQ50275 applied, TPFDF may incorrectly report whether
or not a subfile is empty.

COMMENTS ON PROBLEM
___________________
PQ50275 introduced the setting  of  SW00RT2  #BIT5  to  indicate
whether  or  not a subfile is empty after deleting LRECs.  TPFDF
checks to see if the prime block is empty  and  has  no  forward
chains.   If this condition is true, SW00RT2 #BIT5 is turned on.
However, if the prime block has overflow chains, it is  possible
that  none of the overflow blocks contain any LRECs and that the
subfile is empty.  This condition is not checked, and  thus  the
subfile may be empty even though SW00RT2 #BIT5 does not indicate
so.
 
Additionally,  segment  UWBE is close to the 4K assembled length
limit.
 

SOLUTION
________
New parameters and C/C++ API options have been  introduced  with
this APAR:
 
-  The  DBDEF  and  DBDEL macros have been updated to include an
EMPTYCHECK parameter.
 
- Segments CDFEQ,  c$cdfeq  and  UFGHSO  have  been  updated  to
include  the DFDEL_EMPTYCHECK and DFDEL_NOEMPTYCHECK options for
the dfdel C/C++ API.
 
The DBDEL EMPTYCHECK parameter or dfdel()  DFDEL_EMPTYCHECK  and
DFDEL_NOEMPTYCHECK  options  will  override the DBDEF EMPTYCHECK
parameter.
 
Segments SW00SR and SW02SR have been updated so OP4  #BIT3  will
now    indicate    whether   a   EMPTYCHECK=YES   parameter   or
DFDEL_EMPTYCHECK option has been specified.
 
Segment UWAG has been updated to check if  OP4  #BIT3  has  been
set.  If  OP4  #BIT3  is  set, then delete processing will check
whether or not the prime block and all the chains are empty.  If
the subfile is empty, SW00RT2 #BIT5 will now be correctly set to
indicate that the subfile is empty.
 
Segment  UFCN  has  been  updated  to reflect the setting of OP4
#BIT3 for the ZUDFM DEF file/OPT entry.  Segment UFBW  has  been
updated for another ZUDFM entry.
 
 
 
                                                                            1
 
 
 
 
 
 
 
 
 
Case  2 of segment UWBE has been moved to UWBO to allow room for
future development and  maintenance.    Segment  UWBB  has  been
updated to call UWBO instead of UWBE.
 
A SIDCODE was updated in segment UWB0.
 

DEPENDENCIES
____________
 
Related Segments Affected By This APAR.
_______________________________________
 
Segments to be assembled or compiled:
 
o   On ALCS: UFGH
 
o   On TPF : UFGHIC
 
Segments to be link edited:
 
o   On ALCS: TPFDFC3
 
o   On TPF : CTDF
 
Load Modules to be loaded:
 
o   On ALCS: TPFDFC3
 
o   On TPF : CTDF
 
Migration Considerations
========================
DBDEF macro options:
EMPTYCHECK
  specifies one of the following:
    NO
      does not check the subfile to see if it is empty.
    YES
      checks the subfile to see if it is empty.
Note: The DBDEL EMPTYCHECK parameter or dfdel() DFDEL_EMPTYCHECK and
DFDEL_NOEMPTYCHECK options will override the DBDEF EMPTYCHECK parameter.
 
DBDEL macro options:
EMPTYCHECK
  is an override parameter of the DBDEF macro that specifies one of the
  following:
    NO
      does not check the subfile to see if it is empty.
    YES
      checks the subfile to see if it is empty.
 
dfdel function options:
DFDEL_EMPTYCHECK
  checks the subfile to see if it is empty.
DFDEL_NOEMPTYCHECK
  does not check the subfile to see if it is empty.
-- END APAR PK03317
 
 
 

Click on Link(s) to Download File(s)


Download file(s): Login once to access server, leave window open, then click on link(s) below.
ALCS Package Package Source
 

    About IBM Privacy Contact