IBM Support

IV17376: PSDI.PLUST.APP.WORKORDER.PLUSTFLDWORKTYPE.CLASS METHOD DOES NOT CORRECTLY INCLUDE SITEID ALTHOUGH THIS OBJECT IS SITE LEVEL:

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • psdi.plust.app.workorder.PlusTFldWorkType.class method does not
    correctly include SITEID although this object is SITE level:
    
    Environment:
    
    Maximo Base Services 7.1.1.6
            PMP Change 7.1.1.00
            PMP Config 7.1.1.00
            PMP Common 7.1.1.6
    Maximo Transportation 7.1.1.0
    Maximo Asset Configuration Management 7.1.1.0
    Maximo SAP Adapter - SAP2005
    
    
    Problem details:
    
    1. Class psdi.plust.app.workorder.PlusTFldWorkType.class, method
    validate()
    uses a query on the WORKORDER table which does not correctly
    include
    SITEID
    although this object is SITE level:
    
    public void validate() throws MXException, RemoteException {
                    super.validate();
                    Mbo mbo = getMboValue().getMbo();
                    if (mbo != null &&
    mbo.getUserInfo().isInteractive()) {
                            int i =
    MXApplicationYesNoCancelException.getUserInput
    ("changingWorkTypeMayAffectWarranty", MXServer.getMXServer(),
    mbo.getUserInfo());
                            switch (i) {
                            case 8: // '\b'
                                    break;
    
                            case 16: // '\020'
    
    getMboValue().getMbo().setValue("worktype",
    getMboValue().getPreviousValue().asString(), 3L);
                                    break;
    
                            default:
                                    String s =
    mbo.getString("wonum");
                                    MboSetRemote mbosetremote =
    MXServer.getMXServer().getMboSet("WORKORDER",
    mbo.getUserInfo());
                                    mbosetremote.setWhere((new
    StringBuilde
    ()).append("wonum='").append(SqlFormat.getSQLString(s)).append
    ("'").toString());
                                    mbosetremote.reset();
                                    if (mbosetremote.count() != 1)
                                            break;
                                    String s1 = mbosetremote.getMbo
    (0).getString("worktype");
                                    String s2 =
    mbo.getString("worktype");
                                    MboSetRemote mbosetremote1 =
    MXServer.getMXServer().getMboSet("PLUSTWARREXC",
    mbo.getUserInfo());
                                    mbosetremote1.setWhere((new
    StringBuilder
    ()).append("orgid='").append(SqlFormat.getSQLString(mbo.getStrin
    g
    ("orgid"))).append("'").toString());
                                    mbosetremote1.reset();
                                    boolean flag = false;
                                    boolean flag1 = false;
                                    int j = mbosetremote1.count();
                                    for (int k = 0; k < j; k++) {
                                            if (s1 != null &&
    s1.equalsIgnoreCase(mbosetremote1.getMbo(k).getString("worktype"
    )))
                                                    flag = true;
                                            if (s2 != null &&
    s2.equalsIgnoreCase(mbosetremote1.getMbo(k).getString("worktype"
    )))
                                                    flag1 = true;
                                    }
    
                                    if (flag && (!flag1 || s2 ==
    null) ||
    (!flag || s1 == null) && flag1)
                                            throw new
    MXApplicationYesNoCancelException("changingWorkTypeMayAffectWarr
    anty",
    "plustwo", "workTypeCanAffectWarranty");
                                    break;
                            }
                    }
            }
    
    2. Also, shouldn't the code use relations?
    3. Is this validation required when duplicating/creating a new
    workorder?
    It can be time consuming in a database which has many Workorder
    records
    (we
    have 9 millions and growing).
    
    
    
    Note from L2
    ===
    Transportation L3 has authorized APAR creation
    ===
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: N/A                                          *
    ****************************************************************
    * PROBLEM DESCRIPTION: The code was comparing current value of *
    *                      WORKTYPE against the value in the       *
    *                      database by getting a new MboSet.       *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    *                                                              *
    *                                                              *
    *                                                              *
    ****************************************************************
    PSDI.PLUST.APP.WORKORDER.PLUSTFLDWORKTYPE.CLASS METHOD DOES NOT
    CORRECTLY INCLUDE SITEID ALTHOUGH THIS OBJECT IS SITE LEVEL.
    

Problem conclusion

  • Remove the need for a new MboSet by using
    getMboValue().getInitialValue().
    
    
    
    
    
    The fix for this APAR is contained in the following maintenance
    package:
    
      | release\fix pack | COBRA
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV17376

  • Reported component name

    MX TRANSPORTATI

  • Reported component ID

    5724R5500

  • Reported release

    711

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-03-16

  • Closed date

    2012-04-03

  • Last modified date

    2012-04-03

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

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

Modules/Macros

  • MAXIMO
    

Fix information

  • Fixed component name

    MX TRANSPORTATI

  • Fixed component ID

    5724R5500

Applicable component levels

  • R711 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSLL9Z","label":"Maximo for Transportation"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"711","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
29 September 2021