IBM Support

PH67801: NEGATIVE VALUE DISPLAYED FOR EXPIRE DATE/DAYS IN ZOSMF STORAGE MANAGEMENT PLUGIN

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

  • Negative value displayed for Expire Date/Days in zOSMF Storage
    management plugin when the value set in the Management class is
    higher than 32768; similar issue in Data class 'Retention
    absolute day of the year' which was causing negative value to
    be displayed in UI beyond 32768.
    
    KNOWN IMPACT:
    The only impact is incorrect display in the Storage management
    plugin. The system works correctly under the covers and
    displaying the same value from ISMF works correctly.
    

Local fix

  • BYPASS/CIRCUMVENTION:
    Use ISMF to see the correct value
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All user of Storage management plugin GUI    *
    *                 and users of Storage management REST APIs in *
    *                 3.2.                                         *
    ****************************************************************
    * PROBLEM DESCRIPTION: Negative value displayed for Expire     *
    *                      Date/Days in zOSMF Storage              *
    *                      management plugin when the value set    *
    *                      in the Management class is              *
    *                      higher than 32768; similar issue in     *
    *                      Data class 'Retention                   *
    *                      absolute day of the year' which was     *
    *                      causing negative value to               *
    *                      be displayed in UI beyond 32768.        *
    *                                                              *
    *                      KNOWN IMPACT:                           *
    *                      The only impact is incorrect display    *
    *                      in the Storage management               *
    *                      plugin. The system works correctly      *
    *                      under the covers and displaying the     *
    *                      same value from ISMF works correctly.   *
    ****************************************************************
    

Problem conclusion

  • The system incorrectly handled "Expiry date/days" fields,
    causing data overflow and misinterpretation when retention
    period values exceeded the capacity of 2-byte storage, despite
    the valid range extending to 93,000 days.
    
    Solution Architecture
    
    1. Context-Aware Data Type Management
    - Implemented dynamic data type selection based on SMS-returned
    format indicators
    - Upgraded from 2-byte to 4-byte integer storage to accommodate
    full value range
    - Format interpretation distinguishes between date-based and
    day-count representations
    - 32-bit Value Extraction: Conditionally extracts different bit
    segments from the 32-bit integer:
    - Date mode: Splits into separate 8-bit and 16-bit components
    for year and day-of-year
    - Day-count mode: Extracts equal-sized bit segments
    (24-bit value) for total days
    - Bit selection driven by format flags to ensure correct
    interpretation
    
    2. NOLIMIT Case Handling
    - Corrected flag-based detection logic for unlimited retention
    scenarios
    - Introduced internal tracking mechanism using existing API
    field
    - Propagates NOLIMIT status consistently across API responses
    and UI display to existing 'Format used for retention' field
    Requires CDD and Swagger documentation updates
    
    3. Flag-Based Validation Framework
    - Hierarchical validation approach checking presence, special
    cases, and format type
    - Date format: Validates year and day-of-year components
    extracted from different bit positions
    - Day-count format: Applies bit masking to extract lower 24
    bits, validates range [0, 93,000]
    - Graceful degradation: Logs errors without failing API calls
    for problematic entries
    
    4. UI Layer Adaptations
    - Converted numeric fields to string type for flexible value
    representation
    - Updated filter mechanisms to handle string-based comparisons
    - Supports display of both numeric values and special indicators
    (e.g., NOLIMIT)
    
    5. Multi-Layer Technical Implementation
    - C Layer: Reads full 32-bit values from SMS, applies flag-based
     conditional processing with selective bit extraction
    - JNI Boundary: Updated field signatures and transfer methods
    for 32-bit integers
    - Java Layer: Modified field types and accessor methods to
    handle extended range
    - Bit-Level Processing: Conditional extraction of 8-16 bit
    segments (date mode) or equal 24-bit segments (day-count mode)
    from 32-bit source
    
    6. Documentation Requirements
    - Component Design Document updates for field specifications
    - API documentation (Swagger) schema changes
    - Programming guide updates for validation logic
    - User-facing help documentation revisions
    
    7. Key Outcomes
    - Eliminates overflow errors for large retention periods
    - Ensures correct interpretation through conditional bit
    extraction
    - Maintains type safety with appropriate data structures
    - Implements non-disruptive error handling
    - Achieves consistency across system layers (C/JNI/Java/UI)
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH67801

  • Reported component name

    Z/OSMF DFSMS ST

  • Reported component ID

    5655S28SG

  • Reported release

    320

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2025-08-19

  • Closed date

    2026-05-12

  • Last modified date

    2026-05-12

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

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

    UO07781

Modules/Macros

  • IZUSGBIN IZUSGEAR IZUSGHLP IZUSGJ64 IZUSGUTL
    

Fix information

  • Fixed component name

    Z/OSMF DFSMS ST

  • Fixed component ID

    5655S28SG

Applicable component levels

[{"Business Unit":{"code":"BU011","label":"Systems - zSystems software"},"Product":{"code":"SG19O"},"Platform":[{"code":"PF054","label":"z Systems"}],"Version":"320"}]

Document Information

Modified date:
12 May 2026