You are on page 1of 34

ALE /IDOC COMPLETE

Step-by-step guide to ALE and IDOCs


Creating the Logical System Names and Assigning to Clients: Go to
TCODE SALE.
Click on Display / Change Button->Click on New Entries->Specify the Logical System
name and description->Click on Save and Back buttons->Now you will come back to
the IMG path screen. Click on Assign Logical System to client->Click on Display /
Change Button->Click on New Entries->Click on Save and Back.
STEP1:

Step2: Creating the RFC Connection Names: Go to TCODE SALE. Direct TCODE SM59->Click on
Create button.-> Specify all the details in RFC connection screen ->Click on Logon Security tab and
specify the details. ->Click on the Special options tab and specify the details which you want->Now click
on Test Connection button->It show the connection log in next screen-> Click on Back->Click on
Remote Logon Button ->Depends upon your settings the destination client will open. If you check the
Current user option under Logon/ Security tab, then it will show the screen directly without asking the user
name and password details
Step-3: Creating RFC ports:-> Go to TCODE WE21->Select the Transactional RFC in left side tree and
click on Create button ->In dialog box you can select either Generate port name or own port name. If you
select Generate Port name system will generate automatically. Here I selected Own port name. Click on
continue.-> Specify the description and RFC destination name.-> Click on Save->

Step4: Creating IDOC Segments: Specify a name and Click on Create Button. ->Here specify all the
ZSTUDENTS table fields and their types as shown below->Click on SAVE button, then it will show dialog
box with user name, press continue.-> Specify your package name and click on save.-> Specify your
request and press Continue. ->Click on Back button, and then you will see the created segment.

Step5: Creating Basic IDOC Type: Go to TCODE WE30->Specify a name to your IDOC and click on
create button.-> In next dialog box select create new option and specify the description of IDOC and click
on continue.-> Click on Create segment in the screen.-> In dialog box specify the segment name which
you created and check mandatory check box.-> Click on SAVE and BACK button.-> Go to menu EDIT
->Click Set Release ->In next dialog box, click on Yes.
Step6: Creating Message Type: Go to TCODE WE81.-> Click on Display / Change button.-> Click on
New Entries button. ->Specify a message type name and Description and click on SAVE button->Click on
Back and Save.
Step7: Assign Message Type to Basic IDOC Type: Go to TCODE WE82->Click on Display / Change
Button->Click on New Entries, Specify the Message Type and Basic IDOC Type and Release version.
Click on Save.-> Click on Back.

Step8: Creating Model View and Distributing and Generating Partner profile: Go to TCODE BD64>Click on Display/ Change button->Click on Edit menu -> Model View -> Create-> Specify description of
model view and technical name in dialog box and press continue.-> Select your model view and click on
Edit menu -> Add Message type->In dialog box specify the sender, receiver, message type and click on
continue->Click on Environment Menu -> Generate Partner profile ->It will show the following screen,
click on execute. ->Click on Back button 2 times, it will take back to Distribution Model screen.-> Click on
Edit Menu -> Model View -> Distribute.-> In displayed dialog box select the partner system and click
continue ->Then it will show the Log of Model View Distribution->Click on Back button.
Step9: To check partner profile: Go to TCODE WE20->In displayed screen select the partner system in
left side tree under Partner Type LS.
Step10: Write a Report Program in SE38 to create IDOC control records and transfer it to
destination partner system->Send Idoc Call function
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
MASTER_IDOC_CONTROL
= S_CTRL_REC(EDDIC)
*
OBJ_TYPE
= ''
*
CHNUM
= ''
TABLES
COMMUNICATION_IDOC_CONTROL
= T_COMM_IDOC(EDIDC)
MASTER_IDOC_DATA
= T_EDIDD(EDIDD)
EXCEPTIONS
ERROR_IN_IDOC_CONTROL
= 1
ERROR_WRITING_IDOC_STATUS
= 2
ERROR_IN_IDOC_DATA
= 3
SENDING_LOGICAL_SYSTEM_UNKNOWN
= 4
OTHERS
= 5
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
COMMIT WORK.
LOOP AT T_COMM_IDOC.
WRITE:/ 'IDoc Generated - ', T_COMM_IDOC-DOCNUM.
ENDLOOP.
ENDIF.
ENDFORM.
" SEND_IDO
Now execute the program, and specify the range of records to transfer ->Go to TCODE WE02 to check
the generated IDOC control records.-> Click on Execute

In Client 800 Steps:


Step11: Function Module Creation: Create a Function Module to update the table from the IDOC
segments->Go to SE37->Specify a name and click on create->In dialog box specify function group and
description, and click on save.-> Specify the Import parameters in Import tab->Specify the Export
parameters in Export tab->Specify the Table parameters in Tables tab->Specify the Exceptions in
Exception tab ->Click on Source code Tab. ->
FUNCTION ZSHAN_IDOC_ZSHSTUDMT.
*"-------------------------------------------------------------------*"*"Local Interface:
*" IMPORTING
*"
REFERENCE(INPUT_METHOD) LIKE BDWFAP_PAR-INPUTMETHD
*"
REFERENCE(MASS_PROCESSING) LIKE BDWFAP_PAR-MASS_PROC
*" EXPORTING
*"
REFERENCE(WORKFLOW_RESULT) LIKE BDWF_PARAM-RESULT
*"
REFERENCE(APPLICATION_VARIABLE) LIKE BDWF_PARAM-APPL_VAR
*"
REFERENCE(IN_UPDATE_TASK) LIKE BDWFAP_PAR-UPDATETASK
*"
REFERENCE(CALL_TRANSACTION_DONE) LIKE BDWFAP_PAR-CALLTRANS
*" TABLES
*"
IDOC_CONTRL STRUCTURE EDIDC
*"
IDOC_DATA STRUCTURE EDIDD
*"
IDOC_STATUS STRUCTURE BDIDOCSTAT
*"
RETURN_VARIABLES STRUCTURE BDWFRETVAR
*"
SERIALIZATION_INFO STRUCTURE BDI_SER
*" EXCEPTIONS
*"
WRONG_FUNCTION_CALLED
*"-------------------------------------------------------------------Click on Save and Activate.
Step12: Assign FM to Logical Message: Go to TCODE WE57->Click on Display / Change button.
->Click on New Entries Button->Specify created FM name, Function Type, Basic Type (IDOC), Message
Type, and Direction and click on SAVE button.-> Click on Back button
Step13: Define Input Method for Inbound Function Module: Go to TCODE BD51->Click on Display /
Change button->Click on New Entries->Specify FM name and Input Types as 2. And Click on Save and
Back buttons.
Step14: Creating Process Code: Go to TCODE WE42->Click on Display / Change Button ->Click on
New Entries button ->Specify a process code name, Description and select the options processing with
ALE services, Processing by Function Module. ->Click on save button->In next screen select the FM
name and click on SAVE button and Click on BACK button. ->It will take to you previous screen. Double
Click on Logical Message in left side tree. ->Click on Display / Change button->Click on New Entries
button ->Specify the Message Type and Click on Save button ->Click on Back button
Step15: Generating the Partner Profile->Go to TCODE BD64.-> Select the Model View which you
distributed in client 900.-> Click on Environment Menu -> Generate Partner Profile ->It will show the next
screen, in that click on Execute button->It will show the Partner Profile details ->To check the partner
profile details. Go to TCODE WE20. Select the partner system name.

Step16: Transferring the IDOC control records from Client 900 to 800: In source system, go to
TCODE SE38. (In client 900)-> Execute the Report program which you created.
Step17: Check in Destination System: (Here client 800): Go to TCODE WE02-Check in ZSTUDENTS
table in SE11.

LOGICAL SYSTEM:
A Logical System (LS) is the representation of an R/3 or external system in SAP R/3
for the distribution of data to and from the R/3 System.
An entry for the logical system is created in the table TBDLS.
IDOC TYPE: An IDoc type defines the syntax of the IDoc data. It tells which segments
are found in an IDoc and what fields the segments is made up of.
MESSAGE TYPE:
Message represents a specific type of document that is transmitted between two
partners. The message type defines the semantic context of an IDoc. Message type is a
grouping of IDOC types belonging to similar application. The same IDoc data can be
sent under different message types.
DISTRIBUTION MODEL
The Distribution model (also referred to as ALE-Scenario) is a more or less graphical
approach to define the relationship between the participating senders and receivers.
The distribution model is shared between all participating partners
FILTER OBJECT TYPE AND FILTER OBJECTS:
A filter object type is used in the Customer Distribution Model to impose a selection
criterion on the message (type) flowing to a Logical System.
SEGMENT FILTERING:
In segment filtering segments of a particular type are completely removed from the
IDoc.
The segments to be filtered out are determined at runtime as per the settings, and
unwanted segments are removed before the communication IDoc is created.
CHANGE POINTERS:
Basically after the master data is distributed to the other system, if it undergoes a
change in the sending system, the change needs to be re-distributed to the receiving
system. Change pointer is a technique that enables only the changed data to be
redistributed.

CD objects record the changes occurring to master data at a field level. These changes
are stored in tables CDHDR (header table) and CDPOS (detail table).
PORTS:
A port is a logical name for an input/output device. It defines the medium in which
documents are transferred to the destination system. A program talks to a port, which

is presented to it with a common standard interface. The port takes care of the
translation between the standard interface format and the device dependent format.
There are four types of ports that can be defined in R/3,
1>tRFC 2>file 3> R/2 4>XML
Declaring the port is done by transaction WE21.
ALE: ALE supports the distribution of the business functions and process across
loosely coupled R/3 systems. Connections from
R/2 and non SAP systems is also
supported.
IDOC: IDOC is simply a data container used to exchange information between any two
processes that can understand the syntax and semantics of the data.

In the SAP System, IDOCs are stored in database.

Every IDOC has an unique number(within a client).

IDOCs are independent of the direction of data exchange

At run time the following events occur

A unique IDOC no. is allocated by SAP

One control record is attached to the IDOC

Segments translate into data records

Status records are attached


Syntax rules are checked.

Each IDOC has 3 parts

Control Record

Data Record

Status Record

Control Record

All control record data is stored in EDIDC table. The key to this table
is the IDOC Number

It contains information like IDOC number,the direction(inbound/outbound),


sender, recipient information, channel it is using, which port it is
using etc.

Direction 1 indicates outbound, 2 indicates inbound.


Data Record

Data record contains application data like employee header info, weekly
details, client details etc

All data record data is stored in EDID2 to EDID4 tables and EDIDD is a
structure where you can see its components.

It contains data like the idoc number, name and number of the segment in
the idoc, the hierarchy and the data

The actual data is stored as a string in a field called SDATA, which is a


1000 char long field.

Status Record

Status record are attached to an IDOC at every milestone or when it


encounter errors.

All status record data is stored in EDIDS table.

Statuses 1-42 for outbound, 50-75 for inbound


Basic IDOC Type (we30)

Basic IDOC Type defines the structure and format of the business document that
is to be exchanged.

IDOC Type has a

specific name

list of permitted segments

hierarchy of segments

mandatory/optional segments

minimum/maximum range of each segment.


Segments

Segment defines the format and structure of a data record. Segments are reusable
components.

EXTENDING AN EXISTING IDOC TYPE

Used in cases where some additional information is required in addition to that


supplied by the Standard IDOC Type.
In Transaction WE30 we create the IDOC type as an Extension and specify the
basic type for which it is an extension.
We add the segments needed as children to existing ones.
None of the Reference Segments can be deleted or changed.

MESSAGE TYPES

A message represents a specific type of document that is transmitted between two


partners eg. Orders,orders responses,invoices etc

An idoc type can be associated with many message types

Also a message type can be associated with different idoc types


PARTNER PROFILE

A partner is defined as a business partner with whom you conduct business and
exchange documents

The concept of partner profile is quite similar

In the partner profile of a partner that we exchange Idocs with, we maintain the
parameters that are necessary for exchanging the data.
The transaction used is We20. We will look at this again while dealing with outbound
and inbound processes
PORT: The port defines the technical characteristics of the connection between SAP and
the subsystem. The port defines the medium in which data is exchanged between the 2
systems. There are different types of ports. The 2 most commonly used are the TRFC
ports used in ALE(will discuss this later) and File ports which EDI uses. For TRFC
ports we have to give the name of the logical destination created using SM59.We will
explain this in detail later. When using file port you can specify the directory where
the idoc file should be placed. The subsystem or the middleware will pick up the file
from here. The Function module can be used to generate a file name for the idoc. Whie
testing you can use Outbound file to specify a constant file name. The tab outbound
trigger can be used to supply information if we want to trigger some processing on
the subsystem when an idoc is created at this location. We have to specify the command
file name and the directory which has to be run(WE21)

What is Process Code ?


Process of filling the IDOC with application data is done by Function Module.
But, function module is not assigned to a Partner. It is encapsulated by a Process
Code and this Process Code is assigned to a Partner in Partner Profile.

Assigning Function Module to Process Code


- Go to Transaction WE41.
- Switch to Change Mode and click New Entries.
- Enter Process Code Name and assign the Function Module created.
- In the view VEDI_TMSG1 associate the process code and the message type to
get F4 help in the partner profile
Outbound process codes are stored in table TEDE1, while inbound process codes are
stored in TEDE2.

Note: Link between a process code and its corresponding function module can be seen by
transaction WE41 for outbound Process code and WE42 for Inbound Process code

Creating Partner Profile (WE20)

Partner Profile
We must maintain the business partners with whom we communicate via IDocs, in
Partner Profiles.

Steps to create Partner Profile


- Goto Transaction WE20.
- Click on Create Button.
- Enter the Partner Number and partner type.
- Save the Data.
- For Outbound Partner Profile we have to create Outbound
Parameters. Press the add entry button under outbound parameters.
- Specify Partner Function, Message type created, Port (create a port in
WE21),Basic Type and Output Mode.
- If using message control, goto Message Control Tab and link the Message
Type and Process Code created.
- Save.
MESSAGE CONTROL:
Message control is a cross-application technology used in pricing, account
determination,
material
determination,
and
output
determination.
The
output
determination technique of message control triggers the ALE and EDI outputs for a
business document. Message control separates the logic of generating IDocs from the
application logic. Message control is used to determine the timing and the medium of
the output at run time. Various business rules can be encapsulated in the message
control to meet the business needs.
Use transaction NACE for setting up message control
CONVERSION RULES:
In a distributed environment, the data format in different systems may be maintained
in different standards. Conversion rules helps in sending the data in required format
with help of conversion rules such as:

Copy sender fields


Set constant
Set variable
Convert sender fields etc.
Use general rules

Values can be converted to the required format with the help of rules given above.

Triggering the idoc through message control

Create/change the application data. Eg.Change Purchase Order Created


using transaction ME22n for the Vendor to which partner profile has been
created.

Goto Messages , add the new Message Type to the list and Save the
document.
An IDOC will be created and will be dispatched to PORT mentioned.(either
immediately or when RSEOUT00 is run depending on the output mode).

The IDOC status can checked using transaction WE02/WE05


If the status is 03 , it implies that IDOC is passed to Port.
IDOC VIEW: An IDOC type can be used for more than one message type, which
results in IDOCs containing more fields than required for a particular message
type.
IDOC views are used to improve performance in generating IDOCs to ensure only
the relevant segments are filled with data.
IDOC Views are important only for Outbound Processing.
SIMILARITIES INBOUND AND OUT BOUND:

The basic Idoc type

Partner profile

Message type

Idoc type Message type association

Process code(WE 42 not WE41)

Creation of a function module/program


The Inbound Process

Creation of basic Idoc type (Transaction we30)


Creating message type (Transaction we81)
Associating the Message type to basic Idoc type (Transaction we82)
Create the function module for processing the idoc
Define the function module characteristics (BD51)
Allocate the inbound function module to the message type(WE57)
Defining process code (Transaction we42)
Creation of partner profile (Transaction we20)
The inbound process code is the process that needs to be triggered in order to
post the idoc that is sent by the subsystem.
The steps in developing a process code

Develop a function module

Define inbound characteristics of the function module bd51

Assign idoc type and message type we57

Define the process code we42

SETTINGS REQUIRED FOR INBOUND PROCESS: (using Function Module)

The settings required for inbound IDoc processing depends on whether a new process
code is defined or a SAP defined process code is used.
In case SAP defined process code is used then execute Step 5 else follow the stepwise
procedure given below:

Attach function module created for IDoc processing to IDoc type


Transaction WE57

Maintain function modules (inbound)


Transaction BD51

Create new Process code


Transaction WE42

Attach Process code to function module


Transaction BD67

Generate Partner Profile


Transaction WE20

1.Attach function module created for IDoc processing to IDoc type


Go to transaction WE57 and attach the function module to the IDoc type and message
type.
2.Maintain function modules (inbound)
Add the function module. INPUT T specifies how the IDocs are to be processed.
2 stand for IDoc type to be processed individually.
3.Attach Process code to function module
Go to transaction WE42 and create a new process code. The processing type is
Process by function module as we have specified the function module name.
4.Attach process code to function module
5.Generate Partner profile

1) Go to Transaction WE20 of the receiving system.

2) Select the relevant Partner profile (Assuming it has already been created)

3) Go to the Inbound Parameters, Select the required message type and Double click on
the same.
Enter the process code that is attached to the function module and save it.
PROGRAMS FOR CUSTOM IDOCS
IDoc is basically a data container and do not transfer data from one system to
another.
For ensuring this, programming in the IDoc interface needs to be done.

Programs are written for:

Custom-developed

Extended IDoc

Enhancements

Basic IDoc type.

Each of the programs can be further divided as follows

OUTBOUND
INBOUND
PROGRAMS
PROGRAMS
Outbound program is
Written to populate IDocs
are used to read IDoc

a Inbound program

data and post the


application document
from it.
1. Custom-developed Basic IDoc type.
A. OUTBOUND PROGRAMS
Based on the type of triggering mechanism in ALE, the basic
Programming can be divided into:

Stand alone programs (Programs for Master data).

Programs for change pointers (For change master data).

Programs for transactional data.


B

B. INBOUND PROGRAMS

Posting programs (read data from IDocs and updates the


database).
2. Extended IDoc
Programs (Outbound and Inbound) are written in user exits for extended
IDocs.

1.A.1 STAND ALONE PROGRAMS (PROGRAMS FOR MASTER DATA)

ALE processes for distributing master data are implemented as stand-alone programs.
For example, RBDSEMAT (Transaction code BD10) is a SAP standard report program to
generate material master IDocs.
STEP-WISE PROCEDURE
The Stand alone program consist of following steps:
1.The selection screen allows user to select one or more object, a receiving
system and the message type for which the selection screen is to be
generated. For example, selection screen for material master generation.
2. Determine the key of the application document (in case of Material master the key
object is Material (MATNR).
3.Select the application data from the database using the key object.

4.Populate the control record information. The data is populated in structure of the
type EDIDC. It consists of control information such as receiver port, logical system
and message type.

5.Populate data in internal table of type EDIDD with data records for the various
segments.

6.Call function module

MASTER_IDOC_DISTRIBUTE to generate IDocs.

7.Commit work.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
EXPORTING
master_idoc_control

= st_edidc

OBJ_TYPE

= ''

CHNUM

= ''

TABLES
communication_idoc_control

= it_idoc_num

master_idoc_data

= it_edidd

EXCEPTIONS
error_in_idoc_control

= 1

error_writing_idoc_status

= 2

error_in_idoc_data

= 3

sending_logical_system_unknown

= 4

OTHERS

= 5
.

IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
COMMIT WORK.
LOOP AT it_idoc_num.
WRITE :/ it_idoc_num-docnum INPUT ON.
ENDLOOP.
ENDIF.
PROGRAMS FOR CHANGE POINTERS (FOR CHANGE MASTER DATA)

STEP-WISE PROCEDURE:
The program logic contains:
1.Read the change pointers using function module CHANGE_POINTERS_READ.

2.Analyse change pointers to determine which documents are valid.

3. Determine the key of the application document (in case of Material master the key
object is Material (MATNR).

4.Select the application data from the database using the key object.

5.Populate the control record information. The data is populated in structure of the
type EDIDC. It consists of control information such as receiver port, logical system
and message type.

6.Populate data in internal table of type EDIDD with data records for the various
segments.

7.Call function module

MASTER_IDOC_DISTRIBUTE to generate IDocs.

8.Update change pointer status with the help of function module


CHANGE_POINTERS_STATUS_WRITE.

9. Commit work.
CALL FUNCTION 'CHANGE_POINTERS_READ'
EXPORTING
*

ACTIVATION_DATE_HIGH

= ' '

ACTIVATION_DATE_LOW

= ' '

ACTIVATION_TIME_HIGH

= '000000'

ACTIVATION_TIME_LOW

= '000000'

CHANGE_DOCUMENT_OBJECT_CLASS

= ' '

CREATION_DATE_HIGH

= ' '

CREATION_DATE_LOW

= ' '

CREATION_TIME_HIGH

= '000000'

CREATION_TIME_LOW

= '000000'

message_type
read_not_processed_pointers

= message_type
= 'X'

TABLES
change_pointers
*

MESSAGE_TYPES

= it_chgptrs
=

EXCEPTIONS
error_in_date_interval

= 1

error_in_time_interval

= 2

OTHERS

= 3
.

IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.


ENDIF.

PROGRAMS FOR TRANSACTIONAL DATA


STEP-WISE PROCEDURE:
1. Copy the incoming control record information to the outgoing control record.
2.Populate the remaining fields in the outgoing control records.
3.Select application data from the database with the help of object key passed in NAST
record.
4.Populate the internal table with data.
5.Return control to the calling program.
6.Create a process code for the function module (Transaction WE41).

Program flow in case of posting program involves:


1.Read the control record information and verify it. Raise exception in case of
incorrect message types,
2.Read the IDoc data for and IDoc from the IDoc_data parameter.
3.Populate the internal table depending upon call transaction or direct input.
4.Call the posting program and capture the results
5.Populate return parameters
6.Return from the function module. The results of the execution are passed to the ale
layer.
7.Attach the function module to the IDoc type and the message type in transaction
WE57
8.Select the posting method that is used in the function module by transaction BD51
9.Create a new Inbound Process code for the function module with transaction WE42
10.Attach the inbound process code; function module and the Workflow Object, which is
used for error handling in the case of error, occurred in the posting of application
documents using transaction BD67
STEP-WISE PROCEDURE:

The program logic contains the following blocks:


1.Determine the key of the object for which an IDoc is being generated. IF you are
writing the user-exit for an extended segment in a customer master, you want to know
which master is being processed. If the key is not available through one of the
interface parameters, you can loop through the existing segments that are filled to
locate the key.
2. Write the logic to extract data from master table.
3. Create data records for the custom segments.
4.Append it to the internal table of the data records supplied in the parameters.

POSTING PROGRAMS
1>how do we debug an idoc ?
Ans. using function module idoc_outbound_<message type>. we
set the break point for this function module.
Using WE19, you can process an existing Inbound Idoc, by
giving its number and specifying the function module that
process it. It will execute with a dummy Idoc number.

can

For Outbound Idoc, find the report that generates it, where
the master idoc distribute FM. is called for that Idoc.
Possibilities are that, it can be called in more than 1 FM.
2>Let me know please 'IN real time What is actual role of an
abaper in ALE-IDOCS and also wt abaper do in case of CHANGE
POINTERS.
Ans. IN REAL TIME MAINLY WE WORK ON EXTENDED IDOC. WE WILL GO FOR
THE CAHNGE POINTER IF THERE IS ANY CHANGE IN THE EXITING
DATA NOT THE NEW DATA.IF WE CHAGE THE DATA (EX-CUSTOMER
ADDRESS)AND EXECUTE BD21 THEN CAHNGW POINTER WILL WORK.IF WE
CREATE A NEW CUSTOEMR THEN CAHNGE POINTER WILL NOT WORK
3>when idoc is created in which table its stored
Ans.EDIDD to store data records.
EDIDC to store control information.
EDIDS to store status of IDOC
4>1.what is master idoc.
2.what is communication idoc.
3.if i want to send the five records throgh BD10 then how
may no of
master and communication idocs will generate depends on
what they are
generating the master and communication idocs.
Ans. MASTER IDOCS : IT IS AN IDOC WHICH CONTAINS THE ORIGINAL
DATA TO BE TRANSFERRED BETWEEN SENDOR & RECEIVER.
COMMUNICATION IDOCS: THIS IS THE INSTANCE OF THE MASTER IDOCS

COMMUNICATION IDOCS ARE GENERATED FOR EACH RECEIVER FROM


MASTER IDOC.
Master IDOC : This idoc collects all the required data into
single IDOC and this is temporarily stored in memory.
Communication IDOC: there can be n number of communication
IDOCs generated. This comes into picture after the Master
IDOC is validated from the distribution model . And this
IDOC is stored in database table . you can see this IDOC
from we02 tcode.
5> how to send the idoc to multiple sub systems?
Ans. when sub system means a logical system then its not
possible to send a idoc number to multiple sub systems.
But a idoc number can be send to multiple plant numbers
which can be made possible through BD64.
6>Whose responsibility is to create condition records,output
type ,output determination,condition table ,access sequence?
that is i want to know whether its a technical or functional
consultants responsibility ?
ans. Above Realated Functionalities (operations) is Related to
Fuctional Guys only, or Sume times According to requirement
Clients are take care some output determination.
7. what are the roles and responsibilities of a technical
consultant will be assigned in idoc development in real
time? in case of a)IDOC EXTENSION b)sending TRANSACTIONAL
IDOC c)CHANGE POINTERS
Ans. CHANGE POINTERS:ACTIVATION OF CHANGEPOINTERS FOR MESSAGE
TYPES.
CREATION OF IDOCS FR CHANGE POINTERS.
CHANGE POINTERS CONCEPT IS BASED ON CHANGE DOCUMENT
TECHNIQUE,WHICH KEEPS A TRACK ON ALL THE CHANGES MADE TO
KEEP DOCUMENTS SUCH AS
MATERIALMASTERS,CUSTOMERMASTER,VENDORMASTER.
ALL THE CHANGES CREATIONS DONE TO THOSE DOCUMENTS ARE
STORED IN CHANGE DOCUMENT HEADER TABLE.
TABLE NAME:CDHDR
8. i am learning abap and finding very diffculty in
understanding the message control technique especially in
sending IDOCS? what are the steps in message control ?
ans. Message control : Every Idoc that is trasnferred is
associated with the message type.
Message type defines the type of data the idoc is
containing.

See for example : If i am transffering material data then


my message type would be MATMAS it is predefined.
in the same way if i am tranfering Customer data then my
message type would be DEBMAS.
to create a message control:
if you want to send a po go to <me21n> select/create the
po.no click /messages/ enter details of output type, medium
and partner , also configure the same in <nace>.
go to <we20>
select the vendor and double click the message type will
take to another screen.
click message control and enter the details with respect
to /messages/ and give the process code & save.
message control will be created.
8>How to Handle the IDOC Errors using Messages?
Ans. I Understand the question as to Handle the IDOC after
processing which was showing with error messages.
If that is the case.
Reprocess the IDOC by populating the missing data/ Correct
data (Depends upon the type of message showing in the idoc
status).
To re-process the IDOC use - WE19 (Tcode)
OR
Re-trigger the IDOC to re-triggering the message output
(Outbound case).
9>What is IDOC Extention. & How to do it?
Ans Extending the function ality of an existing IDOC basic type
is IDOC Extenion.
Step 1 : Go to WE31 :
1) Create one segment with the fields that are required
to extend.
Step 2 : Go to WE30 :
1) Select the radio button 'Extension'.
2) Give the New Extension name and click on create
button.
3) Give the existing IDOC basic type (which you want to
extend) and the Extension description
4) Add the newly created segment in the desired location
in the IDOC structure.
5) Save the application.
10>How to create an Idoc & Attached to SAP Transaction?
For example we want to trigger IDOC To other system when we
Save the PO Via ME21N.
Ans. To create an Idoc.

1.
2.
3.
4.
5.

Create message type.


Attach basic types of IDOC to message type.
Attach FM to the message type combination of IDOC types
Creat a process code and attach message type to it.
Create a Partner function through WE20. Add an message
type in the outbound paramater.
6. Have an entry of port name and basic types (IDoc types)
in the outbound options tab
7. Add and an entry in the message control option with the
output type (ME21N- Output type) and the process code.
8. When you db click on the process code the FM should
appear.
9. When an output is triggered in the ME21N transaction wit
the EDI output medium. The idoc will be triggered
11>what are the main transaction used for IDOCs
Ans. these are the main transactions are used in the while
creating the idocs.
we20:patner profile
we21:port
we30:idoc creation
we30:segment creation
we81:message type
we82:link message with idoc type.
we02:to status of idocs.
WEDI (TCODE)
we31:creation of segment
sale-defining logical system
sm59-rfc destination
bd82-generates partner profiles
bd64-distributes modal views
bd10-send material
bd14-vendor material
bd12-gets inboud idoc list
we05-idoc list outbound
12>What is idoc? What is the structure of idoc?
Ans. idoc stands for intermediate documents,it is used for data
sending current system to remote system .
the structure of idocs is
1. data records
2. control records
3. status recors
these are stored in sap tables like that.
edidd
edidc
edids
13>how to reprocessing the idoc.
Ans. How to Reprocess the IDOC in Both Inbound & Outbound
By: Mohamed
Check these reports:
RBDAGAIN - Process Outbound IDocs with Errors Again
Description: This report reprocesses outbound IDocs which
contain errors. IDocs containing errors have one of the
following statuses:

02: Error transmitting data to port


04: Error in EDI subsystem control information
05: Error in conversion
25: Continue processing despite syntax error (outbound)
29: Error in ALE service
RBDAGAIE - Reprocessing of Edited IDocs
Description: This report reprocesses an edited IDoc in
inbound or outbound processing. The edited IDoc has one of
the following statuses:
32: IDoc edited (outbound)
69: IDoc edited (inbound)
RBDAGAI2 - Re-processing of IDocs after ALE Input Error
Description: You use this report to reprocess inbound IDocs
containing errors. IDocs containing errors have one of the
following statuses:
56: IDoc containing errors added
61: Continue processing despite syntax error (inbox)
63: Error passing IDoc to the application
65: Error in ALE service
---For Inbound
1) Goto WE19, select ur IDOC and execute. The details will
be shown of IDOC. Change the data in the segment as per
your requirement.
2) Click on standard inbound process. If you want to
execute the process in foreground, click on standard
inbound function module. Select related function module and
execute the process in foreground/background.
For outbound
1) Follow same step 1.
2) Click on standard outbound processing
----To reprocess Idocs in outbound or inbound you can create
back ground jobs using the following programs.
For Outbound:
For 02 status IDocs follow the below procedure:
1. Open SE38.

2. Give program RBDAGAIN.


3. Give you Idocs and save as variant.(Give any name)
4. Now, go to SM36,and specify a job name(Any name).
5. Now click on STEP give your Variant name in the
respective field and you program name as RBDAGAIN.
6. Save and come back.
7. Now click on "START CONDITION".Here you give schedule
the job either "Immediately" or "Periodically".
8. To do an immediate job select Immediate and save.Else go
for perodic as you need.
9. Now save the screen on SM36.
10. To release the job click "Job selection" -- > select
sceduled --> execute.
This would push your Idoc from *02*(Error passing data to
port) to 30(Idoc ready to dispatch) status.
Now to send the Idoc from 30 to *03*(Data passed to port
OK) use the "RSEOUT00" program and run another job as
stated above.
This would send the Idocs to 03.
Similarly at Inbound side:
To reprocess an Idoc in 51 status:
Use program "RBDMANI2" and run a job.It will push Idocs
from 51 to 53 status.
For 64 status use "RBDAPP01" program.
You can do it in transaction code BD88
-------Receiving System (Inbound ALE)
Tcode SALE3 for
a) Define Logical System
b) Assign Client to Logical System
Tcode SM59 -- RFC Destination
Tcode BD64 -- Check for Model view whether it has
distributed or not
Tcode BD82 -- Generate partner Profiles & Create Ports
Tcode BD11 -- Getting Material Data
Tcode WE05 -- Idoc List for inbound status codes

Message Type MATMAS


Tcode BD10 - Send Material Data
Tcode WE05 - Idoc List for watching any Errors
Inbound Status Codes
50 Error --> It will go for ALE Service Layer
56 Error --> Idoc with Errors added
51 Error --> Application Document not posted
65 Error --> Error in ALE Service Layer
For 51 or 56 Errors do the following steps
Goto WE19 --> give the IDOC Number and Execute-->
Press on Inbound function Module
for 65 Error --> goto SE38 --> Execute the Program RBDAPP01
then your getting 51 Error
13>Can anyone get me some real time scenarios in ALE IDoc's.
Ans. - communicating between two physically separated systems.
Either SAP to SAP or SAP to Non-SAP ,we use IDOC.
- SAMPLE Scenario is a new custom ALE where the receiver of an
internal service must be able to reverse the invoice receipt,
which will then cancel the applicable billing document
automatically on the service providers system. To avoid the conflicts between two
systems.
14. i was sent 10 records using outbound in ale/idoc 8 records
are up dated in data base tables what happend remaing
records did not showing error in we02
ans. I understand u r trying to generate the idocs with 10
records, and u find only 8 (records) idocs created rest
(records) are missing.
Check with the filter set up for the records for its
receiving partner system(logical system).
Correct the filters then try regenarating the idocs(missing
records).
15. I HAVE GENERATED AN IDOC WITH ERROR AGAIN WHEN IAM
GENERATING IT .IT IS GENERATED WITH DIFFERENT IDOC
NUMBER.BUT I WANT THE SAME NO PREVIOUSLY IT IS GENERATED?
Ans. You can use BD87 if you want to reprocess same idoc
number,here it will not generate new idoc number.
suppose there was RFC Issue ,connection got failed then
after rectifying RFC Connection then you can reprocess
same idoc number.
in case data is missing,then you need to WE19 Transaction -

> enter idoc number -> fill the missing data.


just drag the segments ,here you can fill data where ever
required.
If you use WE19 then it creates new idoc ,it gives work
flow message.
16. Where all the Idocs get stored after creation?
Ans. EDIDC stores control/header record.
EDIDD/EDID4 stores data records.
EDIDS stores status records.
17. Can we attach more than one messages with One IDOC?
Ans. IDocs, handle multiple messages with ease. Given the
centralized IDoc interpretation that SAP provides to all its
parts, its no problem to define an IDoc that will contain
more than one message, that is, more than one data record type.
A customer master IDoc, for example, may contain customer
profile information records for a customer with many
locations. But it may also contain location-specific pricing
information records for that customer in the same document.
This is an incredibly efficient way of bundling related
records, particularly when passing large amounts of complex
information from system to system (see Figure C).
Figure C
CONTROL RECORD
DATA RECORD - CUST
DATA RECORD - CUST
DATA RECORD - CUST
DATA RECORD - CUST
DATA RECORD - CUST
DATA RECORD - CUST
STATUS RECORD
STATUS RECORD
STATUS RECORD

PROFILE LOC #1
PROFILE LOC #2
PROFILE LOC #3
DISCOUNT STRUCTURE LOC #1
DISCOUNT STRUCTURE LOC #2
DISCOUNT STRUCTURE LOC #3

18. Suppose their is one sender and we have three recievers.


While generating an IDOC will it generate 3 IDOC's for three
receivers? Please explain in detail how the flow goes from
outbound to inbound systems?
Ans. you have to follow all the steps of above answer.In this
reply it tells about how process is going on.
while executing the outbound program one master idoc is
generated this master idoc contain record which you are
send to recievers.
Master idoc communicate with ALE, ALE communicate with ALE
Distibution model, this ALE distibution model finds how
many receivers wants to share the record and it generate
all individual idocs to all receivers,this process is
going on in background by the ALE distibution model after
master idoc came to ALE , next ALE will take care of those
individual idocs and ALE service layer sends all idocs to
communication layer.
Communication layer trasport all the idocs to inbound
communication layer.
Inbound Process:

idoc is recieved by the communication layer in inbound


process, this idoc is send to ALE.from here by executing
inbound program record is present in idoc is updated in
database.
19. where to see idoc in inbound side whether it is received in receiver system or
not?
Ans. By executing Conversion Program RBDMOIND...
1) Execute RBDMOIND in outbound program
2) If the status code is convert into 3 to 12 then we can
confirm the IDOC received successfully..
20. hi friends!while sending idoc from receiver side i got msg
type 3 and 12.but in receiver side while executing we02,i
am gettig the error 'no idocs selected' instead of getting
msg type 53.i am simply sending a material from one client
to another client.if anybody knows this problem ky revert
back.
Ans. The very first setting you need to check is in distribution
model if the message type is configured for given sending
recieving system combination.if this is correct and partner
profile is wrong, you will get an IDoc stuc in 56 status on
inbound.
You can also check in we09 with giving more details like
segment name (related to MARA table ) and the corresponding
material no. in the field for selection with MATNR.
21. hi friends!while sending idoc from receiver side i got msg
type 3 and 12.but in receiver side while executing we02,i
am gettig the error 'no idocs selected' instead of getting
msg type 53.i am simply sending a material from one client
to another client.if anybody knows this problem ky revert
back.
Ans. we will provide all the information like
1.
2.
3.
4.
5.
6.

Message Type.
Sendor Info.
Port Number.
Output Mode.
Partner Type.
IDOC Basic Type.

This information will help to Communication & ALE Service layer to process further.
FLOW:
(network) --> communication layer -->
ALE Service Layer( here it will check the "ALE Inbound Partner Profile") and send to
the respected program.
11. what is Tcode for Basic ALE configuration?
ANS. SALE is correct - through this we can define all the basic's of IDoc

13. tell me about status codes?


ANS. these r the mile stones in transfer of IDOC by which the

IDOC sending system knows the status of IDOC . there are 75 status record
0 to 49 are recorded for outbound and 50 to 74 are for
inbound.
14. 16. what is the status code when IDOC is created?
ANS.
01 for Outbound side
51 for Inbound Side.
64. How do you get output from IDOC?
ANS. Function moudles or processing routines are alloted
dynamically based on message type andn IDCO type. We use
these function modules to process IDOC segments to get data
and move this segment data into internal tables.
77. I am transferring 10 data records from outbound though idocs but
8 records are transferred , what about reaming records but
it did not show any error?
ANS. Just Check the Filter settings.Remove the filter for the
fields and then transfer the datarecords again.If the filter
is set it will not show any error.
83. can any body tell what is idoc archieving and how to do that?
ANS. Archiving means collection of HISTORIAL Idocs that can be
stored out side of The Database,By using this We can reduce
load on the data base.
"WE10" is the TCODE for archive idoc info structure.
Here 2 options is availabale.
1. Database
2. Archive
-> We can select Archive idoc then it give the information
about This.

144. in which table idocs are stored?


ANS.
EDIDC ---Control record IDoc
EDIDS ---Status Record IDoc
EDIDD ---Data records
152. explain the scenario of ALE/IDOC.
ANS. ALE: is nothing but application link enabling is used to
connect with the non sap systems to the sap systems. and
also the used to connect with the legacy systems with the
sap systems. just its a link between the two process.
IDOC; is nothing but intermediate document. IT is the
container of the message. idoc can be transferred between
the two process to send the data or container of the
message. Every idoc have three types of records.
these three types are records are given below.
----> data record
----> control record
----> status record
data record: is contains administration data header data
and item data.
control record: is contains of sender information reciever
information , message type, idoc type , idoc number.
status record: is contains of all the status of idocs.
process steps:
-->define the logical systems

-->assign the logical systems to the respective clients


-->define the RFC destination
-->create the customer distribution model
-->create the patner profile
-->creat the port
-->create the message type
-->assign the message type into the idoc type
--> to check the status of idocs.
158. CAN WE DEBUG A IDOC? IF YES HOW TO DEBUG IN INBOUND SIDE AND
OUTPUT SIDE.
ANS. Yes We can Debug.
Outbound IDOC is just Program to prepare IDOC. Go to that
program and put a break-point and debug.
debug the inbound idoc
1) we 19 give the idoc number execute
2) click on inbound function module select the radio button in fore ground
3) check the check box call in debug mode enter in will go through the function
nmodule debug mode

295. how to send the idoc to multiple sub systems?


ANS Before send IDOc to multiple system you haveto configure
logical system(SALE), Maintain RFC destination(SM59),
Create Port(WE21) in all recevied systems..
Next step In sender sytem maintain message type in
Distribution Model(BD64) and maintain outbound partener
profile(we20) in sender system..
In receiver reciver system just maintain inbound partner
profile(we20)..
The above steps repeat for all receivers and finally send
IDOC.
363. what is the purpose of RDBMOIND RPOGRAM?
Ans. RBDMOIND is used to update the status of Outbound IDoc from
03 to 12.
03- Idoc pasted to communication layer
12- data passed to port OK
364. what is the difference detween EDI AND ALE?
Ans. EDI:
edi is electronic data interchange is exchange the data by
electronically from one system to the another system that
is weather is document or anything.ex:if you send the
purchase or der from the (sender) system that means outbound
system that is recieved to sales order to the inbound
system(Reciever)
so that means that document is changed by electronically
from the outbound system to the inbound system.
ALE:
Application link enabling it provides the link between the
two systems that is the sap or non-sap or third party
systems within the distributed systems only. ex: if u send
the purchase order from the outbound system the inbound
system also recieves the same purchase order . that means
there is no change. so changes not possible in ALE.
365. what is process code?
Ans. which code is used for read the data from ci(communication
idoc) and it stores the data in perticular data base table.
that code is process code.
ex : matm .

it reads CI and stores the

data in mara table.

376. parter profiles are stored in which table?


ANS. EDPP1 EDP12 EDP13 EDP21
413. what are the roles and responsibilities of a technical
consultant will be assigned in idoc development in real time?
in case of
a)IDOC EXTENSION
b)sending TRANSACTIONAL IDOC
c)CHANGE POINTERS
ANS. 1)IDOC Extension is nothing but Extending the Existing IDOC as
an Enhancement
2)Transactional IDOC is means that sending the IDOC from place
to an another by using FM called INBOUND-IDOC_PROCESS
3)Change pointers are menat for Activate the IDOC by using TX
Code BD61
429. i want to know abt. IDOCs and ALE like what's the role of
messege type in IDOCs and how things goes on in background
i know i sound absurd but as i m not clear abt.
ANS. Message Type for an Idoc is used to indentify the contents
of the Idoc or a breif context under which the IDOC has to
be sent.
Suppose you have an IDOC to be sent to your vendor which
has purchase details .
U also want to send the same data to Vendor's Plant as an
acknowlkedge to the receipt of material.
Sending the same idoc with same message type to both of
them might lead to confusion.
IN order to avoid this you attach our idoc segment to a
message type whih defines what is it carriying.
You do this assiging a segment to Message type in WE81
430. what is meaning of idoc monitoring?
ANS. Idoc monitoring means Idoc Status
456. what is the difference between message type and basic type?
ANS. MESSAGE TYPE IS THE MESSAGE WHICH IS TRANSFERRED IN BETEEN
THE BUSINESS PARTNERS.
BASIC TYPE IS THE CONTAINER OF THE MESSAGE.
473. what is meant by idoc filtering?
ANS. I Doc filtering is nothing but wipout unwnted idoc's that
ar not required to recevingpartner.
Let us suppose some message type iam sending from my
central datbase sever to 5 no's application severs let it
take as some plants in my company code .
The master idoc will contains the data pertaining to the
five plants.
in thia case for plant No1 date is not reqiured pertaining
to all the remaining plants i.e 2 3 4 5.
in this case while creting the distribution model whe have
to mention the filter key's
Then when ever the master IDOC passe through ALE service
layer it will check;s for filter key' values s for a
receiver and it will wash out's the all the idoc's
otherthan the values and cretes the communication IDOC.
alwys communication Idoc is the subset of Master Idoc.

configuration?
ANS. ALE configuration :
Goto SALE T-code then
1) Design LogicalSystem and go back to IMG initial Screen
and 2) Assign Logical System to the client.
3)then Goto SM59 to create RFC Destinatio for the Logical
System (i.e.receiver system.).
4) then Goto WE21 T-code for Port Creation in WE20 select
TranscationalPort and create your Own Port.
5) Goto BD64 T-code for Distribution Model
here we create Model view and specifies the what kind of
Message is distributed between them .
6)we'll save and goto environment in the menu bar..
7) goto we20 T-code for Partner Profile ..create the
Partner file ..and give inbound and outbound messagetypes.
These r the steps for ALE Configuration.
Suppose If u Specify Matmas as Message type ...got BD10 and
sent the material .
484. if idoc generated successfully where it can be stored i know
database)?
ANS. EDID4 - Data Records are Stored in this Data Base Table.
EDIDS - Status records are Stored in this DB Table.
EDIDC - Control Records are Stored in this DB Table
485. how to process the idoc?
ANS. idoc can be processed by using processing codes
transaction codes for processing codes:
we41 for out bound process codes
we42 for in bound process codes
577. How do you get output from IDOC?
ANS. Function moudles or processing routines are alloted
dynamically based on message type andn IDCO type. We use
these function modules to process IDOC segments to get data
and move this segment data into internal tables.
589. What are the steps need to setup
ANS. Communication Settings:
1) Create and Assining Logical Systems
2) Maintain RFC destination
3) Maintain TRFC Port

before creating an IDoc?


-- SALE
-- SM59
-- WE21

( Above configuration required irrespective of sending or


receiving an IDOC).
Mandatory Outbound Configuration:
Matain Distibution Model
Maintain Partner Profile

-- BD64
-- WE20

CURRENT OBJECT Master data can be transferred by two methods:

1. Triggering through stand-alone programs


A material is created in R3SCLNT800 and should be transferred to R3SCLNT810.
Step1: Define Logical Systems

T.code SALE

Step 2: Assign Client to the logical system

T.code: SALE

Step 3: Create RFC Destination

Tcode: SM59

Note: Provide Connection type as 3 indicating connection to R/3 system


Step 4: Define port

Tcode: we21

Port is the medium in which data is transferred.


Step 5: Maintain Partner Profiles

Tcode: WE20

In partner profile we specify the names of the partners which are allowed to exchange
IDocs .
Double Click on the Message type MATMAS the following opens.
Enter the details for Receiving port, Pack size and Basic type.
Step 6: Create Customer Distribution model Tcode: BD64
Click on the Create button and enter the short text, Technical name
Now select the created model view and click on Add message type button .A pop up box
appears, enter Sending system, receiving system and message type.
Save the Distribution model
Generate Partner Profiles
Click the menu item Generate Partner Profiles.
It leads to the next transaction where in the selection screen you have to provide Model
view name, Partner System logical system and execute.
Then, you will be intimated about the partners, port creation, and outbound parameters
creation.
Distribute Customer Distribution Model
In the menu item Distribute to the destination client.
Popup window appears , press Enter.

Generate Partner Profiles in partner system (in bound system)


Transaction: BD82
Provide Model view and logical system of Partner system to this system (our Outbound system)
Execute, again you will be intimated about the creation of inbound parameters.
NOTE:
You cannot maintain a message type between the same sender and receiver in more
than one customer distribution model.
Only the owner is authorized to modify the model.

Step 7: Creation of material

T.code MM01.

Enter the details as shown below and create a material.


Step 8: Send the created material.

T.code BD10

Enter the material created or changed, message type and the destination system as
follow and execute.
We get the information as 1 master Idoc created, 1Communication Idoc created.
Step 9: View the IDoc

T.code we05

Technical Settings In the Receiving system R3SCLNT810.


Partner Profile

T.code WE20

For the partner add the message type .here the message type is MATMAS
Double click on the message type and enter the processing code (MATM) and
select Trigger Immediately radio button, save.
Get the material

T.code BD11.

Enter the material created or changed, and the Message as shown below.
If every thing is fine IDOC will be created.
View the Idoc in the T.code We09.

Data Transfer by Change Pointers:


Steps from 1 to 6 are same as stand alone programs.
Step1: Define logical system

Step2: Assign logical system to the client


Step3: Create RFC Destination
Step4: Define Port
Step5: Generate partner profiles
Step6: Create Customer Distribution model

The following are the additional steps for Change pointers


Note (The following steps are to be maintained in both the sending and receiving systems)

Step 1: Activate change pointers generally

T.Code BD61

Check the box so that change pointers get activated and keep track the changes to
trigger ALE process.

Step 2: Activate change pointers for the message type

T.code BD50

Step3: Change Document should be checked at data element level


Step4: Run the program RBDMIDOC or the T.code BD21
Create or change a material and check for the Idoc creation in the T.code WE09.

A) TCODE: BD50 (Activate change pointer for message type)


Below screen shows Activating change pointer for Message Type 'MATMAS'
In above screen if active flag (Check box) is unchecked then Change pointers is deactivated.
B) TCODE: BD66 (Segment Field-Change Document field)
Change Document field should exist in this TCODE align particular Segment type.
The above screen shows the fields in change document.
Message Type: MATMAS

Segment Type: E1MAKTM

C) TCODE: BD61 (Activate change pointers generally)


f some messages types are no longer to be distributed by change pointers, you can deactivate change
pointers for this message type (by removing active flag in BD50). We can deactivate change pointers for
the message type and reactivate them again in transaction BD50.
Following screen shows how to deactivate change pointers for reduced message types.
3. Creating IDOC with change pointers.
TCODE: BD21
Purpose: Create IDOC type from change pointers
Program: RBDMIDOC
We can create IDOCS from change pointers with the report RBDMIDOC
The report tells how many master and communication IDocs have been created.
TCODE: BD22
Purpose: Delete Change Pointers
Program: RBDCPCLR
Here we can delete obsolete and processed change pointers in specific time and for
specific message type.

Issue

IDocs are sent separately with immediate processing, which causes


frequent logons

Solution

Use background Collect IDocs in output mode of outbound partner profile


where possible

Select appropriate packet size (1000-2000 IDoc segments/packet)

Issue

Time-out if too many IDocs are created at once (e.g. direct sending of
master data)

Solution

Use appropriate range selection

Use parallel processing if available


Periodically schedule RSEOUT00

Issue

Solution

Reorganize change pointers (RBDCPCLR)

Change of a view and an index

Change of source code

Issue

Create IDocs not immediately but later via regularly scheduled program
RSNAST00

Issue

Slow update of documents that trigger the creation of IDocs via message
control (e.g. sales order, purchase order)

Solution

Performance Problem when processing change pointer

Long response times for online users because ALE processing occupies
available dialog work processes

Solution

Use separate application servers for online users and ALE processing

Use of RFC server groups (>= 3.0F)

Issue

Processes wait for availability of work processes

Deadlock situation is possible (< 4.0)

Solution

Increase number of dialog work processes

Number of occupied WP on sender


<= WP on receiver

Issue

Solution

Deactivate the automatic batch scheduling


(tRFC-options of RFC destination)

Schedule program RSARFCEX regularly

Issue

With immediate processing, a WP is blocked on the sending system until


the message is processed completely

Many WPs are blocked on receiving system (< R/3 Release 4.0)

Solution
Use background processing in inbound partner profile and schedule report
RBDAPP01 (with parallel processing)

Issue

For the automatic retry of failed RFCs, usually batch jobs are scheduled
automatically. This can cause performance problems (too many batch jobs
scheduled)

Solution

Increase the network bandwith

Issue

The data transfer via the network takes too long

Solution

Register the external program to the SAP gateway

Issue

The connection between R/3 and an external system is slow because the
external system is started for every RFC call

Slow performance of mass inbound processing

Solution

Use parallel processing together with background processing when possible


(in report RBDAPP01)

Do not use parallel processing if multiple IDocs exist for the same
application object (e.g., goods movements)

Issue

Solution

Do appropriate performance tuning for the posting of the messages in the


inbound application

Correct sequence of scheduled batch jobs can improve the performance

Schedule IDoc transfer (RSEOUT00) after IDoc creation (RBDMIDOC or


RSNAST00)

Schedule reorganization of change pointer (RBDCPCLR) after selection of


change pointer (RBDMIDOC)

Schedule inbound processing (RBDAPP01) after IDoc transfer (RSEOUT00)

...

Issue

Slow performance of processing of inbound messages

Large data base tables reduce performance by increasing time for


selects/updates

Solution

Archive data regularly (IDocs, application documents)

Reorganize data base table after archiving

You might also like