SAP IDOC Application Link Enabling SAP IDOC Technology allows two different systems to talk to each other.
The Communication is established using ports Flat File, Middleware Another SAP systems Message Types are type of IDOC that is used to send and receive data.
Message Type point to IDOC type that describes the communication structure
SAP IDOC Business Application Send Purchase Order to Vendor Vendor has capability to accept 850/860 EDI SAP System will create IDOC ORDERS upon save of PO (Message Control in ME22N will be used to send IDOC) SAP ALE interface will send the IDOC to preconfigured PORT that could be a file, middleware or SAP system Middleware will convert IDOC message into EDI 850 and send it to the Vendor
How Purchase Order Is Sent From Sap to Vendor?
SAP PO created: ME21N
Issue PO Output: ME22N
Issue PO Output: ME9F
IDOC Created: WE05
IDOC Sent to Middleware
Middleware sends 850 to Vendor
IDOC Monitoring Tools BD87: IDOC Status Monitor
You will see list of all IDOC searched along with their current status. You could either display the IDOC data or process them further for posting into application
WE05: IDOC List
Quick tool to see list of IDOC moving into and out of system. It is only a list so you cant do anything with the IDOC list displayed.
WE09: IDOC Search based on Segment Content
Tool to search IDOC based on date, time, segment content, receiver port etc
WE19: IDOC Debug
Tool to process a single IDOC and debug inbound and outbound functions
WE08: IDOC file status
Monitor size of IDOC file configured in port
WE11: Delete IDOC Data
Configure IDOC Model Create RFC destination for the receiving system
SM59: Create RFC Destination for SAP systems and middleware systems
Configure Port to point to RFC destination
WE21: Maintain communication ports for file, middleware and sap systems
SALE: IDOC Interface Configuration
Define Logical System Assign Logical System to client Maintain Distribution Model Generate Partner Profiles Distribute the model
Maintain Partner Profiles
WE20 Partner Profile Assign inbound and outbound messages Partners are customer, vendor and logical systems
Transaction WE20: LI : Send PO to Vendor : Outbound WE20 [ Maintain Partner Profiles ]: Select Node Partner type LI Create New Partner Partner No: Vendor Number Partner Role: VN Message type: ORDERS (new Order) or ORDCHG (order change) Outbound Options Basic Type: ORDERS03 Receiver Port (one of the following): File Port pointing to SAP System Port pointing to Middleware System Message Control Application: EF Message Type: NEU Process Code: ME10
Send PO IDOC to Vendor Configure Vendor as a partner in WE20 Change PO using ME22N Go to Messages Select following options Output : NEU Medium: EDI Partner function: VN Partner: [Vendor Number ] Click on further options Dispatch Time: Send Immediately (When Saving The Application) Save the PO Check WE05 to see IDOC has been sent
(Check NAST table for processing date, if date is present then the IDOC is sent)
Transaction WE20: LI : Receive Order Confirmation from Vendor WE20 [ Maintain Partner Profiles ] [ Inbound ] : Select Node Partner type LI Create New Partner Partner No: Vendor Number Partner Role: VN Message Type: ORDRSP
Process Code: ORDR [ Background Function: IDOC_INPUT_ORDRSP ]
Go inside the ORDR process code to find object and event in order to link it to a workflow in case of error
Transaction WE20: LI : Receive ASN from Vendor WE20 [ Maintain Partner Profiles ] [ Inbound ] : Select Node Partner type LI Create New Partner Partner No: Vendor Number Partner Role: VN Message Type: DESADV
Process Code: DELS [ Background Function: IDOC_INPUT_DESADV1 ]
If you like your own processing code then create one coping IDOC_INPUT_DESADV1 to a new Z Function module
How to send Delivery Shipping Notification to Vendor? Send Delivery Advise to Vendor [ Outbound ] Partner Role: DP Message Type: DESADV Receiving Port: File Basic Type: DELVRY03 Extension: ZDELVR03 Message Control Application: V2 Message Type: ZMSG Process Code: ZDELR [ point to copy of ZZ_IDOC_OUTPUT_DELVRY ] ZZ_IDOC_OUTPUT_DELVRY would process the normal segments with
IDOC_OUTPUT_DELVRY & you could perform your custom task with rest of the segment
How to receive Invoice from Vendor? Receive Billing Document from Vendor [ Inbound ] Partner Role: Message Type: INVOIC Message Code: FI Process Code: INVF [ Background Function: IDOC_INPUT_INVOIC_FI ] Receive Logistics Invoice from Vendor [ Inbound ] Partner Role: Message Type: INVOIC Message Code: MM Process Code: INVL [ Background Function:IDOC_INPUT_INVOIC_MRM ]
Purchasing EDI Integration SAP Landscape
Send Purchase Order to Vendor
850 PO
IDOC: ORDERS
Send PO Change to Vendor
Vendor Sends Order Confirmation
855 PO Confirmation
IDOC: ORDRSP
Vendor Sends Change Acknowledgement
MIDDLEWARE
860 PO Change
IDOC: ORDCHG
865 PO Change Confirmation
IDOC: ORDRSP
Vendor Sends Delivery Shipment Notice
856 Adv Shipment Notification
IDOC: DESADV
Vendor Sends Invoice for Payment
Send Payment to Vendor
810 Invoice/Bill
IDOC: INVOIC
820 EFT Payment
IDOC: REMADV/ PEXR2002
Note 104606 - Mapping IDOC types to ANSI X12
Purchasing EDI Integration Outbound
Parameters Partner Message Role Type VN ORDERS VN ORDCHG DP DESADV Outbound Options Receiver Basic Type Port ORDERS05 File ORDERS05 SAP DELVRY03 Middleware Message Control Message Process App Type Code EF NEU ME10 EF ZNEU ME11 V2 ZMSG ZDELR
Direction Outbound Outbound Outbound
Document PO PO CHG ASN
Purchasing EDI Integration Inbound
Parameters Partner Message Direction Document Role Type Inbound PO CONF VN ORDRSP Inbound ASN VN DESADV Inbound INVOICE MM INVOIC Inbound INVOICE FI INVOIC Inbound Options Process Basic Type Code ORDERS05 ORDR DELVRY03 DELS MM INVL FI INVF Function Module
IDOC_INPUT_ORDRSP IDOC_INPUT_DESADV1 IDOC_INPUT_INVOIC_MRM IDOC_INPUT_INVOIC_FI
Why do we need Middleware? Most of the Supplier systems are not SAP systems. We need to convert SAP IDOC into EDI compatible format SAP IDOC can be sent to Middleware system like XI or Websphere Middleware will phrase the IDOC and make a EDI packet
EDI packet is delivered to Supplier
It is a confirmed delivery. The middleware will keep trying sending the message until it is delivered to Supplier.