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 Adding fields to dynamic selection for fbln transactions (2)
SAP Adding fields to dynamic selection for fbln transactions (2)SAP Adding fields to dynamic selection for fbln transactions (2)
SAP Adding fields to dynamic selection for fbln transactions (2)Imran M Arab
 
Technical Overview of CDS View - SAP HANA Part II
Technical Overview of CDS View - SAP HANA Part IITechnical Overview of CDS View - SAP HANA Part II
Technical Overview of CDS View - SAP HANA Part IIAshish Saxena
 
SAP Cloud Platform - The Business Platform for the Intelligent Enterprise
SAP Cloud Platform - The Business Platform for the Intelligent EnterpriseSAP Cloud Platform - The Business Platform for the Intelligent Enterprise
SAP Cloud Platform - The Business Platform for the Intelligent EnterpriseSAP Cloud Platform
 
Ale idoc training kit sap Anilkumar chowdary
Ale idoc training kit sap Anilkumar chowdaryAle idoc training kit sap Anilkumar chowdary
Ale idoc training kit sap Anilkumar chowdaryANILKUMARPULIPATI1
 
People soft application-designer-practice-8.43
People soft application-designer-practice-8.43People soft application-designer-practice-8.43
People soft application-designer-practice-8.43cesarvii
 
Oo abap-sap-1206973306636228-5
Oo abap-sap-1206973306636228-5Oo abap-sap-1206973306636228-5
Oo abap-sap-1206973306636228-5prakash185645
 
Introduction to Apache Calcite
Introduction to Apache CalciteIntroduction to Apache Calcite
Introduction to Apache CalciteJordan Halterman
 
1000 solved questions
1000 solved questions1000 solved questions
1000 solved questionsKranthi Kumar
 
Real-Time Processing of Spatial Data Using Kafka Streams, Ian Feeney & Roman ...
Real-Time Processing of Spatial Data Using Kafka Streams, Ian Feeney & Roman ...Real-Time Processing of Spatial Data Using Kafka Streams, Ian Feeney & Roman ...
Real-Time Processing of Spatial Data Using Kafka Streams, Ian Feeney & Roman ...HostedbyConfluent
 

What's hot (20)

MPP vs Hadoop
MPP vs HadoopMPP vs Hadoop
MPP vs Hadoop
 
SAP Adding fields to dynamic selection for fbln transactions (2)
SAP Adding fields to dynamic selection for fbln transactions (2)SAP Adding fields to dynamic selection for fbln transactions (2)
SAP Adding fields to dynamic selection for fbln transactions (2)
 
Technical Overview of CDS View - SAP HANA Part II
Technical Overview of CDS View - SAP HANA Part IITechnical Overview of CDS View - SAP HANA Part II
Technical Overview of CDS View - SAP HANA Part II
 
Apache phoenix
Apache phoenixApache phoenix
Apache phoenix
 
SAP Cloud Platform - The Business Platform for the Intelligent Enterprise
SAP Cloud Platform - The Business Platform for the Intelligent EnterpriseSAP Cloud Platform - The Business Platform for the Intelligent Enterprise
SAP Cloud Platform - The Business Platform for the Intelligent Enterprise
 
sap script overview
sap script overviewsap script overview
sap script overview
 
Ale idoc training kit sap Anilkumar chowdary
Ale idoc training kit sap Anilkumar chowdaryAle idoc training kit sap Anilkumar chowdary
Ale idoc training kit sap Anilkumar chowdary
 
People soft application-designer-practice-8.43
People soft application-designer-practice-8.43People soft application-designer-practice-8.43
People soft application-designer-practice-8.43
 
CDS Views.pptx
CDS Views.pptxCDS Views.pptx
CDS Views.pptx
 
Reports
ReportsReports
Reports
 
Oo abap-sap-1206973306636228-5
Oo abap-sap-1206973306636228-5Oo abap-sap-1206973306636228-5
Oo abap-sap-1206973306636228-5
 
Sap abap material
Sap abap materialSap abap material
Sap abap material
 
Introduction to Apache Calcite
Introduction to Apache CalciteIntroduction to Apache Calcite
Introduction to Apache Calcite
 
Apache hive introduction
Apache hive introductionApache hive introduction
Apache hive introduction
 
SAP Mobile Platform Architecture and Strategy
SAP Mobile Platform Architecture and StrategySAP Mobile Platform Architecture and Strategy
SAP Mobile Platform Architecture and Strategy
 
Sap abap
Sap abapSap abap
Sap abap
 
Abap dictionary 1
Abap dictionary 1Abap dictionary 1
Abap dictionary 1
 
1000 solved questions
1000 solved questions1000 solved questions
1000 solved questions
 
Sap Business Objects solutioning Framework architecture
Sap Business Objects solutioning Framework architectureSap Business Objects solutioning Framework architecture
Sap Business Objects solutioning Framework architecture
 
Real-Time Processing of Spatial Data Using Kafka Streams, Ian Feeney & Roman ...
Real-Time Processing of Spatial Data Using Kafka Streams, Ian Feeney & Roman ...Real-Time Processing of Spatial Data Using Kafka Streams, Ian Feeney & Roman ...
Real-Time Processing of Spatial Data Using Kafka Streams, Ian Feeney & Roman ...
 

Similar to 15. ALE IDOC.pdf

Ale Idoc Edi
Ale Idoc EdiAle Idoc Edi
Ale Idoc Edishesagiri
 
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
 
ALE EDI.pdf
ALE EDI.pdfALE EDI.pdf
ALE EDI.pdfMAshok10
 
Sap abap ale idoc
Sap abap ale idocSap abap ale idoc
Sap abap ale idocBunty Jain
 
ALE IDOC configuration documents FIC.ppt
ALE IDOC configuration documents FIC.pptALE IDOC configuration documents FIC.ppt
ALE IDOC configuration documents FIC.pptRiadAlShams
 
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
 
All about idoc definition architecture, implementation
All about idoc definition architecture, implementationAll about idoc definition architecture, implementation
All about idoc definition architecture, implementationmadaxx
 
All about idoc definition architecture, implementation
All about idoc definition architecture, implementationAll about idoc definition architecture, implementation
All about idoc definition architecture, implementationmadaxx
 
ALE_Presentation.ppt
ALE_Presentation.pptALE_Presentation.ppt
ALE_Presentation.pptssuser9042a2
 

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
 
Idocs tcodes and others , sap idoc
Idocs tcodes and others , sap idoc Idocs tcodes and others , sap idoc
Idocs tcodes and others , sap idoc
 
ALE EDI.pdf
ALE EDI.pdfALE EDI.pdf
ALE EDI.pdf
 
Ale IDOC
Ale IDOCAle IDOC
Ale IDOC
 
Sap abap ale idoc
Sap abap ale idocSap abap ale idoc
Sap abap 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
 
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
 
IDOC.pdf
IDOC.pdfIDOC.pdf
IDOC.pdf
 
Idocs
IdocsIdocs
Idocs
 
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
 

Recently uploaded

SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Recently uploaded (20)

SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

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