IBM Support

How to get details on error codes

Question & Answer


Question

The errors I encounter have an error code associated with them but they don't always have descriptive message explaining what the error code represents. Is there a way I can get details of such error codes with engaging IBM Support?

Cause

The error messages returned by the application are of the following form:
ERROR atesystems.hub.logging.NativeLog: UID=106, IXN=TSKPUT, ERR=EODBC, SMT=3045
ERROR atesystems.hub.logging.NativeLog: UID=290, IXN=TSKPUT, ERR=EINVAL, SMT=3096

These errors tell us that it occurred during the task put interaction and we can search the information center for the meaning of EODBC and EINVAL. But the error text and information center does not tell us the meaning of error codes like SMT=3096 which are not intuitive.

Note: The information center explains EODBC as an ODBC error reported from the ODBC driver or database directly and EINVAL as invalid values provided in incoming parameters or datatype, including multiple parent values and circular references in a hierarchical path.

Answer

Even though the logs don't always contain the error code description, the product does bundle translation strings explaining these error codes. These files are stored in the smt folder of the root directory (MAD_ROOTDIR/smt) and contain translation strings in various languages like English (en_US.smt file), French (fr_CA.smt) etc. The exact file which the product will use is determined by the MAD_SMTLIST variable defined in $MAD_HOMEDIR/inst/mpinet_<Instance_Name>/conf/com.initiate.server.system.cfg configuration file.

Therefore we can look up the translation of these error in the corresponding en_US.smt file. That file has the following explanation for SMT=3045 error:
3045|entxtsk: unable to update entrule data.

So in the first error text there was a database connection error which prevented the entrule data from being updated.

But the reader will observe that this file is not comprehensive because it does not contain a description for SMT=3096. The reason is that the en_US.smt file is only meant for errors logged in the MDS engine logs and SMT=3096 is not an error which will be registered in the MDS logs.

Such errors which aren't documented in the en_US.smt file are encountered when we execute interactions in custom code that fail. These errors are listed in a separate file, namely hubmessages_en.properties, stored under MAD_ROOTDIR/conf directory. This file explains this error code as:
KernelSmtCode.3096=entxtsk: memRecno %lld, ownerType must be specified.

So the second error suggests that the interaction did not have the owner type specified and hence it error'ed out.

Alternately, we can also look-up error details within the code itself without referring to the files on the back-end server. We can retrieve such details through methods like "getErrCode", "getErrText", and they will parse the translation string files for us to give and print the description. Usage:


usrErrCode = Ixn.getUsrErrCode();
String s = Ixn.getErrText();

[{"Product":{"code":"SSLVY3","label":"Initiate Master Data Service"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"--","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"Version Independent","Edition":"All Editions","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Product Synonym

MDM;MDS;IBM Infosphere Master Data Management;IBM Infosphere Master Data Service;Initiate;Initiate Systems

Document Information

Modified date:
16 June 2018

UID

swg21644164