Maximo List Archive

This is an archive of the Maximo Yahoo Community. The content of this pages may be a sometimes obsolete so please check post dates.
Thanks to the community owner Christopher Wanko for providing the content.



re: [MAXIMO List] How do you identify the item when logging an SQout or SQIn commit?

From: ewald caspari (2012-03-09 15:58)

Hi,
there is no maximo setting i know of. We use an userexit class which does the data logging to a separate logfile.
I call my logging routine right at the start and at the end of the userexit, so I can see which data has been changed, because we have a lot of customizations.
If you don't customize your interfaces with userexits, the only work is creating your own data logging. you can try my routine below. It returns the structuredata in XML format. Element and Attribute are from org.jdom.*
Regards
Ewald
public StringBuffer structureData2StringBuffer(StructureData irData, boolean withChildren)
{
StringBuffer sbStrucData = new StringBuffer("");
try
{
sbStrucData.append("\n");
sbStrucData.append(" <");
sbStrucData.append(irData.getIntObjectName());
sbStrucData.append(">");
Element e = irData.getPrimaryObject();
listElementData(e, " ", withChildren, sbStrucData);
sbStrucData.append("\n </");
sbStrucData.append(irData.getIntObjectName());
sbStrucData.append(">\n");
}
catch (Exception e)
{
log.error("structureData2StringBuffer() Fehler:" + e);
}
return sbStrucData;
}
private void listElementData(Element element, String ident, boolean withChildren, StringBuffer sbStrucData)
{
sbStrucData.append("\n");
sbStrucData.append(ident + "<");
String name = element.getName();
int p = name.indexOf(":");
if (p > -1)
name = name.substring(p + 1);
sbStrucData.append(name);
List atts = element.getAttributes();
for (Iterator iterator = atts.iterator(); iterator.hasNext();)
{
Attribute a = (Attribute) iterator.next();
String att = a.getName();
String val = a.getValue();
sbStrucData.append(" ");
sbStrucData.append(att);
sbStrucData.append("=\"");
sbStrucData.append(val);
sbStrucData.append("\"");
}
String value = element.getText().trim();
List children = element.getChildren();
boolean hasChildren = children != null && children.size() > 0;
boolean hasValue = value != null && !value.equals("");
if (!hasChildren && !hasValue)
sbStrucData.append("/>");
else
{
sbStrucData.append(">");
if (hasChildren && withChildren)
{
for (int i1 = 0; i1 < children.size(); i1++)
{
Element e = (Element) children.get(i1);
listElementData(e, ident + " ", withChildren, sbStrucData);
}
}
if (hasValue)
{
if (hasChildren)
sbStrucData.append("\n");
sbStrucData.append(value);
}
if (hasChildren)
sbStrucData.append("\n" + ident);
sbStrucData.append("</");
sbStrucData.append(name);
sbStrucData.append(">");
}
}
----------------------
We currently have INFO level logging to capture MEAactivity but the message detail is not shown. I would like the log to show the ITEM, PR, etc of the message so that Ican verify the data that has been sent. (occsionally, data has gone missingalthough and there is no way to confirm it has been sent) I don't want to turnon 'debug' since there is too much unneccessary data generated. Any suggestions on logging.propertiessettings OR perhaps another method to track this besides in the log?
Here is an example of what is currently logged:

[INFO] got message from queuejms/mro/int/queues/sqout
[INFO] HTTP Response from External System issucessessful.Response Code :200. Response
[INFO] got message from queuejms/mro/int/queues/sqin
[INFO] Entering callExitsIn
[INFO] Leaving callExitsIn
[INFO] Entering callExitsIn 2
[INFO] Leaving callExitsIn 2
[INFO] Name /custom/mea/xsl/hcm/dev/in/HcmInReceiptXSL.xsl
[INFO] got message from queuejms/mro/int/queues/sqout
[INFO] HTTP Response from External System issucessessful.Response Code :200. Response