How to determine a sales scheduling agreement in delivery schedule EDI(0444) and consignment issue EDI(0382)
The delivery schedule EDI which is used to update the delivery schedule from buyer side to supplier side is released in 1905CE.
Before updating the delivery schedule and creating the order, the sales scheduling agreement must be determined firstly. I will introduce the logic of determining the scheduling agreement.
The main process logic is below.
The elements used to determine sales scheduling agreement.
Elements in delivery schedule EDI: SchedulingAgreement/PurchasingSchedulingAgreementID, SchedulingAgreement/MatlUsageIndicator, SchedulingAgreement/SalesItemProposalDescription, Item/Product/BuyerProductID, Item/PurchasingUnloadingPoint(If not sent, Party/BuyerPartyID(PartyType = ‘DepartResp’) will be used), Item/PurchasingReceivingPlant(If not sent, Party/BuyerPartyID(PartyType = ‘Plant’)), Party/BuyerPartyID(PartyType = ‘Supplier’), Party/BuyerPartyID(PartyType = ‘SoldTo’),
- If sold-to party sent, go to step 2,
- Search the master data of delivery schedule processing with sold-to party and unloading point. If no records found, left the unloading point space and search the master data again. if records found, go to step 3. If no records found, stop the process
- Search sales scheduling agreements with sold-to party ,customer material and partner function in transaction table. If records found, go to step 4. If no records found, go to step 5.
- Retrieve the delivery schedule header VBAK, item VBAP, delivery schedule VBLB, customer reference VBKD from DB,
- Exculde the records which cann’t be retrieved form the above table.
- If the material usage indicator is sent in the message, exculde the records of which the usage indicator on header is not equal to the indicator sent.
- If the SalesItemProposalDescription is sent in the message, exculde the records of which the search term for product proposal on header is not equal to the proposal description sent.
- If the unloading point is set as check in delivery schedule processing master data, exclude the records of which the unloading point is not equal to the unloading point sent
- If the purcahse number is set as check in delivery schedule processing master data, exclude the records of which the customer reference on the header or item is not equal to the purchasing receiving plant sent
- exclude the records of which the sales area is not assigned to the sold-to party
- If trying to create the just in time delivery schedule in the EDI, raise error message if the MRP type of the record is ‘E’ or there is no forecast delivery schedule in supplier side
- If no records found and only the sold-to party sent is used to determine the scheduling agreement or sold-to party not sent. Determine the sold-to party with the supplier, partner function and unloading point sent
- Search the sold-to party in the master data of Assign sold-to party with the supplier, partner function and unloading point sent first. If no records found, left the unloading point space and search it again
- If the sold-to party determined is not equal to the value sent in the message, go to step 2
- if only one sales scheduling agreement found and no error message, continue the subsquent processing. If no sales scheduling agreement, stop the process.