IBM Support

IT17829: ABEND EVALUATING FLOW OR NODE LEVEL PROPERTIES IN ESQL NODE WITHCONDITION HANDLER OR DYNAMIC DATABASE STATEMENTS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • An abend may be seen in an ESQL node when it tries to evaluate
    a flow or node level property, eg SQL.MessageFlowLabel when
    run inside a condition hander or as part of a database
    select/insert/update/delete statement.
    For the condition handler the ESQL function/module which
    contains the condition handler must be referenced by more than 1
    ESQL node.
    For example the following ESQL could lead to the abends:
    
    CREATE COMPUTE MODULE module2
      CREATE FUNCTION Main() RETURNS BOOLEAN
      BEGIN
       DECLARE CONTINUE HANDLER FOR SQLSTATE LIKE'%'
       BEGIN
        SET OutputRoot.XMLNSC.Test.label = SQL.MessageFlowLabel;
       END;
    
       THROW USER EXCEPTION MESSAGE 2951 VALUES('An exception.');
      END
    END MODULE;
    
    For the database statements then the statement must reference a
    dynamic database name/schema.
    For example the following ESQL could lead to the abends:
    
    CREATE COMPUTE MODULE computeModule
      CREATE FUNCTION Main() RETURNS BOOLEAN
      BEGIN
       UPDATE Database.{DataSource}.MYDSN.bob.TABLE AS T
         SET COLUMN1 = 'TEST'
         WHERE T.COLUMN2 = SQL.ApplicationLabel;
      END;
    END MODULE;
    
    CREATE COMPUTE MODULE computeModule
      CREATE FUNCTION Main() RETURNS BOOLEAN
      BEGIN
       SET OutputRoot.XMLNSC.TEST] = SELECT
        P.COLUMN1 FROM Database.{DataSource}.TABLE AS P;
      END;
    END MODULE;
    
    The abend stacks will show SqlFieldReference::constantValue or
    SqlFieldReference::evaluate at or near the top.
    For example:
    
    SqlFieldReference::constantValue(SqlInterface const&)
    SqlFieldReference::evaluate(SqlEvalEnviron&, ImbValue&)
    SqlExternalDbStmt::executeStatement(SqlEvalEnviron&,
    SqlUpdateStatement::execute(SqlStatementResult&)
    SqlRuntimeStatementDatabase::execute(SqlStatementResult&)
    SqlStatementGroup::execute(SqlStatementResult&)
    SqlCompoundStmt::execute(SqlStatementResult&)
    SqlRoutine::execute(SqlStatementResult&)
    SqlModule::execute(SqlStatementResult&)
    SqlComputeInterface::evaluate(ImbMessageAssembly const&,
    ImbESQLComputeSession::evaluate(ImbMessageAssembly const&,
    ImbComputeNode::evaluate(ImbMessageAssembly const&,
    
    or
    
    SqlFieldReference::constantValue(SqlInterface const&)
    SqlFieldReference::evaluate(SqlEvalEnviron&, ImbValue&)
    SqlRoutine::setupChildEnv(SqlEvalEnviron&,
    SqlRoutine::invoke(SqlStatementResult&,
    SqlCallableFunctionFnCall::evaluate(SqlResult&)
    SqlExpressionNode::evaluate(SqlEvalEnviron&, ImbValue&)
    SqlAssignment::assignToVariable(SqlEvalEnviron&)
    SqlAssignment::execute(SqlStatementResult&)
    SqlStatementGroup::execute(SqlStatementResult&)
    SqlCompoundStmt::execute(SqlStatementResult&)
    SqlConditionHandler::execute(SqlStatementResult&,
    SqlStatementGroup::handleException(SqlStatementResult&,
    SqlStatementGroup::execute(SqlStatementResult&)
    SqlCompoundStmt::execute(SqlStatementResult&)
    SqlRoutine::execute(SqlStatementResult&)
    SqlModule::execute(SqlStatementResult&)
    SqlComputeInterface::evaluate(ImbMessageAssembly const&,
    ImbESQLComputeSession::evaluate(ImbMessageAssembly const&,
    ImbComputeNode::evaluate(ImbMessageAssembly const&,
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    All users of IBM Integration Bus V10.0.0.1 and above, V9.0.0.4
    and above, and WebSphere Message Broker V8.0.0.7 and above, who
    use ESQL condition handlers or database statements.
    
    
    Platforms affected:
    z/OS, MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    An abend may be seen in an ESQL node when it tries to evaluate
    a flow or node level property, eg SQL.MessageFlowLabel when
    run inside a condition hander or as part of a database
    select/insert/update/delete statement.
    For the condition handler the ESQL function/module which
    contains the condition handler must be referenced by more than 1
    ESQL node.
    
    
    There are a number of resource name changes between WebSphere
    Message Broker and IBM Integration Bus Version 9.0.  For details
    visit
    http://pic.dhe.ibm.com/infocenter/wmbhelp/v9r0m0/topic/com.ibm.e
    tools.mft.doc/bb23814_.htm
    

Problem conclusion

  • The product now correctly resolves ESQL condition handlers and
    database statements which reference flow or node level
    properties when they are used for more than 1 ESQL node.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v10.0      10.0.0.9
    v8.0       8.0.0.9
    v9.0       9.0.0.8
    
    The latest available maintenance can be obtained from:
    http://www-01.ibm.com/support/docview.wss?rs=849&uid=swg27006041
    
    If the maintenance level is not yet available,information on
    its planned availability can be found on:
    http://www-1.ibm.com/support/docview.wss?rs=849&uid=swg27006308
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    IT17829

  • Reported component name

    WEB MESSAGE BRO

  • Reported component ID

    5724J0520

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-11-07

  • Closed date

    2017-05-25

  • Last modified date

    2017-05-25

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

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

Fix information

  • Fixed component name

    WEB MESSAGE BRO

  • Fixed component ID

    5724J0520

Applicable component levels

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSKM8N","label":"WebSphere Message Broker"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
25 May 2017