IBM Support

IJ40483: RUNNING DBC SCRIPTS IS MAKING THE COLUMNNAME OF A FIELD BE UPDATED TO MATCH THE ATTRIBUTENAME

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

  • PROBLEM DESCRIPTION:
    Running DBC scripts is making the COLUMNNAME of a field be
    updated to match the ATTRIBUTENAME, and this causes application
    to not refresh.
    
    You run a dbc script to make some descriptions on 3 attributes
    longer. One of the attributes has an attributename a little
    different than the actual column name. As a consequence, when
    you run the dbc and subsequently restarted the system you notice
    your custom application would not refresh the list tab anymore,
    and it is related to the column name being different than the
    attribute name which is permitted in standard Maximo.
    
    AS PER DEVELOPMENT REQUEST :
    The following can be added to the jira work item:
    In MaximoMboModel.setupModAttrDef(AttributeInformation
    modifiedAttrDef, String attributeName, StatementElement mod,
    AttributeStorage oldDef), need to add
    modifiedAttrDef.set("columnname", mod.isSet("columnname") ?
    mod.getStringObject("columnname") :
    oldDef.getString("columnname"));
    Problem is that COLUMNNAME is not set with all the other
    MAXATTRIBUTE attributes in modifiedAttrDef. As a result, if
    (newDef.getBoolean("persistent") && (!
    newDef.isSet("columnname"))) evaluates to true and
    newDef.set("columnname", newDef.getString("attributename")) is
    erroneously executed.
    
    Error in the logs:
    [ERROR] [MXServer] [] BMXAA6713E - The MBO fetch operation
    failed in the mboset with the SQL error code 0. The record could
    not be retrieved from the database. See the log file for more
    details about the error.
    com.microsoft.sqlserver.jdbc.SQLServerException: The column name
    <<ATTRIBUTE_NAME>> is not valid.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriv
    erError(SQLServerException.java:234)
    at com.microsoft.sqlserver.jdbc.SQLServerResultSet.findColumn(S
    QLServerResultSet.java:686)
    at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getObject(SQ
    LServerResultSet.java:2451)
    at psdi.mbo.MboSet.getNextRecordData(MboSet.java:3469)
    at psdi.mbo.MboSet.fetchMbosActual(MboSet.java:2950)
    at psdi.mbo.MboSet.fetchMbos(MboSet.java:2907)
    at psdi.mbo.MboSet.getMbo(MboSet.java:2123)
    at psdi.mbo.MboSet.getMboData(MboSet.java:994)
    at psdi.mbo.MboSet.getMboSetData(MboSet.java:885)
    at psdi.webclient.system.beans.DataBean.getMboSetData(DataBean.
    java:4715)
    at psdi.webclient.system.beans.DataBean.fetchTableData(DataBean
    .java:4628)
    at psdi.webclient.system.beans.DataBean.fetchTableData(DataBean
    .java:4618)
    at psdi.webclient.system.beans.ResultsBean.fetchTableData(Resul
    tsBean.java:755)
    at psdi.webclient.controls.Table.reset(Table.java:1667)
    
    
    STEPS TO REPLICATE :
    0. Stop Maximo service.
    
    1. Then in a SQL tool, find attributes the Maximo 7.6.1.2
    environment where the attributename is different than
    columnname, by running this:
    SELECT OBJECTNAME,ATTRIBUTENAME,COLUMNNAME FROM MAXATTRIBUTE
    WHERE ATTRIBUTENAME <> COLUMNNAME
    
    2. Create a DBC script to update any non-relevant information,
    such as REMARKS for any of the attributes returned from the SQL
    above
    Here is my sample script (to update the remarks for
    LABTRANS.FINISHTIMEENTERED attribute:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE script SYSTEM "script.dtd">
    <script author="Jeff " scriptname="IAFMS-33438UpdateRemarks">
    <description>BOB TEST  DESCRIPTION</description>
    <statements>
    <modify_attribute attribute="FINISHTIMEENTERED"
    object="LABTRANS" remarks="BOB TEST BOB TEST BOB TEST BOB TEST"
    />
    </statements>
    </script>
    
    3. Run the DBC script by using the runscriptfile.bat utility in
    ...maximo\tools\maximo\internal folder.
    C:\IBM\SMP\maximo\tools\maximo\internal>runscriptfile.bat -cbob
    -ftest
    RunScript complete: Successful
    
    4. Again, in a SQL tool, find attributes the Maximo 7.6.1.2
    environment where the attributename is different than
    columnname, by running this:
    SELECT OBJECTNAME,ATTRIBUTENAME,COLUMNNAME FROM MAXATTRIBUTE
    WHERE ATTRIBUTENAME <> COLUMNNAME
    
    You will notice that the attribute you used is NOT listed
    anymore.
    
    5. Go to Database Configuration app and search for the
    object.attribute you used and check the ATTRIBUTENAME and
    COLUMNNAME fields.
    
    
    They wil be the same and this is NOT correct, because we just
    wanted to update the REMARKS information for a field,  and not
    other attributes like COLUMNNAME.
    
    
    CURRENT ERRONEOUS RESULT:
    Running DBC scripts is making the COLUMNNAME of a field be
    updated to match the ATTRIBUTENAME
    
    EXPECTED RESULT:
    Running DBC scripts does NOT make the COLUMNNAME of a field be
    updated to match the ATTRIBUTENAME
    
    ENVIRONMENT VERSION:
    App Server IBM WebSphere Application Server 9.0.5.11
    Tivoli's process automation engine 7.6.1.2-IFIX20220216-1819
    Build 20200715-0100 DB Build V7612-284 HFDB Build HF7612-76
    IBM Maximo Asset Management Work Centers 7.6.0.4 Build
    20200715-0100 DB Build V7604-119 HFDB Build HF7680-10
    TRM RulesManager SE 5.8.0.3.2 Build 3496 DB Build V5832-01
    IBM Tpae Integration Framework
    7.6.1.2-MIF_7612_IFIX.20211006-1305 Build 20200715-1444 DB Build
    V7612-11 HFDB Build HF7612-02
    IBM Maximo Asset Management 7.6.1.2 Build 20200715-0100 DB Build
    V7611-01
    IoT Connection Utility 7.6.0.3 Build 20200701-1409 DB Build
    V7603-32
    Server OS Windows Server 2016 10.0
    Server DB Microsoft SQL Server 15.0 (15.00.4223)
    (c) Copyright IBM Corp. 2020
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Maximo users                                                 *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Running DBC scripts updates MAXATTRIBUTE.COLUMNNAME to match *
    * MAXATTRIBUTE.ATTRIBUTENAME, and this causes application to   *
    * not refresh.                                                 *
    ****************************************************************
    STEPS TO REPLICATE :
    0. Stop Maximo service.
    1. In a SQL tool, find an attribute Maximo 7.6.1.2 environment
    where the attributename is different than columnname, by running
    this: SELECT OBJECTNAME,ATTRIBUTENAME,COLUMNNAME FROM
    MAXATTRIBUTE WHERE ATTRIBUTENAME != COLUMNNAME
    2. Create a DBC script to update any non-relevant information,
    such as REMARKS for any of the attributes returned from the SQL
    above.
    3. Run the DBC script.
    4. Again, in a SQL tool, find attributes the Maximo 7.6.1.2
    environment where the attributename is different than
    columnname, by running this: SELECT
    OBJECTNAME,ATTRIBUTENAME,COLUMNNAME FROM MAXATTRIBUTE WHERE
    ATTRIBUTENAME != COLUMNNAME. The attribute in your dbc script
    will not be in the results. ATTRIBUTENAME and COLUMNNAME are now
    the same. This is NOT correct, because we just wanted to update
    MAXATTRIBUTE.REMARKS for the field. MAXATTRIBUTE.COLUMNNAME
    should not have been modified.
    After restarting the system, the List tab of our custom
    application containing the attribute that was updated in the dbc
    script would not refresh. The console showed the following:
    [ERROR] [MXServer] [] BMXAA6713E - The MBO fetch operation
    failed in the mboset with the SQL error code 0. The record could
    not be retrieved from the database. See the log file for more
    details about the error.
    com.microsoft.sqlserver.jdbc.SQLServerException: The column name
    FBMS_DEFERRED_MAINT is not valid. at
    com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverEr
    ror(SQLServerException.java:234) at
    com.microsoft.sqlserver.jdbc.SQLServerResultSet.findColumn(SQLSe
    rverResultSet.java:686) at
    com.microsoft.sqlserver.jdbc.SQLServerResultSet.getObject(SQLSer
    verResultSet.java:2451) at
    psdi.mbo.MboSet.getNextRecordData(MboSet.java:3469) at
    psdi.mbo.MboSet.fetchMbosActual(MboSet.java:2950) at
    psdi.mbo.MboSet.fetchMbos(MboSet.java:2907) at
    psdi.mbo.MboSet.getMbo(MboSet.java:2123) at
    psdi.mbo.MboSet.getMboData(MboSet.java:994) at
    psdi.mbo.MboSet.getMboSetData(MboSet.java:885) at
    psdi.webclient.system.beans.DataBean.getMboSetData(DataBean.java
    :4715) at
    psdi.webclient.system.beans.DataBean.fetchTableData(DataBean.jav
    a:4628) at
    psdi.webclient.system.beans.DataBean.fetchTableData(DataBean.jav
    a:4618) at
    psdi.webclient.system.beans.ResultsBean.fetchTableData(ResultsBe
    an.java:755) at
    psdi.webclient.controls.Table.reset(Table.java:1667) at
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    

Problem conclusion

  • The fix for this APAR will be contained in a future release.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ40483

  • Reported component name

    SYSTEM CONFIG

  • Reported component ID

    5724R46S1

  • Reported release

    761

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-06-07

  • Closed date

    2022-09-19

  • Last modified date

    2022-09-19

  • 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

    SYSTEM CONFIG

  • Fixed component ID

    5724R46S1

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSLKT6","label":"Maximo Asset Management"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"761","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
19 September 2022