{
"salesOrder":[
{ "salesOrderType":[
{
"SoldToParty": "USCU_L02",
"DistributionChannel": "10",
"SalesOrderType": "OR",
"OrganizationDivision": "00",
"SalesOrganization": "1710",
"PurchaseOrderByCustomer": "45000049106" ,
"lineItem": [
{
"Material": "MZ-TG-Y200",
"SalesOrderItem": "10",
"RequestedQuantityUnit": "PC",
"NetAmount": "89"
},
{
"Material": "MZ-FG-M550",
"SalesOrderItem": "20",
"RequestedQuantityUnit": "PC",
"NetAmount": "75"
}
]
}
]
}
]
}
/*
The integration developer needs to create the method processData
This method takes Message object of package com.sap.gateway.ip.core.customdev.util
which includes helper methods useful for the content developer:
The methods available are:
public java.lang.Object getBody()
public void setBody(java.lang.Object exchangeBody)
public java.util.Map<java.lang.String,java.lang.Object> getHeaders()
public void setHeaders(java.util.Map<java.lang.String,java.lang.Object> exchangeHeaders)
public void setHeader(java.lang.String name, java.lang.Object value)
public java.util.Map<java.lang.String,java.lang.Object> getProperties()
public void setProperties(java.util.Map<java.lang.String,java.lang.Object> exchangeProperties)
public void setProperty(java.lang.String name, java.lang.Object value)
*/
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.*;
import com.sap.gateway.ip.core.customdev.logging.*;
import java.util.HashMap;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
def Message processData(message) {
def headers = message.getHeaders();
StringBuffer reqXML = new StringBuffer();
def payload = message.getBody(java.lang.String) as String;
def tokens = payload.split("(?=<)|(?<=>)");
def salesitems = false;
def haslineitems = false;
for(int i=0;i<tokens.length;i++) {
//begin writing to stream for lineitems
if(tokens[i]=="<lineItem>")
{
salesitems = true;
haslineitems = true;
}
else if(tokens[i] =="</salesOrderType>")
{
salesitems = false;
}
if(salesitems == true)
{
reqXML.append(tokens[i]);
}
}
def newdata = reqXML.toString();
newdata = newdata.replaceAll("<lineItem>","<A_SalesOrderItemType><SalesOrder></SalesOrder><SalesOrderItem></SalesOrderItem>");
newdata = newdata.replaceAll("</lineItem>","</A_SalesOrderItemType>");
newdata = newdata.replaceAll("<NetAmount>","<RequestedQuantity>");
newdata = newdata.replaceAll("</NetAmount>","</RequestedQuantity>");
def body = message.getBody(java.lang.String) as String;
def messageLog = messageLogFactory.getMessageLog(message);
for (header in headers) {
messageLog.setStringProperty("header." + header.getKey().toString(), header.getValue().toString())
}
for (property in properties) {
messageLog.setStringProperty("property." + property.getKey().toString(), property.getValue().toString())
}
if(messageLog != null){
messageLog.addAttachmentAsString("beforeMapping", newdata, "text/plain");
}
if (newdata != null) {
// log.logErrors(LogMessage.TechnicalError, "reqXML: "+ reqXML);
message.setHeader("InlineEntry", newdata);
log.logErrors(LogMessage.TechnicalError, "message header: "+ message.getHeaders().get("InlineEntry"));
}
return message;
}
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.*;
import com.sap.gateway.ip.core.customdev.logging.*;
def Message processData(message) {
String payload = new String(message.getBody(), "UTF-8");
log.logErrors(LogMessage.TechnicalError, "payload in script2: "+payload);
StringBuffer newReqXML = new StringBuffer();
String inlineEntry = message.getHeaders().get("InlineEntry");
log.logErrors(LogMessage.TechnicalError, "InlineEntry: "+inlineEntry);
def tokens = payload.split("(?=<)|(?<=>)");
log.logErrors(LogMessage.TechnicalError, "tokens: "+tokens);
for(int i=0;i<tokens.length;i++) {
log.logErrors(LogMessage.TechnicalError, "tokens: "+tokens[i]);
newReqXML.append(tokens[i]);
if(tokens[i].contains("<to_Item>")){
newReqXML.append(inlineEntry+"</to_Item></A_SalesOrderType></A_SalesOrder>");
break;
}
}
log.logErrors(LogMessage.TechnicalError, "newReqXML: "+newReqXML.toString());
message.setBody(newReqXML.toString());
return message;
}
/*
The integration developer needs to create the method processData
This method takes Message object of package com.sap.gateway.ip.core.customdev.util
which includes helper methods useful for the content developer:
The methods available are:
public java.lang.Object getBody()
public void setBody(java.lang.Object exchangeBody)
public java.util.Map<java.lang.String,java.lang.Object> getHeaders()
public void setHeaders(java.util.Map<java.lang.String,java.lang.Object> exchangeHeaders)
public void setHeader(java.lang.String name, java.lang.Object value)
public java.util.Map<java.lang.String,java.lang.Object> getProperties()
public void setProperties(java.util.Map<java.lang.String,java.lang.Object> exchangeProperties)
public void setProperty(java.lang.String name, java.lang.Object value)
*/
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
def body = message.getBody(java.lang.String) as String;
def messageLog = messageLogFactory.getMessageLog(message);
def propertyMap = message.getProperties()
messageLog.setStringProperty("BeforeSubmission", "Printing Payload As Attachment")
messageLog.addAttachmentAsString("Payload Before Submission After Mappings:", body, "text/xml");
return message;
}
/*
The integration developer needs to create the method processData
This method takes Message object of package com.sap.gateway.ip.core.customdev.util
which includes helper methods useful for the content developer:
The methods available are:
public java.lang.Object getBody()
public void setBody(java.lang.Object exchangeBody)
public java.util.Map<java.lang.String,java.lang.Object> getHeaders()
public void setHeaders(java.util.Map<java.lang.String,java.lang.Object> exchangeHeaders)
public void setHeader(java.lang.String name, java.lang.Object value)
public java.util.Map<java.lang.String,java.lang.Object> getProperties()
public void setProperties(java.util.Map<java.lang.String,java.lang.Object> exchangeProperties)
public void setProperty(java.lang.String name, java.lang.Object value)
*/
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
def body = message.getBody(java.lang.String) as String;
def messageLog = messageLogFactory.getMessageLog(message);
def propertyMap = message.getProperties()
messageLog.setStringProperty("Logging#1", "Printing Payload As Attachment")
messageLog.addAttachmentAsString("ResponsePayload:", body, "text/xml");
return 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 |
---|---|
14 | |
6 | |
4 | |
4 | |
4 | |
4 | |
3 | |
3 | |
3 | |
3 |