
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
import javax.xml.xpath.XPathFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.ByteArrayInputStream;
import org.w3c.dom.NodeList;
import javax.xml.xpath.XPathConstants;
def Message initLog(Message message) {
def map = message.getProperties();
// Logging
java.lang.String logger = map.get("logFile");
if (logger == null){
logger = new String();
}
logger += "Start the import process! " + System.lineSeparator();
// Store the logfile as property on the message object
message.setProperty("logFile",logger);
return message;
}
def Message logInfo(Message message) {
def map = message.getProperties();
def body = message.getBody(java.lang.String) as String;
// Logging
java.lang.String logger = map.get("logFile");
if (logger == null){
logger = new String();
}
// Gather the information to write into logfile
// In this case: summary of payload from Odata
def xpath = XPathFactory.newInstance().newXPath()
def builder = DocumentBuilderFactory.newInstance().newDocumentBuilder()
def inputStream = new ByteArrayInputStream(body.getBytes("UTF-8") );
def doc = builder.parse(inputStream);
NodeList nodeList = (NodeList) xpath.compile("//materialnumber").evaluate(doc, XPathConstants.NODESET);
String mat_list = new String();
def length = nodeList.getLength();
for (int i = 0; i < length; i++) {
mat_list += nodeList.item(i).getTextContent() + ",";
}
logger += "Successully received materialnumbers: " + length + System.lineSeparator() ;
logger += "Received the following MATNR from ODAta: " + mat_list + System.lineSeparator();
// Store the logfile as property on the message object
message.setProperty("logFile",logger);
return message;
}
/**
* Stores the logFile as attachment of the message processing
* It can be found in the message processing dashboard in SCI Message Monitoring
**/
def Message storeLog(Message message) {
//Properties
def map = message.getProperties();
java.lang.String logger = map.get("logFile");
if (logger == null){
logger = new String();
}
logger += "END Import process " + System.lineSeparator();
// Store the logfile as property on the message object
message.setProperty("logFile",logger);
// Store LOG file on MSGLog
def messageLog = messageLogFactory.getMessageLog(message);
if (messageLog != null) {
messageLog.addAttachmentAsString("logFile " , logger, "text/plain");
}
return message;
}
def Message logException(Message message) {
//Properties
def map = message.getProperties();
java.lang.String logger = map.get("logFile");
if (logger == null){
logger = new String();
}
logger += "EXCEPTION occured in processing Import " + System.lineSeparator() ;
// Store the logfile as property on the message object
message.setProperty("logFile",logger);
// Call methode to store Log
storeLog(message);
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
15 | |
10 | |
8 | |
7 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |