
Transaction SWUE to trigger sales order creation event
Transaction SWUE to trigger sales order created
Queue with sales order events
SalesOrderEventFromQ IFlow
AMQP General tab for reading queue
AMQP Connection tab for reading queue
AMQP Processing tab for reading queue
// Extract the SALESORDER from the Business Transaction Event
import com.sap.gateway.ip.core.customdev.util.Message;
import groovy.json.*
def Message processData(Message message) {
def json = new JsonSlurper().parseText(message.getBody(String));
message.setHeader('SALESORDER',json.data.KEY[0].SALESORDER);
message.setHeader('eventType',json.eventType);
return message;
}
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
def map = message.getHeaders();
def salesorder = map.get("SALESORDER");
def eventType = map.get("eventType");
def body = message.getBody(java.lang.String) as String;
def messageLog = messageLogFactory.getMessageLog(message);
//Properties
def properties = message.getProperties();
String sBody = "SalesOrder " + salesorder + " Event " + eventType + " from S4 HANA";
if(messageLog != null) {
messageLog.setStringProperty(sBody, body);
messageLog.addAttachmentAsString(sBody, body, 'application/json');
}
return message;
}
OData General tab
OData connection tab
OData processing tab
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
def map = message.getHeaders();
def salesorder = map.get("SALESORDER");
def body = message.getBody(java.lang.String) as String;
def messageLog = messageLogFactory.getMessageLog(message);
//Properties
def properties = message.getProperties();
String sBody = "OData SalesOrder " + salesorder + " Details XML from S4 HANA";
if(messageLog != null) {
messageLog.setStringProperty(sBody, body);
messageLog.addAttachmentAsString(sBody, body, 'text/xml');
}
return message;
}
import com.sap.gateway.ip.core.customdev.util.Message;
import java.util.HashMap;
def Message processData(Message message) {
def map = message.getHeaders();
def salesorder = map.get("SALESORDER");
def body = message.getBody(java.lang.String) as String;
def messageLog = messageLogFactory.getMessageLog(message);
//Properties
def properties = message.getProperties();
String sBody = "OData SalesOrder " + salesorder + " Details JSON from S4 HANA";
if(messageLog != null) {
messageLog.setStringProperty(sBody, body);
messageLog.addAttachmentAsString(sBody, body, 'application/json');
}
return message;
}
AMQP General tab for writing to queue
AMQP Connection tab for writing to queue
AMQP Processing tab for writing to queue
Message monitoring
{
"eventType": "BO.SalesOrder.Created",
"cloudEventsVersion": "0.1",
"source": https://sap.corp,
"eventID": "AvI8lTL3HuyLryFqiGugrw==",
"eventTime": "2021-10-15T05:30:44Z",
"schemaURL": https://sap.corp/sap/opu/odata/IWXBE/BROWSER_SRV/,
"contentType": "application/json",
"data": {
"KEY": [
{
"SALESORDER": "0000000494"
}
]
}
}
<A_SalesOrder>
<A_SalesOrderType>
<CreationDate>2021-10-21T00:00:00.000</CreationDate>
<CreatedByUser>YTHAM</CreatedByUser>
<OrganizationDivision>00</OrganizationDivision>
<PurchaseOrderByCustomer>YT_ODN_AU</PurchaseOrderByCustomer>
<DistributionChannel>10</DistributionChannel>
<SalesOrganization>3010</SalesOrganization>
<SoldToParty>30100001</SoldToParty>
<TotalNetAmount>120.00</TotalNetAmount>
<to_Item>
<A_SalesOrderItemType>
<SalesOrderItemText>Service Material 01</SalesOrderItemText>
<ProductionPlant>3010</ProductionPlant>
<PurchaseOrderByCustomer>YT_ODN_AU</PurchaseOrderByCustomer>
<Material>SM0001</Material>
<MaterialByCustomer>
</MaterialByCustomer>
<RequestedQuantityUnit>H</RequestedQuantityUnit>
<TransactionCurrency>AUD</TransactionCurrency>
<PricingDate>2021-10-21T00:00:00.000</PricingDate>
<NetAmount>120.00</NetAmount>
<SalesOrderItemCategory>TAD</SalesOrderItemCategory>
<SalesOrderItem>10</SalesOrderItem>
<HigherLevelItem>0</HigherLevelItem>
<RequestedQuantity>1.000</RequestedQuantity>
<SalesOrder>494</SalesOrder>
</A_SalesOrderItemType>
</to_Item>
<TransactionCurrency>AUD</TransactionCurrency>
<SalesOrderType>OR</SalesOrderType>
<SalesOrderDate>2021-10-21T00:00:00.000</SalesOrderDate>
<to_Partner>
<A_SalesOrderHeaderPartnerType>
<PartnerFunction>SP</PartnerFunction>
<Customer>30100001</Customer>
<Supplier>
</Supplier>
<Personnel>0</Personnel>
<ContactPerson>0</ContactPerson>
<SalesOrder>494</SalesOrder>
</A_SalesOrderHeaderPartnerType>
<A_SalesOrderHeaderPartnerType>
<PartnerFunction>BP</PartnerFunction>
<Customer>30100001</Customer>
<Supplier>
</Supplier>
<Personnel>0</Personnel>
<ContactPerson>0</ContactPerson>
<SalesOrder>494</SalesOrder>
</A_SalesOrderHeaderPartnerType>
<A_SalesOrderHeaderPartnerType>
<PartnerFunction>PY</PartnerFunction>
<Customer>30100001</Customer>
<Supplier>
LanguageHTML/XML
</Supplier>
<Personnel>0</Personnel>
<ContactPerson>0</ContactPerson>
<SalesOrder>494</SalesOrder>
</A_SalesOrderHeaderPartnerType>
<A_SalesOrderHeaderPartnerType>
<PartnerFunction>SH</PartnerFunction>
<Customer>30100001</Customer>
<Supplier>
</Supplier>
<Personnel>0</Personnel>
<ContactPerson>0</ContactPerson>
<SalesOrder>494</SalesOrder>
</A_SalesOrderHeaderPartnerType>
</to_Partner>
<SalesOrder>494</SalesOrder>
</A_SalesOrderType>
</A_SalesOrder>
{
"A_SalesOrder": {
"A_SalesOrderType": {
"CreationDate": "2021-10-21T00:00:00.000",
"CreatedByUser": "YTHAM",
"OrganizationDivision": "00",
"PurchaseOrderByCustomer": "YT_ODN_AU",
"DistributionChannel": "10",
"SalesOrganization": "3010",
"SoldToParty": "30100001",
"TotalNetAmount": "120.00",
"to_Item": {
"A_SalesOrderItemType": {
"SalesOrderItemText": "Service Material 01",
"ProductionPlant": "3010",
"PurchaseOrderByCustomer": "YT_ODN_AU",
"Material": "SM0001",
"MaterialByCustomer": "",
"RequestedQuantityUnit": "H",
"TransactionCurrency": "AUD",
"PricingDate": "2021-10-21T00:00:00.000",
"NetAmount": "120.00",
"SalesOrderItemCategory": "TAD",
"SalesOrderItem": "10",
"HigherLevelItem": "0",
"RequestedQuantity": "1.000",
"SalesOrder": "494"
}
},
"TransactionCurrency": "AUD",
"SalesOrderType": "OR",
"SalesOrderDate": "2021-10-21T00:00:00.000",
"to_Partner": {
"A_SalesOrderHeaderPartnerType": [
{
"PartnerFunction": "SP",
"Customer": "30100001",
"Supplier": "",
"Personnel": "0",
"ContactPerson": "0",
"SalesOrder": "494"
},
{
"PartnerFunction": "BP",
"Customer": "30100001",
"Supplier": "",
"Personnel": "0",
"ContactPerson": "0",
"SalesOrder": "494"
},
{
"PartnerFunction": "PY",
"Customer": "30100001",
"Supplier": "",
"Personnel": "0",
"ContactPerson": "0",
"SalesOrder": "494"
},
{
"PartnerFunction": "SH",
"Customer": "30100001",
"Supplier": "",
"Personnel": "0",
"ContactPerson": "0",
"SalesOrder": "494"
}
]
},
"SalesOrder": "494"
}
}
}
SPRO - Maintain object representation
Sales order entries in object representation
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
11 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
5 | |
4 | |
4 |