Introduction
In this post you will learn how to use new filters for Sales Scheduling Agreement EDI in Message Monitoring Fiori Application.
Business Backgroud
Our customer will send Forecast delivery schedule and Just-in time delivery schedule to us by Sales Scheduling Agreement EDI every day to inform us their new delivery schedules. Besides the planners need to check whether SAP system has received the information through EDI successfully.
In SAP S/4 HANA Cloud, we use Fiori Application “Message Monitoring” to display an overview messages processed through the Sales Scheduling Agreement EDI.
In the overview screen of “Message Monitoring”, we can monitor the EDI status by many columns, such as Status, Processing Date, Message ID, Log Messages, Customer number, Cust. Reference, Process Status, Processor and Comment. However, each user (especially planners) has the responsible customers and materials. So, it is essential if they can view the message by the condition of customer name/code and product number. It is very difficult for planners to use this application because they don’t know the EDI customer number, they cannot find the EDI message by product number.
To improve the utility, we have delivered more filters under the Namespace "/SDSAR"(which is for Sales Scheduling Agreement EDI) in Message Monitoring Application in CE2108. The new filters including: "Party Type", "Buyer Party ID", "Supplier Party ID", "Partner Description", "Unloading Point" and "Customer Material".
User Interface
The mandatory step to enable monitoring sales scheduling agreement EDI is "Assign Recipients to Users".
Access application "Assign Recipients to Users".
Assign Recipients to Users Application
Search for your user name and assign Sales scheduling Agreement EDI Namespace and Recipients to your user.
Assign Recipients to your user
Customers can monitor inbound sales scheduling agreement EDI message via "Message Monitoring " Application.
Message Monitoring Application
Find out and access the tab of Sales Scheduling Agreement EDI (Namespace is "/SDSAR", Interface is "SCHEAGR_IN", Version is "1")
Access /SDSAR - SCHEAGR_IN - 1
Customers can use filters we provided to find out their expected inbound EDI messages.
EDI Messages
Solution Deep Dive
Suppose customer receives a inbound Sales Scheduling Agreement EDI message whose EDI payload is:
<n0:SchedulingAgreementRequest xmlns:n0="http://sap.com/xi/EDI">
<MessageHeader>
<CreationDateTime>2019-06-07T07:48:17Z</CreationDateTime>
<SenderParty>
<InternalID>Customer Number</InternalID>
</SenderParty>
</MessageHeader>
<SchedulingAgreement>
<PurchasingSchedulingAgreementID>Customer Reference</PurchasingSchedulingAgreementID>
<Release>
<PurchasingDeliveryScheduleID>4</PurchasingDeliveryScheduleID>
<PurchasingDeliveryScheduleCreationDate>2021-05-07</PurchasingDeliveryScheduleCreationDate>
</Release>
<Party PartyType="SoldTo">
<BuyerPartyID>SoldTo_Buyer</BuyerPartyID>
<SupplierPartyID>SoldTo_Supplier</SupplierPartyID>
</Party>
<Party PartyType="Supplier">
<BuyerPartyID>Supplier_Buyer</BuyerPartyID>
<SupplierPartyID>Supplier_Supplier</SupplierPartyID>
</Party>
<Item>
<PurchasingSchedulingAgreementItem>10</PurchasingSchedulingAgreementItem>
<PurchasingReceivingPlant>Partner Description</PurchasingReceivingPlant>
<PurchasingUnloadingPoint>Unloading</PurchasingUnloadingPoint>
<Product>
<BuyerProductID>Customer Material</BuyerProductID>
</Product>
<Release>
<SchedulingAgreementReleaseType>1</SchedulingAgreementReleaseType>
<ScheduleLine>
<ScheduleLineDeliveryDate>2021-07-09</ScheduleLineDeliveryDate>
<ScheduleLineOrderQuantity unitCode="EA">50</ScheduleLineOrderQuantity>
</ScheduleLine>
</Release>
</Item>
</SchedulingAgreement>
</n0:SchedulingAgreementRequest>
Customer can get this message in Message Monitoring Application.
EDI Messages
If customers need to filter this message out of other messages, they can use filters.
EDI Message filtered
Focusing on EDI payload, there are two "Party" entities are passed.
<Party PartyType="SoldTo">
<BuyerPartyID>SoldTo_Buyer</BuyerPartyID>
<SupplierPartyID>SoldTo_Supplier</SupplierPartyID>
</Party>
<Party PartyType="Supplier">
<BuyerPartyID>Supplier_Buyer</BuyerPartyID>
<SupplierPartyID>Supplier_Supplier</SupplierPartyID>
</Party>
The Party #1 with party type "SoldTo", and its party ID stored in Buyer system is "SoldTo_Buyer", its party ID stored in Supplier system is "SoldTo_Supplier".
The Party #2 with party type "Supplier", and its party ID stored in Buyer system is "Supplier_Buyer", its party ID stored in Supplier system is "Supplier_Supplier".
Back to Message Monitoring Application, in columns of "Party Type", "Buyer Party" and "Supplier Party", here are two values for each column.
Multiple value columns
We can treat these three column as lists with sequence, they will be able to store multiple values, since there can be multiple party entities in one EDI payload.
The values with the same index represent a single party entity("SoldTo", "SoldTo_Buyer" and "SoldTo_Supplier" are the first value of three columns separately, so they represent party entity #1).
Customer can filter this message by following two filter combinations:
Combination 1
Combination 2
Technical Limitations
Customer can get this new feature via CE2108 upgrade. But the new filters can only filter the new EDI messages which are received after feature upgrade.
Conclusion
This post provides a rough introduction for new filters exposed for Sales Scheduling Agreement EDI in Message Monitoring Application. If any questions on it please feel free to comment.