Overview of ALE/IDOCs 2
04/22/08
EDI
What is EDI?
Type of EDI process
• Outbound EDI Process
• Inbound EDI Process
Overview of ALE/IDOCs 3
04/22/08
What is EDI?
EDI is electronic exchange of business documents
between the computer systems of business partner using
a standard format over a communication network EDI is
also called a paperless exchange.
Overview of ALE/IDOCs 7
04/22/08
EDI Configuration
How to Set Up an RFC Destination in SAP
The Port Definitions
Configure Partner Profile
Configure Message Control
Overview of ALE/IDOCs 9
04/22/08
ALE
ALE
What is ALE?
Components of ALE.
Anatomy of an IDoc.
ALE Processing
Transactions For Monitoring and Processing IDocs.
Questions
Overview of ALE/IDOCs 10
04/22/08
ALE Terminology
ALE Terminology
•ALE - Application Linking & Enabling
•IDoc - Intermediate Document
•EDI - Electronic Data Interchange
Overview of ALE/IDOCs 12
04/22/08
ALE!! What is it ??
It is a set of
It is a set of
Tools,
programs and
data definitions
Provides distribution model and technology
that enables SAP Customer to interconnect
programs across various platforms and
systems.
.
Overview of ALE/IDOCs 13
04/22/08
Features –ALE / IDocs
Features –ALE / IDocs
◆Distributed System yet integrated with SAP R/3
◆Based on ‘Application-to-Application integration using ‘Message
Architecture’
◆Reliable communication
◆Data is exchanged using “IDocs”
◆Support both R/2, R/3 and External system
◆If network problem, message is buffered
◆ALE support backward compatibility
◆ALE ensure that , data is transferred only once
Overview of ALE/IDOCs 14
04/22/08
ALE Scenario
ALE Scenario
Document
SAP System R/3 SAP System R/3
IDoc
EDI Subsystem
EDI Subsystem
IDoc
IDoc
Overview of ALE/IDOCs 15
04/22/08
What is ALE ?
Components of ALE.
Anatomy of an IDoc.
ALE Processing
Transactions For Monitoring and Processing IDocs.
Trouble Shooting
Questions
Topics to cover
Topics to cover
Overview of ALE/IDOCs 16
04/22/08
Components of ALE
Components of ALE
Services:
Services:
Application Services
Application Services
Distribution Services
Distribution Services
Communication Services
Communication Services
Overview of ALE/IDOCs 17
04/22/08
Application Services
Application Services
Services:
Services:
Application Services
Application Services
Distribution Services
Distribution Services
Communication Services
Communication Services
This is where the SAP
applications ( SD, FI,
MM etc. ) generate
their data and
documents
Overview of ALE/IDOCs 18
04/22/08
Distribution Services
Distribution Services
Services:
Services:
Application Services
Application Services
Distribution Services
Distribution Services
Communication Services
Communication Services
Recipients
Formats and
Filters the data
Creates IDocs
( Intermediate
Documents
Overview of ALE/IDOCs 19
04/22/08
Communication Services
Communication Services
Services:
Services:
Application Services
Application Services
Distribution Services
Distribution Services
Communication Services
Communication Services •TCP/IP
•RFC
•tRFC
• etc
Overview of ALE/IDOCs 20
04/22/08
Application
Data
Master
IDOC Determine
Receipients
Filter/Convert
Data, Create IDOC
Comm.
IDOC
Application
Functions
Filter/Convert
Data
Comm.
IDOC
Carrier
Application
Layer
Distribution/ ALE
Layer
Communication
Layer
Application
In a Nut Shell
In a Nut Shell
Overview of ALE/IDOCs 21
04/22/08
Topics to cover
Topics to cover
What is ALE ?
Components of ALE.
Anatomy of an IDoc.
ALE Processing
Transactions For Monitoring and Processing IDocs.
Trouble Shooting
Questions
Overview of ALE/IDOCs 22
04/22/08
IDoc Concept
IDoc Concept
R/3 System
System 1
SAP
Document
EDI subsystem
R/3 System
R/2 System
3rd party software
System 2
IDoc
Overview of ALE/IDOCs 23
04/22/08
IDoc Structure
IDoc Structure
Status Record IDoc-ID
Status information
Data Record IDoc-ID
Sequence/Hierarchy
Segment Format definition for
• header data
• item data
Control Record IDoc-ID
Sender-ID
Receiver-ID
IDoc type and logical message
External structure
Overview of ALE/IDOCs 24
04/22/08
Control record
Data Record
Status Record
IDOC
“Intermediate
Document”
Overview of ALE/IDOCs 25
04/22/08
The very first record of an IDoc package is always
a control record. The
structure of this control record of the structure
EDIDC and describes the contents of the data
contained in the package. The control record goes to
table EDIDC
Control Record
Control Record
Overview of ALE/IDOCs 26
04/22/08
Message Type
Message Type
Message Type indicates How to Know what the data Means
Data Exchanged by IDOC and EDI is known as Messages
Message of same kind belong to the same message type.
Message types are stored in table EDMSG
Overview of ALE/IDOCs 27
04/22/08
All records in the IDoc, which come after the
control record, are the IDoc data. They are all
structured alike, with a segment information part
and a data part, which is 1000 character in
length, filling the rest of the line. Data &
Segment info is stored in EDID4 for release 4.x
and EDID3 for release 2.x and 3.x.
Data Record
Data Record
Overview of ALE/IDOCs 28
04/22/08
Status Record
Status Record Information about the IDoc status like:
IDoc identification number
Status number - table verified
IDoc type
Direction
Data and time stamp; Structure: EDIDS
Overview of ALE/IDOCs 29
04/22/08
Status of IDOC
Status of IDOC
A two-digit status is assigned to an IDoc to allow the processing to
be monitored.
The statuses for outbound IDocs are between '01' and '49', while the
statuses for inbound IDocs begin with '50'.
Overview of ALE/IDOCs 34
04/22/08
IDOC Type/ Message Type/ Processing Function
IDOC Type/ Message Type/ Processing Function
Module
Module
Valid combination of Message type and IDOC type are stored in table
EDIMSG
Combination of message type and IDOC type determine the
processing algorithm. This is usually a function module and is set up in
table EDIFCT.
Overview of ALE/IDOCs 35
04/22/08
Topics to cover
Topics to cover
What is ALE ?
Components of ALE.
Anatomy of an IDoc.
ALE Processing.
i.Outbound Processing
ii.Inbound Processing
Transactions For Monitoring and Processing IDocs.
Trouble Shooting
Questions
Overview of ALE/IDOCs 37
04/22/08
Outbound processing: direct
Outbound processing: direct
Application
posting
Need to
create IDOC?
Create master
IDOC
Customer
Distribution Model
Receiver determination
Segment filter
Field value conversion
Version change
ALE layer
Dispatch
control
Database
M
Application document
posted simultaneously
with IDOCs
Comm. layer
asynch. RFC
or
EDI
System call FM
( INBOUND_
IDOC_
PROCESS )
On destination
C
Links
C
Comm. layer
Overview of ALE/IDOCs 38
04/22/08
Dispatch control
Dispatch control
Application
posting
Need to
create IDOC?
Create master
IDOC
Customer
Distribution Model
Receiver determination
Segment filter
Field value conversion
Version change
ALE layer
Dispatch
control
Database
M
Application document
posted simultaneously
with IDocs
C
asynch. RFC
or
EDI
Links
C
asynch. RFC
or
EDI
C
Comm. layer
●
Technical comms parameters are
Technical comms parameters are
defined
defined
●
EDI or aRFC (asynch. remote
EDI or aRFC (asynch. remote
function call)
function call)
●
Send immediately or cumulate
Send immediately or cumulate
and send via batch job
and send via batch job
●
If batch, packet size is
If batch, packet size is
determined
determined
Overview of ALE/IDOCs 39
04/22/08
Scenario analysis
Scenario analysis
• How does the IDOC look like ?
• How is data being sent ?
• How is the data being received ?
Overview of ALE/IDOCs 40
04/22/08
Outbound program development
• Program logic
– “How is the IDOC being created ?”
• Triggering
– “How is the IDOC creation kicked off ?”
Overview of ALE/IDOCs 41
04/22/08
Program logic
Program logic
• Select data from application tables
• Fill data into IDOC
• Pass IDOC to ALE layer
(Call function MASTER_IDOC_DISTRIBUTE)
• Commit Work
• Receiver determination
• Segment filtering
• Version Control
• Dispatch Control
IDOC program
ALE layer
MASTER_IDOC_DISTRIBUTE
Overview of ALE/IDOCs 42
04/22/08
MASTER_IDOC_DISTRIBUTE
MASTER_IDOC_DISTRIBUTE
Call function ‘MASTER_IDOC_DISTRIBUTE’
Exporting
master_idoc_control: IDOC control record
Tables
communication_idoc_control: returned information
about the distribution
master_idoc_data: IDOC data segments
Overview of ALE/IDOCs 43
04/22/08
Filling an EDIDD structure
Filling an EDIDD structure
Header (55bytes) SDATA (1000bytes)
…. SEGNAM ….
EDIDD
Z1SEG
Field1 Field2 Field3 Field4
“10” “ABC”
MOVE “Z1SEG” to EDIDD-SEGNAM
MOVE “10” to Z1SEG-FIELD1
MOVE “ABC” to Z1SEG-FIELD2
MOVE Z1SEG to EDIDD-SDATA
Overview of ALE/IDOCs 44
04/22/08
General Programming rules
General Programming rules
Design Guidelines for creating IDOC data records:
● Left-justified filing of IDOC Fields
• Replacing SAP codes with ISO codes
currency keys
country keys
unit of measure
shipping instructions
● Converting Currency Amounts
Overview of ALE/IDOCs 45
04/22/08
Left-justified Filling
Left-justified Filling
All fields must be left-justified
Character fields:
automatic
Non-character fields:
‘Condense’ statement must be used
Check IDOC documentation to find out which fields
require a ‘condense’
All types unequal to ‘char’, ‘cuky’, ‘clnt’, ‘accp’, ‘numc’,
‘dats’, ‘tims’ or ‘unit’ require a condense
Overview of ALE/IDOCs 46
04/22/08
Code Conversions
Code Conversions
Replacing SAP codes with ISO codes
– Currency keys: ‘currency_code_sap_to_iso’
– Country keys: ‘country_code_sap_to_iso’
– Units of measure: ‘unit_of_measure_sap_to_iso’
– Shipping instructions: sap_iso_package_type_code’
• Conversion of currency amounts
– ‘currency_amount_sap_to_iso’
Overview of ALE/IDOCs 47
04/22/08
Basic Configuration Elements
Basic Configuration Elements
Define RFC Destinations
Define Ports
Maintain Customer Model
Create Partner Profiles
Overview of ALE/IDOCs 49
04/22/08
Displaying and Maintaining Ports
Displaying and Maintaining Ports
A port is a logical representation of a
A port is a logical representation of a
communication channel in SAP with
communication channel in SAP with
the data communicated being IDocs
the data communicated being IDocs.
TCODE:
WE21
Overview of ALE/IDOCs 57
04/22/08
Inbound Processing.
Inbound Processing.
Application
posting
Field value conversion
ALE layer
Input
control
Database
A
Simultaneously update
IDOC's status
Comm. layer
asynch. RFC
or
EDI
Version change
Segment filter
C
A
Post application
document
Process IDOC
Serialization
Overview of ALE/IDOCs 58
04/22/08
Input Control
Input Control
Application
posting
Field value conversion
ALE layer
Input
control
Database
A
Simultaneously update
IDOC's status
Comm. layer
asynch. RFC
or
EDI
Version change
Segment filter
C
A
Post application
document
Process IDOC
Serialization
●
For each message type and sender
For each message type and sender
one can define
one can define
●
when to process
when to process
(immediate/batch)
(immediate/batch)
●
whether to call application
whether to call application
directly or start customer
directly or start customer
workflow
workflow
●
who should get work items in
who should get work items in
case of error
case of error
●
Incoming IDOC packets are passed to
Incoming IDOC packets are passed to
application
application
Overview of ALE/IDOCs 59
04/22/08
Application Input
Application Input
Application
posting
Field value conversion
ALE layer
Input
control
Database
A
Simultaneously update
IDOC's status
Comm. layer
asynch. RFC
or
EDI
Version change
Segment filter
C
A
Post application
document
Process IDOC
Serialization
●
Inbound IDOCs are passed to
Inbound IDOCs are passed to
the application via a
the application via a
standardized function
standardized function
interface
interface
Overview of ALE/IDOCs 60
04/22/08
Serialization
Serialization
Application
posting
Field value conversion
ALE layer
Input
control
Database
A
Simultaneously update
IDOC's status
Comm. layer
asynch. RFC
or
EDI
Version change
Segment filter
C
A
Post application
document
Process IDOC
Serialization
●
When processing the
When processing the
inbound IDOC, the
inbound IDOC, the
application can call an ALE
application can call an ALE
API (function module) to
API (function module) to
check that the IDOC has not
check that the IDOC has not
been overtaken
been overtaken
●
If change No. 1 arrives
If change No. 1 arrives
after change No. 2, the
after change No. 2, the
IDOC containing it has
IDOC containing it has
been overtaken (by the
been overtaken (by the
IDOC containing the
IDOC containing the
later change)
later change)
Overview of ALE/IDOCs 61
04/22/08
FM Assignment to Message Type and
FM Assignment to Message Type and
IDoc type
IDoc type
TCODE:
WE57
Overview of ALE/IDOCs 65
04/22/08
Inbound Program Development
Inbound Program Development
INBOUND_IDOC_PROCESS
IDOC
ALE layer
IDOC_INPUT_<MSGTYPE>
• Read IDOC data
• Post Application data
• Send Success info back to ALE layer
ALE configuration
• Partner Profiles
• Process Code
• Function module attribute
• Function module registry
Workflow Task
Call function
Return Variables
If ERROR, trigger
• Version change
• Segment filter
• Field conversion
Overview of ALE/IDOCs 66
04/22/08
Basic Scenario
Direct Method
Call Transaction Method
Overview of ALE/IDOCs 67
04/22/08
Advanced Scenario
Mass processing
Serialization
Advanced Workflow
Overview of ALE/IDOCs 68
04/22/08
Flow Of Program
Read IDOC-Lock IDOC-Call Inbound Program-
Write Status-Commit Work-Unlock IDOC
Overview of ALE/IDOCs 69
04/22/08
Interface of Inbound FM
Importing Parameter
-Input Method
-Mass_processing
EXPORT parameter .
-Workflow_result
-Application_variable
-In_Update_task
-Call_transaction_done
Tables parameter :
IDOC_Control
IDOC_DATA
IDOC_STATUS
Return_variable
Overview of ALE/IDOCs 70
04/22/08
Topics to cover
Topics to cover
What is ALE ?
Components of ALE.
Anatomy of an IDoc.
ALE Processing
Transactions For Monitoring and Processing IDocs.
Questions
Overview of ALE/IDOCs 71
04/22/08
Monitoring IDocs
Monitoring IDocs
• The IDoc interface offers 2 different approaches for tracking of data
load and data flow:
Reports for monitoring
Workflow for notifications
• Both approaches are based on the concept of status transitions, i.e.
an IDoc changes its status from a given value to another value.
Overview of ALE/IDOCs 72
04/22/08
List Of All IDocs Created. (Default, Additional, EDI)-- WE02/
List Of All IDocs Created. (Default, Additional, EDI)-- WE02/
WE05
WE05
Overview of ALE/IDOCs 73
04/22/08
Selection Program For Issuing Output --
Selection Program For Issuing Output --
WE15
WE15
Overview of ALE/IDOCs 74
04/22/08
Test Tool For Idoc Processing (WE19)
Test Tool For Idoc Processing (WE19)
Overview of ALE/IDOCs 75
04/22/08
Idoc Search For Business Contents
Idoc Search For Business Contents
(Database). WE09
(Database). WE09