IBM Support

PH65455: SUPPORT FOR QMF FOR TSO REXX EXTENSIONS COMMANDS

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • Support for QMF for TSO REXX extensions commands
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All QMF for TSO/CICS V13.1 users.            *
    ****************************************************************
    This APAR provides new function to QMF for TSO/CICS V13.1.
    
    With this PTF and along with the PTFs for PH65306 and PH65457,
    QMF introduces a new suite of commands collectively
    called QMF REXX Extensions.
    
    Simply put, QMF REXX Extensions are a suite of new commands
    that can be invoked by REXX to give users direct access to some
    of the internal QMF core processors that we all use
    interactively in QMF. By 'internal QMF core processors'
    we mean the processors that perform such everyday tasks such as:
    
    -Running queries against a DB2 database.
    -Listing objects and their attributes from the QMF catalog.
    -Reading and saving character-formatted QMF objects (QMF Queries
     and procedures).
    -Displaying charts
    -Manipulating QMF folders
    
    REXX Extension commands are designed to allow you to easily
    create sophisticated automated tasks that feed the output of
    these QMF processors into one another in a multitude of
    combinations.
    
    REXX Extensions commands can be used in QMF procedures with
    logic (REXX-based procedures) or, (perhaps more usefully),
    in any other REXX exec, either stand-alone or forming a part
    of an ISPF application, that starts after QMF is running. The
    new commands can also be used in conjunction with existing
    QMF commands.
    
    Probably the most important thing to understand here is that you
    can now create execs that can automate the input, and take
    action based on the output, of the three most important QMF core
    processors. These are the RUN, LIST and GET/SAVE processors. The
    commands that invoke them are broadly similar to the existing
    QMF interactive commands but with some added features and
    differences. The following example scenarios show how these can
    be chained together to accomplish various automated tasks:
    
    -You could list query objects using variable criteria,
    examine the output and where a match is found retrieve the
    query data, update it and then save it back into the database.
    -You could list a user's QMF objects and based on some
    attribute, assign them to folders of your choice. Alternatively,
    objects already in a specified folder could be erased or renamed
    -The SQL from a QMF query could be read, updated if necessary,
    and then run. The output data can then be examined and subjected
    to analysis that might not be possible using SQL alone. Certain
    data values may indicate that other queries may need to be run
    and so on.
    -Any SQL could be created dynamically within the exec based on
    input parameters and then run, without using a cataloged query
    at all. If found to be successful, the data could then be saved
    to a dataset and the SQL saved into the QMF catalog as a new
    query.
    
    The new REXX Extensions commands use parameters in a
    keyword=keyvalue format in a similar way to existing QMF
    commands. However, sometimes input data is too large to be
    passed in this way and so a specific REXX variable is used as
    input. REXX variables and REXX stem variables are always used
    as output from the commands.
    
    However, both the LIST and RUN processors return results sets
    that are saved in storage in tabular form. In this case, table
    rows are fetched into REXX stem variables in a similar manner
    to the DB2/REXX interface DSNREXX. Like DSNREXX, the stems are
    created to make it easy to iterate through columns and rows
    within the results set. By default, this is done sequentially
    but random-access can also be used.
    
    The following list gives a brief summary of the function of each
    command. (For full information, syntax and examples please refer
    to the IBM QMF documentation.)
    
    RUN LIST
    Invokes the QMF LIST processor using object list criteria and
    returns a results set in storage. This results set can be
    accessed one row at a time using the FETCH command. Output
    includes a row count, all object attributes and folder data
    (the latter only if FETCH is called with FOLDER=YES).
    
    RUN SQL
    Invokes the QMF RUN processor using SQL and returns a result set
    in storage. This results set can be accessed one row at a time
    using the FETCH command. Output includes a row and column count
    and all column names, data types and data in character format.
    
    FETCH
    Accesses a table row from the current results set in storage and
    returns data in stem variables depending on whether RUN LIST or
    RUN SQL has run. By default, fetch access is sequential but can
    also be random.
    
    GET QUERY/PROC
    Reads the QMF query or procedure data from the database using
    the QMF catalog and places it in an output REXX variable. Other
    object attributes are also returned in REXX variables.
    
    SET QUERY/PROC
    Saves QMF query or procedure data from a REXX variable into the
    database using the QMF catalog. The object share option, and an
    associated comment can also be updated at the same time.
    
    ADD
    Adds a QMF object entry to a named folder or by default to the
    folder named in the QMF Current Folder global variable. If the
    folder does not exist it is created.
    
    DELETE
    Deletes a named object entry from a named folder or by default
    to the folder named in the QMF Current Folder global variable.
    The folder can optionally be deleted if no more entries exist
    within it.
    
    GET COLUMNS
    Returns the column definitions of a DB2 table in stem variables.
    
    CHECK
    Returns the database status and type of any named object in the
    DB2 database.
    
    DISPLAY CHART
    Displays an immediate chart of a number of types using the
    column names and parameters suppied. The data may be taken from
    the results set created by a previous RUN SQL command or,
    alternatively, from data in the QMF temporary storage area. Note
    that charting in QMF does require the GDDM-PGF product.
    
    QMF REXX extensions requires creation of a new view,
    Q.DSQ_RESERVED_FLD. After applying the corequisite PTF for
    PH65457, be sure the job QMF1310.SDSQSAPE(DSQ1BVW) was run
    and the view exists.
    
    To verify that the foundation modules from corequisite PTF for
    PH65306 exist, enter the SHOW SERVICE.DSQQRXI and make sure
    the module is found.
    

Problem conclusion

Temporary fix

Comments

  • For full support of REXX extensions commands, the PTFs for APARs
    PH65455 (this APAR), PH65306 and PH65457 must be applied.
    

APAR Information

  • APAR number

    PH65455

  • Reported component name

    QMF-QUERY MGMT

  • Reported component ID

    566872101

  • Reported release

    D10

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    YesSpecatt / New Function / Xsystem

  • Submitted date

    2025-02-27

  • Closed date

    2025-07-03

  • Last modified date

    2025-08-02

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

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

    UO03945

Modules/Macros

  • DSQCDBUG DSQCDELI DSQCELTT DSQCEQRX DSQCGCOL DSQCGVSI DSQCIX
    DSQCLEX  DSQCMSGH DSQCQOGV DSQCRBTI DSQCRSNC DSQCSETS DSQCSSEL
    DSQCTOGV DSQDCHCK DSQDDISP DSQDERAS DSQDGETV DSQDGSET DSQDICMP
    DSQDLCMD DSQDLIST DSQDLSQM DSQDRNAM DSQDRUN  DSQDSAVE DSQDSET
    DSQDSHOS DSQIFSQL DSQPNLE
    

Fix information

  • Fixed component name

    QMF-QUERY MGMT

  • Fixed component ID

    566872101

Applicable component levels

  • RD10 PSY UO03945

       UP25/07/30 P F507  

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS9UMF","label":"DB2 Query Management Facility"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"D10","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
02 August 2025