SlideShare a Scribd company logo
1 of 107
Download to read offline
IBM Global Services
© Copyright IBM Corporation 2006
Overview of ALE / IDOCs
Topics to cover
q  What is ALE?
q Components of ALE.
q Anatomy of an IDoc.
q ALE Processing
q Transactions For Monitoring and Processing IDocs.
q Questions
ALE Terminology
• ALE - Application Linking & Enabling
• IDoc - Intermediate Document
• EDI - Electronic Data Interchange
ALE Objective
ALE!! What is it ??
It is a set of
n  Tools,
n  programs and
n  data definitions
that provides the mechanism for
distributing functionality and data across
multiple system.
What Data can be Exchanged ?
 Transaction Data
– SD, MM, FI, CO, etc.
 Master Data
– Material, Customer, Vendor, etc.
 Control Data
– Organizational Reference Information
• Plants, Sales Orgs, etc.
 Data required to enable tightly coupled,
distributed applications
– Separate HR, Separate Treasury, etc.
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
ALE Scenario
Document
SAP System R/3 SAP System R/3
IDoc
EDI Subsystem
EDI Subsystem
IDoc
IDoc
q What is ALE ?
q Components of ALE.
q Anatomy of an IDoc.
q ALE Processing
q Transactions For Monitoring and Processing IDocs.
q Trouble Shooting
q Questions
Topics to cover
Components of ALE
Services:
Application Services
Distribution Services
Communication Services
Tools:
Customizing Tools
Development Tools
Application Services
Services:
Application Services
Distribution Services
Communication Services
Tools:
Customizing Tools
Development Tools
This is where the SAP
applications ( SD, FI,
MM etc. ) generate
their data and
documents
Distribution Services
Services:
Application Services
Distribution Services
Communication Services
Tools:
Customizing Tools
Development Tools
n  Recipients
n  Formats and
Filters the data
n  Creates IDocs
( Intermediate
Documents
Communication Services
Services:
Application Services
Distribution Services
Communication Services
Tools:
Customizing Tools
Development Tools
• TCP/IP
• RFC
• tRFC
• etc
Development Tools
Services:
Application Services
Distribution Services
Communication Services
Tools:
Customizing Tools
Development Tools
n  Model Maintenance Tool.
(for configuring the flow of data
between systems )
§ Shared Master Data(SMD)tools
(for distributing master data )
n  Customization parameters
(within SAP for IDoc filtering and
conversion. )
Customizing Tools
Services:
Application Services
Distribution Services
Communication Services
Tools:
Customizing Tools
Development Tools Tools for creating
and modifying
IDocs
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
Topics to cover
q What is ALE ?
q Components of ALE.
q Anatomy of an IDoc.
q ALE Processing
q Transactions For Monitoring and Processing IDocs.
q Trouble Shooting
q Questions
IDoc Concept
< R/3 System
System 1
SAP
Document
< EDI subsystem
< R/3 System
< R/2 System
< 3rd party software
System 2
IDoc
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
Control record
Data Record
Status Record
IDOC
Intermediate
Document
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
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
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
Status Record
Information about the IDoc status like:
IDoc identification number
Status number - table verified
IDoc type
Direction
Data and time stamp; Structure:
EDIDS
Status of IDOC
q A two-digit status is assigned to an IDoc to allow the processing to
be monitored.
q The statuses for outbound IDocs are between '01' and '49', while the
statuses for inbound IDocs begin with '50'.
q Status confirmation when using port type 'File':
The external system writes the status records in a status file, which is
read by the R/3 System. In this case, the confirmation always refers to
outbound IDocs.
q Status confirmation using IDoc type SYSTAT01:
The system sending the confirmation writes the status records as data
records of IDoc type SYSTAT01. All port types and both directions can
be entered.
Idoc Segments
TCODE:
WE31
Idoc Types
TCODE:
WE30
How to Attach Segments
Message Types
WE81
WE82
IDOC Type/ Message Type/ Processing Function 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.
Topics to cover
q What is ALE ?
q Components of ALE.
q Anatomy of an IDoc.
q ALE Processing.
i.Outbound Processing
ii.Inbound Processing
q Transactions For Monitoring and Processing IDocs.
q Trouble Shooting
q Questions
Outbound Processing
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
C
Links
C
Comm. layer
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
Links
C
Querying the Model
asynch. RFC
or
EDI
Comm. layer
C
-  ALE supplies APIs (function modules) to
allow applications to query the model
§  Is anybody interested in my message type?
§  Optional: what filter objects are they
interested in?
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
-  The application creates the IDOC
-  Technically it is stored as an
internal table
-  Passed to ALE via an API
(function module)
Links
C
Handover IDoc to ALE
asynch. RFC
or
EDI
C
Comm. layer
Receiver determination
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
asynch. RFC
or
EDI
Links
C
asynch. RFC
or
EDI
C
Comm. layer
-  If the application has no specified
recipients
§  ALE refers to the customer
distribution model to determine
them
§  Data not relevant to receiver
(according to model) is removed
in ALE layer.
Segment filter
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
asynch. RFC
or
EDI
Links
C
asynch. RFC
or
EDI
C
Comm. layer
-  The filter is data-independent
-  IDOC segments that are not
required can be removed
-  The filter is message and receiver-
specific
Field value conversion
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
asynch. RFC
or
EDI
Links
C
asynch. RFC
or
EDI
C
Comm. layer
-  The contents of individual
fields can be
§  translated to new values
§  suppressed
-  The filter is message and
receiver-specific
Version change
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
Links
C
asynch. RFC
or
EDI
C
Comm. layer
-  IDOCs can be changed to older
versions
-  Systems with different release
levels can communicate
without additional application
logic
Make Links
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
C
Links
asynch. RFC
or
EDI
C
Comm. layer
-  Links are written between IDOC
and
§  Application object contained
in IDOC
§  Communication-Layer's
"Transaction-ID"
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
defined
-  EDI or aRFC (asynch. remote
function call)
-  Send immediately or cumulate
and send via batch job
§  If batch, packet size is
determined
Scenario analysis
•  How does the IDOC look like ?
•  How is data being sent ?
•  How is the data being received ?
Outbound program development
•  Program logic
–  How is the IDOC being created ?
•  Triggering
–  How is the IDOC creation kicked off ?
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
MASTER_IDOC_DISTRIBUTE
Call function MASTER_IDOC_DISTRIBUTE
n  Exporting
w  master_idoc_control: IDOC control record
n  Tables
w  communication_idoc_control: returned information
about the distribution
w  master_idoc_data: IDOC data segments
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
General Programming rules
l  Design Guidelines for creating IDOC data records:
•  Left-justified filing of IDOC Fields
•  Replacing SAP codes with ISO codes
w  currency keys
w  country keys
w  unit of measure
w  shipping instructions
•  Converting Currency Amounts
Left-justified Filling
l  All fields must be left-justified
n  Character fields:
w  automatic
n  Non-character fields:
w  Condense statement must be used
w  Check IDOC documentation to find out which fields
require a condense
w  All types unequal to char , cuky , clnt , accp ,
numc , dats , tims or unit require a condense
Code Conversions
l  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
Basic Configuration Elements
§  Create and allocate Logical System
§  Define Ranges (Idocs, Ports, etc )
§  Define RFC Destinations
§  Define Ports
§  Maintain Customer Model
§  Create Partner Profiles
Logical System
TCODE:
BD54; Stored in
table T000
Allocate Logical System to the client
SALE > BASIC SETTINGS > SET UP
LOGICAL SYSTEM > ASSIGN LOGICAL
SYSTEM TO THE CLIENT
TCODE:
SCC4
Number Ranges
§  Maintain number ranges for ports
§  Maintain number ranges for IDocs
§  Maintain number ranges for IDoc types and segment version
§  Maintain number range for change pointers
Maintaining RFC Destinations
TCODE:
SM59
Displaying and Maintaining Ports
A port is a logical representation of a
communication channel in SAP with
the data communicated being IDocs.
TCODE:
WE21
Partner Profiles
TCODE:
WE20
Partner Profiles-Outbound
Partner Profiles-Inbound
Distribution Model
TCODE:
BD64
Transfer of data
Transfer master data for material, customer, vendor to different client
or system with BALE
Filter Objects
BD95
BD59
Sending Master Data Idocs
Only send
objects that have
changed ?
Change
Pointer
available?
Master
data ?
Standalone with
custom logic to keep
track of changes
Change Pointer
based Program
y
N
Y
Standalone program
with user-definable
selection criteria
N
Y
Sending Transactional Data Idocs
Ensure trans-
actional
Integrity?
Output
Determinat
ion
available ?
Transaction
Data ?
hard coded ALE
layer
Modification
Output determination
based Program
y
N
Y
N
Y
User-Exit
available?
N
Hardcoded ALE layer
no Modification
Y
See Master data
Change Pointers
Application Posting
• Post Application document
• Create Change Document
• Are changes ALE relevant ?
• Write Change Pointers
• Commit Work
ALE configuration
• ALE relevant Fields
Batch Program
(RBDMIDOC)
IDOC Module
(Masteridoc_Create_
SMD_<MSGTYPE>)
• Read Change Pointers
• Fill IDOC
• Call ALE layer
• Update Change Pointer
Master data
Change pointers
ALE layer
Master_IDOC_DISTRIBUTE
• Determine IDOC module
• Call IDOC module
ü  Change Pointers
BD61
BD50
ü  Change Pointers… Continued
BD52
BD60
IDOC module
l  IDOC module has to be implemented as function module
l  Naming Convention: MASTERIDOC_CREATE_SMD_<msgtype>
l  Function module reads change pointers information to get data that
needs to go into IDOC
l  Function module logic:
n  Read change pointers
n  Fill IDOC structure
n  Call ALE layer
n  Update Change Pointer status
n  Commit Work
ALE Configuration For Change Pointers
•  Define change pointer creation
•  Define which change document fields are to be logged
•  Change pointer activation
•  Activate generally
•  Activate per message type
•  Publish new function module
•  Link message type to function module
ALE For Transactional data ---- Output Determination
NACE
Output Determination -- Access Sequence
Output Determination -- Output Types
Output Types -- Details
Output Types -- Partner Functions
Output Types -- Processing Routines
Output Types -- Procedures
Output Types -- Procedures Control
Output Types -- Condition records
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
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
one can define
§  when to process (immediate/
batch)
§  whether to call application
directly or start customer
workflow
§  who should get work items in
case of error
-  Incoming IDOC packets are passed to
application
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
the application via a
standardized function
interface
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
inbound IDOC, the
application can call an ALE
API (function module) to
check that the IDOC has not
been overtaken
§  If change No. 1 arrives
after change No. 2, the
IDOC containing it has
been overtaken (by the
IDOC containing the
later change)
FM Assignment to Message Type and IDoc type
TCODE:
WE57
Process Codes
WE41
WE42
Process Codes in Inbound and Outbound
TCODE:
WE64
FM For Inbound EDI
TCODE:
BD67
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
ALE error handling
User action R/3 action
Execute Workitem
Fix error and reprocess IDoc
or
Flag IDoc for deletion
Error in inbound function module
ALE triggers error event
Workitem appears in user's Inbox
Display IDoc for user processing
(IDoc method "InputForeground")
ALE triggers end event
Workitem completed
input Error Occurred
input Finished
ALE error handling
l  Necessary Steps:
n  Create new object type in Business Object Repository for IDOC;
object is child of IDOCAPPL
n  Create new customer task
n  Create event-couplings linking
w  Event inputErrorOccured linked to standard task
w  Event inputFinished to function module
n  To support mass processing:
w  Create new object type as child of IDOCPACKET
n  Maintain process code to refer the above objects and events
Advanced Inbound Topics
•  Data consistency
•  Serialization
•  Individual vs. mass processing
•  Call transaction function modules
Data Consistency
•  Problem:
–  Ensure transactional integrity
•  Don t process and IDOC twice
•  Allow for IDOC reprocessing after rollback of
application document posting
•  Solution:
–  Application document must be posted in the same
LUW as the IDOC status records
–  IDOC function module must not use a Commit
Work
Data Consistency
ALE Layer Application
function module
Read IDoc(s)
Commit Work
Unlock IDoc(s) and
application objects
Lock IDoc(s)
Write IDoc(s) status
Write links
Optional:
Write serialization data
Trigger event(s)
Lock application objects
Optional: Serialization check
Process IDoc data
Write application data to DB
Serialization
Receiver
1
2
1
2
Object X,
changed twice:
First IDOC
overtaken
Comm. Layer
Sender
!?
Input from IDOC 1
must be prevented
in order not to lose
information from
IDOC 2
Serialization
l  Check, if IDOC has been overtaken
n  Use function module IDOC_SERIALIZATION_CHECK
n  react to overtaken IDOCs according to your needs
l  Prerequisite is the definition of a serialization
object
Mass Processing
l  Processing more than one IDOC can improve
throughput:
n  more than one IDOC is processed per Commit Work
n  the function can be coded to add multiple entries to a table
with one update command ( array insert )
l  Function module has to be coded in a way that it
supports mass processing
l  Attribute of delivered function module specifies if
mass processing is supported or not
Call Transaction
l  Pros:
n  Error reprocessing in foreground
n  Easy to program
l  Cons:
n  Call Transaction has significant performance overhead
n  Automatic Commit work, no data consistency
l  Recommendation:
n  Try to use function modules that update database directly
n  If you want to use Call transaction , they have been
ALE-enabled to guarantee data concistency
Topics to cover
q What is ALE ?
q Components of ALE.
q Anatomy of an IDoc.
q ALE Processing
q Transactions For Monitoring and Processing IDocs.
q Questions
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.
List Of All IDocs Created. (Default, Additional, EDI)-- WE02/ WE05
Selection Program For Issuing Output -- WE15
Process All Selected IDocs. WE14
Test Tool For Idoc Processing (WE19)
Select IDocs BD87
Idoc Search For Business Contents (Database). WE09
Status Conversion With Trfc Execution. BD75
Questions
15. ALE IDOC.pdf

More Related Content

What's hot

SAP IDoc Overview and Outbound IDoc.pptx
SAP IDoc Overview and Outbound IDoc.pptxSAP IDoc Overview and Outbound IDoc.pptx
SAP IDoc Overview and Outbound IDoc.pptxAshwaniKumar207236
 
SAP BADI Implementation Learning for Functional Consultant
SAP BADI Implementation Learning for Functional ConsultantSAP BADI Implementation Learning for Functional Consultant
SAP BADI Implementation Learning for Functional ConsultantAnkit Sharma
 
IDOC , ALE ,EDI
IDOC , ALE ,EDIIDOC , ALE ,EDI
IDOC , ALE ,EDIAmit Khari
 
0106 debugging
0106 debugging0106 debugging
0106 debuggingvkyecc1
 
BATCH DATA COMMUNICATION
BATCH DATA COMMUNICATIONBATCH DATA COMMUNICATION
BATCH DATA COMMUNICATIONKranthi Kumar
 
abap list viewer (alv)
abap list viewer (alv)abap list viewer (alv)
abap list viewer (alv)Kranthi Kumar
 
Enhancement framework the new way to enhance your abap systems
Enhancement framework   the new way to enhance your abap systemsEnhancement framework   the new way to enhance your abap systems
Enhancement framework the new way to enhance your abap systemsKranthi Kumar
 
How to extend an outbound i doc
How to extend an outbound i docHow to extend an outbound i doc
How to extend an outbound i docrupesh chouhan
 
Idocs tcodes and others , sap idoc
Idocs tcodes and others , sap idoc Idocs tcodes and others , sap idoc
Idocs tcodes and others , sap idoc chiku_jpb
 
Oops abap fundamental
Oops abap fundamentalOops abap fundamental
Oops abap fundamentalbiswajit2015
 
Bdc BATCH DATA COMMUNICATION
Bdc BATCH DATA COMMUNICATIONBdc BATCH DATA COMMUNICATION
Bdc BATCH DATA COMMUNICATIONHitesh Gulani
 
SAP S4HANA Migration Cockpit.pdf
SAP S4HANA Migration Cockpit.pdfSAP S4HANA Migration Cockpit.pdf
SAP S4HANA Migration Cockpit.pdfKrishnaAkula4
 
IT Sapiens-SAP ITS Mobile Solution With Responsive Design for Multi Device Ad...
IT Sapiens-SAP ITS Mobile Solution With Responsive Design for Multi Device Ad...IT Sapiens-SAP ITS Mobile Solution With Responsive Design for Multi Device Ad...
IT Sapiens-SAP ITS Mobile Solution With Responsive Design for Multi Device Ad...Vijay Pisipaty
 

What's hot (20)

SAP IDoc Overview and Outbound IDoc.pptx
SAP IDoc Overview and Outbound IDoc.pptxSAP IDoc Overview and Outbound IDoc.pptx
SAP IDoc Overview and Outbound IDoc.pptx
 
SAP BADI Implementation Learning for Functional Consultant
SAP BADI Implementation Learning for Functional ConsultantSAP BADI Implementation Learning for Functional Consultant
SAP BADI Implementation Learning for Functional Consultant
 
IDOC , ALE ,EDI
IDOC , ALE ,EDIIDOC , ALE ,EDI
IDOC , ALE ,EDI
 
0106 debugging
0106 debugging0106 debugging
0106 debugging
 
BATCH DATA COMMUNICATION
BATCH DATA COMMUNICATIONBATCH DATA COMMUNICATION
BATCH DATA COMMUNICATION
 
Sap edi idoc
Sap edi idocSap edi idoc
Sap edi idoc
 
abap list viewer (alv)
abap list viewer (alv)abap list viewer (alv)
abap list viewer (alv)
 
Enhancement framework the new way to enhance your abap systems
Enhancement framework   the new way to enhance your abap systemsEnhancement framework   the new way to enhance your abap systems
Enhancement framework the new way to enhance your abap systems
 
How to extend an outbound i doc
How to extend an outbound i docHow to extend an outbound i doc
How to extend an outbound i doc
 
Idocs tcodes and others , sap idoc
Idocs tcodes and others , sap idoc Idocs tcodes and others , sap idoc
Idocs tcodes and others , sap idoc
 
Oops abap fundamental
Oops abap fundamentalOops abap fundamental
Oops abap fundamental
 
CDS Views.pptx
CDS Views.pptxCDS Views.pptx
CDS Views.pptx
 
Bdc BATCH DATA COMMUNICATION
Bdc BATCH DATA COMMUNICATIONBdc BATCH DATA COMMUNICATION
Bdc BATCH DATA COMMUNICATION
 
Idocs
IdocsIdocs
Idocs
 
SAP S4HANA Migration Cockpit.pdf
SAP S4HANA Migration Cockpit.pdfSAP S4HANA Migration Cockpit.pdf
SAP S4HANA Migration Cockpit.pdf
 
IT Sapiens-SAP ITS Mobile Solution With Responsive Design for Multi Device Ad...
IT Sapiens-SAP ITS Mobile Solution With Responsive Design for Multi Device Ad...IT Sapiens-SAP ITS Mobile Solution With Responsive Design for Multi Device Ad...
IT Sapiens-SAP ITS Mobile Solution With Responsive Design for Multi Device Ad...
 
sap script overview
sap script overviewsap script overview
sap script overview
 
SAP Fiori ppt
SAP Fiori pptSAP Fiori ppt
SAP Fiori ppt
 
SAP PI/PO FAQ’s
SAP PI/PO FAQ’sSAP PI/PO FAQ’s
SAP PI/PO FAQ’s
 
Sap fiori tutorial
Sap fiori tutorialSap fiori tutorial
Sap fiori tutorial
 

Similar to 15. ALE IDOC.pdf

Similar to 15. ALE IDOC.pdf (20)

Ale Idoc Edi
Ale Idoc EdiAle Idoc Edi
Ale Idoc Edi
 
Ale Idoc
Ale IdocAle Idoc
Ale Idoc
 
ALE EDI.pdf
ALE EDI.pdfALE EDI.pdf
ALE EDI.pdf
 
Ale IDOC
Ale IDOCAle IDOC
Ale IDOC
 
ALE IDOC configuration documents FIC.ppt
ALE IDOC configuration documents FIC.pptALE IDOC configuration documents FIC.ppt
ALE IDOC configuration documents FIC.ppt
 
IDOCS ALE
IDOCS ALEIDOCS ALE
IDOCS ALE
 
IDOC.pdf
IDOC.pdfIDOC.pdf
IDOC.pdf
 
All about idoc definition architecture, implementation
All about idoc definition architecture, implementationAll about idoc definition architecture, implementation
All about idoc definition architecture, implementation
 
All about idoc definition architecture, implementation
All about idoc definition architecture, implementationAll about idoc definition architecture, implementation
All about idoc definition architecture, implementation
 
IDOC
IDOC IDOC
IDOC
 
I doc in SAP
I doc in SAPI doc in SAP
I doc in SAP
 
Edi,idoc,ale
Edi,idoc,aleEdi,idoc,ale
Edi,idoc,ale
 
ALE_Presentation.ppt
ALE_Presentation.pptALE_Presentation.ppt
ALE_Presentation.ppt
 
Pranayesh
PranayeshPranayesh
Pranayesh
 
Sap
SapSap
Sap
 
EDI_IDOC.pdf
EDI_IDOC.pdfEDI_IDOC.pdf
EDI_IDOC.pdf
 
idoc.ppt
idoc.pptidoc.ppt
idoc.ppt
 
idoc.ppt
idoc.pptidoc.ppt
idoc.ppt
 
IDOC_handy_document.pdf
IDOC_handy_document.pdfIDOC_handy_document.pdf
IDOC_handy_document.pdf
 
EZDOC - SAP IDOC Management Simplified
EZDOC - SAP IDOC Management SimplifiedEZDOC - SAP IDOC Management Simplified
EZDOC - SAP IDOC Management Simplified
 

Recently uploaded

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 

Recently uploaded (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

15. ALE IDOC.pdf

  • 1. IBM Global Services © Copyright IBM Corporation 2006 Overview of ALE / IDOCs
  • 2. Topics to cover q  What is ALE? q Components of ALE. q Anatomy of an IDoc. q ALE Processing q Transactions For Monitoring and Processing IDocs. q Questions
  • 3. ALE Terminology • ALE - Application Linking & Enabling • IDoc - Intermediate Document • EDI - Electronic Data Interchange
  • 5. ALE!! What is it ?? It is a set of n  Tools, n  programs and n  data definitions that provides the mechanism for distributing functionality and data across multiple system.
  • 6. What Data can be Exchanged ?  Transaction Data – SD, MM, FI, CO, etc.  Master Data – Material, Customer, Vendor, etc.  Control Data – Organizational Reference Information • Plants, Sales Orgs, etc.  Data required to enable tightly coupled, distributed applications – Separate HR, Separate Treasury, etc.
  • 7. 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
  • 8. ALE Scenario Document SAP System R/3 SAP System R/3 IDoc EDI Subsystem EDI Subsystem IDoc IDoc
  • 9. q What is ALE ? q Components of ALE. q Anatomy of an IDoc. q ALE Processing q Transactions For Monitoring and Processing IDocs. q Trouble Shooting q Questions Topics to cover
  • 10. Components of ALE Services: Application Services Distribution Services Communication Services Tools: Customizing Tools Development Tools
  • 11. Application Services Services: Application Services Distribution Services Communication Services Tools: Customizing Tools Development Tools This is where the SAP applications ( SD, FI, MM etc. ) generate their data and documents
  • 12. Distribution Services Services: Application Services Distribution Services Communication Services Tools: Customizing Tools Development Tools n  Recipients n  Formats and Filters the data n  Creates IDocs ( Intermediate Documents
  • 13. Communication Services Services: Application Services Distribution Services Communication Services Tools: Customizing Tools Development Tools • TCP/IP • RFC • tRFC • etc
  • 14. Development Tools Services: Application Services Distribution Services Communication Services Tools: Customizing Tools Development Tools n  Model Maintenance Tool. (for configuring the flow of data between systems ) § Shared Master Data(SMD)tools (for distributing master data ) n  Customization parameters (within SAP for IDoc filtering and conversion. )
  • 15. Customizing Tools Services: Application Services Distribution Services Communication Services Tools: Customizing Tools Development Tools Tools for creating and modifying IDocs
  • 16. 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
  • 17. Topics to cover q What is ALE ? q Components of ALE. q Anatomy of an IDoc. q ALE Processing q Transactions For Monitoring and Processing IDocs. q Trouble Shooting q Questions
  • 18. IDoc Concept < R/3 System System 1 SAP Document < EDI subsystem < R/3 System < R/2 System < 3rd party software System 2 IDoc
  • 19. 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
  • 20. Control record Data Record Status Record IDOC Intermediate Document
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. Status Record Information about the IDoc status like: IDoc identification number Status number - table verified IDoc type Direction Data and time stamp; Structure: EDIDS
  • 25. Status of IDOC q A two-digit status is assigned to an IDoc to allow the processing to be monitored. q The statuses for outbound IDocs are between '01' and '49', while the statuses for inbound IDocs begin with '50'. q Status confirmation when using port type 'File': The external system writes the status records in a status file, which is read by the R/3 System. In this case, the confirmation always refers to outbound IDocs. q Status confirmation using IDoc type SYSTAT01: The system sending the confirmation writes the status records as data records of IDoc type SYSTAT01. All port types and both directions can be entered.
  • 28. How to Attach Segments
  • 30. IDOC Type/ Message Type/ Processing Function 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.
  • 31. Topics to cover q What is ALE ? q Components of ALE. q Anatomy of an IDoc. q ALE Processing. i.Outbound Processing ii.Inbound Processing q Transactions For Monitoring and Processing IDocs. q Trouble Shooting q Questions
  • 33. 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 C Links C Comm. layer
  • 34. 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 Links C Querying the Model asynch. RFC or EDI Comm. layer C -  ALE supplies APIs (function modules) to allow applications to query the model §  Is anybody interested in my message type? §  Optional: what filter objects are they interested in?
  • 35. 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 -  The application creates the IDOC -  Technically it is stored as an internal table -  Passed to ALE via an API (function module) Links C Handover IDoc to ALE asynch. RFC or EDI C Comm. layer
  • 36. Receiver determination 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 asynch. RFC or EDI Links C asynch. RFC or EDI C Comm. layer -  If the application has no specified recipients §  ALE refers to the customer distribution model to determine them §  Data not relevant to receiver (according to model) is removed in ALE layer.
  • 37. Segment filter 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 asynch. RFC or EDI Links C asynch. RFC or EDI C Comm. layer -  The filter is data-independent -  IDOC segments that are not required can be removed -  The filter is message and receiver- specific
  • 38. Field value conversion 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 asynch. RFC or EDI Links C asynch. RFC or EDI C Comm. layer -  The contents of individual fields can be §  translated to new values §  suppressed -  The filter is message and receiver-specific
  • 39. Version change 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 Links C asynch. RFC or EDI C Comm. layer -  IDOCs can be changed to older versions -  Systems with different release levels can communicate without additional application logic
  • 40. Make Links 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 C Links asynch. RFC or EDI C Comm. layer -  Links are written between IDOC and §  Application object contained in IDOC §  Communication-Layer's "Transaction-ID"
  • 41. 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 defined -  EDI or aRFC (asynch. remote function call) -  Send immediately or cumulate and send via batch job §  If batch, packet size is determined
  • 42. Scenario analysis •  How does the IDOC look like ? •  How is data being sent ? •  How is the data being received ?
  • 43. Outbound program development •  Program logic –  How is the IDOC being created ? •  Triggering –  How is the IDOC creation kicked off ?
  • 44. 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
  • 45. MASTER_IDOC_DISTRIBUTE Call function MASTER_IDOC_DISTRIBUTE n  Exporting w  master_idoc_control: IDOC control record n  Tables w  communication_idoc_control: returned information about the distribution w  master_idoc_data: IDOC data segments
  • 46. 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
  • 47. General Programming rules l  Design Guidelines for creating IDOC data records: •  Left-justified filing of IDOC Fields •  Replacing SAP codes with ISO codes w  currency keys w  country keys w  unit of measure w  shipping instructions •  Converting Currency Amounts
  • 48. Left-justified Filling l  All fields must be left-justified n  Character fields: w  automatic n  Non-character fields: w  Condense statement must be used w  Check IDOC documentation to find out which fields require a condense w  All types unequal to char , cuky , clnt , accp , numc , dats , tims or unit require a condense
  • 49. Code Conversions l  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
  • 50. Basic Configuration Elements §  Create and allocate Logical System §  Define Ranges (Idocs, Ports, etc ) §  Define RFC Destinations §  Define Ports §  Maintain Customer Model §  Create Partner Profiles
  • 52. Allocate Logical System to the client SALE > BASIC SETTINGS > SET UP LOGICAL SYSTEM > ASSIGN LOGICAL SYSTEM TO THE CLIENT TCODE: SCC4
  • 53. Number Ranges §  Maintain number ranges for ports §  Maintain number ranges for IDocs §  Maintain number ranges for IDoc types and segment version §  Maintain number range for change pointers
  • 55. Displaying and Maintaining Ports A port is a logical representation of a communication channel in SAP with the data communicated being IDocs. TCODE: WE21
  • 60. Transfer of data Transfer master data for material, customer, vendor to different client or system with BALE
  • 62. Sending Master Data Idocs Only send objects that have changed ? Change Pointer available? Master data ? Standalone with custom logic to keep track of changes Change Pointer based Program y N Y Standalone program with user-definable selection criteria N Y
  • 63. Sending Transactional Data Idocs Ensure trans- actional Integrity? Output Determinat ion available ? Transaction Data ? hard coded ALE layer Modification Output determination based Program y N Y N Y User-Exit available? N Hardcoded ALE layer no Modification Y See Master data
  • 64. Change Pointers Application Posting • Post Application document • Create Change Document • Are changes ALE relevant ? • Write Change Pointers • Commit Work ALE configuration • ALE relevant Fields Batch Program (RBDMIDOC) IDOC Module (Masteridoc_Create_ SMD_<MSGTYPE>) • Read Change Pointers • Fill IDOC • Call ALE layer • Update Change Pointer Master data Change pointers ALE layer Master_IDOC_DISTRIBUTE • Determine IDOC module • Call IDOC module
  • 66. ü  Change Pointers… Continued BD52 BD60
  • 67. IDOC module l  IDOC module has to be implemented as function module l  Naming Convention: MASTERIDOC_CREATE_SMD_<msgtype> l  Function module reads change pointers information to get data that needs to go into IDOC l  Function module logic: n  Read change pointers n  Fill IDOC structure n  Call ALE layer n  Update Change Pointer status n  Commit Work
  • 68. ALE Configuration For Change Pointers •  Define change pointer creation •  Define which change document fields are to be logged •  Change pointer activation •  Activate generally •  Activate per message type •  Publish new function module •  Link message type to function module
  • 69. ALE For Transactional data ---- Output Determination NACE
  • 70. Output Determination -- Access Sequence
  • 71. Output Determination -- Output Types
  • 72. Output Types -- Details
  • 73. Output Types -- Partner Functions
  • 74. Output Types -- Processing Routines
  • 75. Output Types -- Procedures
  • 76. Output Types -- Procedures Control
  • 77. Output Types -- Condition records
  • 79. 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
  • 80. 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 one can define §  when to process (immediate/ batch) §  whether to call application directly or start customer workflow §  who should get work items in case of error -  Incoming IDOC packets are passed to application
  • 81. 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 the application via a standardized function interface
  • 82. 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 inbound IDOC, the application can call an ALE API (function module) to check that the IDOC has not been overtaken §  If change No. 1 arrives after change No. 2, the IDOC containing it has been overtaken (by the IDOC containing the later change)
  • 83. FM Assignment to Message Type and IDoc type TCODE: WE57
  • 85. Process Codes in Inbound and Outbound TCODE: WE64
  • 86. FM For Inbound EDI TCODE: BD67
  • 87. 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
  • 88. ALE error handling User action R/3 action Execute Workitem Fix error and reprocess IDoc or Flag IDoc for deletion Error in inbound function module ALE triggers error event Workitem appears in user's Inbox Display IDoc for user processing (IDoc method "InputForeground") ALE triggers end event Workitem completed input Error Occurred input Finished
  • 89. ALE error handling l  Necessary Steps: n  Create new object type in Business Object Repository for IDOC; object is child of IDOCAPPL n  Create new customer task n  Create event-couplings linking w  Event inputErrorOccured linked to standard task w  Event inputFinished to function module n  To support mass processing: w  Create new object type as child of IDOCPACKET n  Maintain process code to refer the above objects and events
  • 90. Advanced Inbound Topics •  Data consistency •  Serialization •  Individual vs. mass processing •  Call transaction function modules
  • 91. Data Consistency •  Problem: –  Ensure transactional integrity •  Don t process and IDOC twice •  Allow for IDOC reprocessing after rollback of application document posting •  Solution: –  Application document must be posted in the same LUW as the IDOC status records –  IDOC function module must not use a Commit Work
  • 92. Data Consistency ALE Layer Application function module Read IDoc(s) Commit Work Unlock IDoc(s) and application objects Lock IDoc(s) Write IDoc(s) status Write links Optional: Write serialization data Trigger event(s) Lock application objects Optional: Serialization check Process IDoc data Write application data to DB
  • 93. Serialization Receiver 1 2 1 2 Object X, changed twice: First IDOC overtaken Comm. Layer Sender !? Input from IDOC 1 must be prevented in order not to lose information from IDOC 2
  • 94. Serialization l  Check, if IDOC has been overtaken n  Use function module IDOC_SERIALIZATION_CHECK n  react to overtaken IDOCs according to your needs l  Prerequisite is the definition of a serialization object
  • 95. Mass Processing l  Processing more than one IDOC can improve throughput: n  more than one IDOC is processed per Commit Work n  the function can be coded to add multiple entries to a table with one update command ( array insert ) l  Function module has to be coded in a way that it supports mass processing l  Attribute of delivered function module specifies if mass processing is supported or not
  • 96. Call Transaction l  Pros: n  Error reprocessing in foreground n  Easy to program l  Cons: n  Call Transaction has significant performance overhead n  Automatic Commit work, no data consistency l  Recommendation: n  Try to use function modules that update database directly n  If you want to use Call transaction , they have been ALE-enabled to guarantee data concistency
  • 97. Topics to cover q What is ALE ? q Components of ALE. q Anatomy of an IDoc. q ALE Processing q Transactions For Monitoring and Processing IDocs. q Questions
  • 98. 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.
  • 99. List Of All IDocs Created. (Default, Additional, EDI)-- WE02/ WE05
  • 100. Selection Program For Issuing Output -- WE15
  • 101. Process All Selected IDocs. WE14
  • 102. Test Tool For Idoc Processing (WE19)
  • 104. Idoc Search For Business Contents (Database). WE09
  • 105. Status Conversion With Trfc Execution. BD75