cancel
Showing results for 
Search instead for 
Did you mean: 

IDOC

Former Member
0 Kudos

I would like to know everything about IDOC's.

For e.g common problems or scenarios for IDOC.

Segments used in IDOC.

Different types of IDOC(like orders, inventory etc) and the purpose of each

and any other link which might be helpfull

Sonia

Accepted Solutions (0)

Answers (6)

Answers (6)

anupam_ghosh2
Active Contributor
0 Kudos

Hi Sonia,

I think a lot of study material can be obtained by simple google search.

Regards

Anupam

vijay_b4
Active Contributor
0 Kudos

Hi Sonia,

Hi

http://help.sap.com/saphelp_nw04/helpdata/en/18/22b800773211d396b20004ac96334b/content.htm

http://www.thespot4sap.com/Articles/SAP_ALE_Other_Concepts_Conclusion.asp

Refer this material..

Data Creation in Idoc

IDocs are text encoded documents with a rigid structure that are used to exchange data between R/3 and a foreign system. Instead of calling a program in the destination system directly, the data is first packed into an IDoc and then sent to the receiving system, where it is analyzed and properly processed. Therefore an IDoc data exchange is always an

asynchronous process. The significant difference between simple RFC-calls and IDoc data exchange is the fact, that every action performed on IDocs are protocolled by R/3 and IDocs can be reprocessed if an error occurred in one of the message steps.

While IDocs have to be understood as a data exchange protocol, EDI and ALE are typical use cases for IDocs. R/3 uses IDocs for both EDI and ALE to deliver data to the receiving system. ALE is basically the scheduling mechanism that defines when and between which partners and what kind of data will be exchanged on a regular or event triggered basis. Such a set-up is called an ALE-scenario.

IDoc is a intermediate document to exchange data between two SAP Systems.

*IDocs are structured ASCII files (or a virtual equivalent).

*Electronic Interchange Document

*They are the file format used by SAP R/3 to exchange data with foreign systems.

*Data Is transmitted in ASCII format, i.e. human readable form

*IDocs exchange messages

*IDocs are used like classical interface files

IDOC types are templates for specific message types depending on what is the business document, you want to exchange.

WE30 - you can create a IDOC type.

An IDOC with data, will have to be triggered by the application that is trying to send out the data.

FOr testing you can use WE19.

How to create idoc?

*WE30 - you can create a IDOC type

For more information in details on the same along with the examples can be viewed on:

http://www.netweaverguru.com/EDI/HTML/IDocBook.htm#_Toc8400404

http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a6620507d11d18ee90000e8366fc2/frameset.htm

http://www.sappoint.com/presentation.html

http://www.allsaplinks.com/idoc_search.html

To Create Idoc we need to follow these steps:

Create Segment ( WE31)

Create Idoc Type ( WE30 )

Create Message Type ( WE81 )

Assign Idoc Type to Message Type ( WE82 )

Creating a Segment

Go to transaction code WE31

Enter the name for your segment type and click on the Create icon

Type the short text

Enter the variable names and data elements

Save it and go back

Go to Edit -> Set Release

Follow steps to create more number of segments

Create IDOC Type

Go to transaction code WE30

Enter the Object Name, select Basic type and click Create icon

Select the create new option and enter a description for your basic IDOC type and press enter

Select the IDOC Name and click Create icon

The system prompts us to enter a segment type and its attributes

Choose the appropriate values and press Enter

The system transfers the name of the segment type to the IDOC editor.

Follow these steps to add more number of segments to Parent or as Parent-child relation

Save it and go back

Go to Edit -> Set release

Create Message Type

Go to transaction code WE81

Change the details from Display mode to Change mode

After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter

Click New Entries to create new Message Type

Fill details

Save it and go back

Assign Message Type to IDoc Type

Go to transaction code WE82

Change the details from Display mode to Change mode

After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter.

Click New Entries to create new Message Type.

Fill details

Save it and go back

Check these out..

Check below link. It will give the step by step procedure for IDOC creation.

ALE/ IDOC

http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm

http://www.netweaverguru.com/EDI/HTML/IDocBook.htm

http://www.sappoint.com/abap/ale.pdf

http://www.sappoint.com/abap/ale2.pdf

http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm

http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm

http://www.allsaplinks.com/idoc_sample.html

http://www.sappoint.com/abap.html

http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm

http://www.netweaverguru.com/EDI/HTML/IDocBook.htm

http://www.allsaplinks.com/idoc_sample.html

An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...

1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.

2.IDOCs are independent of the sending and receiving systems.

3.IDOCs are independent of the direction of data exchange.

The two available process for IDOCs are

Outbound Process

Inbound Process

AND There are basically two types of IDOCs.

Basic IDOCs

Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.

Extended IDOCs

Extending the functionality by adding more segments to existing Basic IDOCs.

To Create Idoc we need to follow these steps:

Create Segment ( WE31)

Create Idoc Type ( WE30)

Create Message Type ( WE81)

Assign Idoc Type to Message Type ( WE82)

imp links

http://www.allsaplinks.com/idoc_sample.html

www.sappoint.com

--here u can find the ppts and basic seetings for ALE

http://sappoint.com/presentation.html

WE30 - you can create a IDOC type.

An IDOC with data, will have to be triggered by the application that is trying to send out the data.

Try this..Hope this will help.

Steps to configuration(Basis) >>

1. Create Logical System (LS) for each applicable ALE-enabled client

2. Link client to Logical System on the respective servers

3. Create background user, to be used by ALE(with authorizaton for ALE postings)

4. Create RFC Destinations(SM59)

5. Ports in Idoc processing(WE21)

6. Generate partner profiles for sending system

The functional configuration(Tcode: SALE)

• Create a Customer Distribution Model (CDM);

• Add appropriate message types and filters to the CDM;

• Generate outbound partner profiles;

• Distribute the CDM to the receiving systems; and

• Generate inbound partner profiles on each of the clients.

Steps to customize a new IDoc >>>

1. Define IDoc Segment (WE31)

2. Convert Segments into an IDoc type (WE30)

3. Create a Message Type (WE81)

4. Create valid Combination of Message & IDoc type(WE82)

5. Define Processing Code(WE41 for OUT / WE42 for IN)

6. Define Partner Profile(WE20)

Important Transaction Codes:

SALE - IMG ALE Configuration root

WE20 - Manually maintain partner profiles

BD64 - Maintain customer distribution model

BD71 - Distribute customer distribution model

SM59 - Create RFC Destinations

BDM5 - Consistency check (Transaction scenarios)

BD82 - Generate Partner Profiles

BD61 - Activate Change Pointers - Globally

BD50 - Activate Change Pointer for Msg Type

BD52 - Activate change pointer per change.doc object

BD59 - Allocation object type -> IDOC type

BD56 - Maintain IDOC Segment Filters

BD53 - Reduction of Message Types

BD21 - Select Change Pointer

BD87 - Status Monitor for ALE Messages

BDM5 - Consistency check (Transaction scenarios)

BD62 - Define rules

BD79 - Maintain rules

BD55 - Defining settings for IDoc conversion

WEDI - ALE IDoc Administration

WE21 - Ports in Idoc processing

WE60 - IDoc documentation

SARA - IDoc archiving (Object type IDOC)

WE47 - IDoc status maintenance

WE07 - IDoc statistics

BALE - ALE Distribution Administration

WE05 - IDoc overview

BD87 - Inbound IDoc reprocessing

BD88 - Outbound IDoc reprocessing

BDM2 - IDoc Trace

BDM7 - IDoc Audit Analysis

BD21 - Create IDocs from change pointers

SM58 - Schedule RFC Failures

Basic config for Distributed data:

BD64: Maintain a Distributed Model

BD82: Generate Partner Profile

BD64: Distribute the distribution Model

Programs

RBDMIDOC – Creating IDoc Type from Change Pointers

RSEOUT00 – Process all selected IDocs (EDI)

RBDAPP01 - Inbound Processing of IDocs Ready for Transfer

RSARFCEX - Execute Calls Not Yet Executed

RBDMOIND - Status Conversion with Successful tRFC Execution

RBDMANIN - Start error handling for non-posted IDocs

RBDSTATE - Send Audit Confirmations

FOr testing you can use WE19.

You can directly create an iDoc using some transaction like...

Use TCODE bd10 - to Send Data

and TCODE bd11 - to Get Data

and you can check the IDoc List using TCODE we02.

As you want step by step procedure.

1. Define Logical System and Assign Logical System

TCODE sale

2. Define RFC

TCODE sm59

3. Define Port

TCODE we21

4. Define Partner Profile

TCODE we20

5. Define Distribution Model

TCODE bd64

6. Send Data

TCODE bd10

7. Get Data

TCODE bd11

8. IDoc List

TCODE we02

There are basically two types of IDOCs.

Basic IDOCs

Extended IDOCs

Idoc Components

Basic Idoc

Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.

Extension Idoc

Extending the functionality by adding more segments to existing Basic IDOCs.

Creation of IDoc

To Create Idoc we need to follow these steps:

Create Segment ( WE31)

Create Idoc Type ( WE30)

Create Message Type ( WE81)

Assign Idoc Type to Message Type ( WE82)

Creating a Segment

Go to transaction code WE31

Enter the name for your segment type and click on the Create icon

Type the short text

Enter the variable names and data elements

Save it and go back

Go to Edit -> Set Release

Follow steps to create more number of segments

Create IDOC Type

Go to transaction code WE30

Enter the Object Name, select Basic type and click Create icon

Select the create new option and enter a description for your basic IDOC type and press enter

Select the IDOC Name and click Create icon

The system prompts us to enter a segment type and its attributes

Choose the appropriate values and press Enter

The system transfers the name of the segment type to the IDOC editor.

Create IDOC Type

Follow these steps to add more number of segments to Parent or as Parent-child relation

Save it and go back

Go to Edit -> Set release

Create Message Type

Go to transaction code WE81

Change the details from Display mode to Change mode

After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter

Click New Entries to create new Message Type

Fill details

Save it and go back

Assign Message Type to IDoc Type

Go to transaction code WE82

Change the details from Display mode to Change mode

After selection, the system will give this message “The table is cross-client (see Help for further info)”. Press Enter.

Click New Entries to create new Message Type.

Fill details

Save it and go back

u can also check all these links related to idocs

http://www.allsaplinks.com/idoc_sample.html

http://www.allsaplinks.com/

http://www.sappoint.com/abap.html

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEIO/BCMIDALEIO.pdf

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEPRO/BCMIDALEPRO.pdf

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFAALEQS/CABFAALEQS.pdf

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDISC/CAEDISCAP_STC.pdf

http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDI/CAEDI.pdf

http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm

http://www.netweaverguru.com/EDI/HTML/IDocBook.htm

http://sap.ittoolbox.com/documents/popular-q-and-a/extending-a-basic-idoc-type-2358

Reward points if this helps

Regards

Vani.

Former Member
0 Kudos
Former Member
0 Kudos

Hi,

Advantages and Disadvantages of IDOCs

http://saptechnical.com/Tips/ALE/prosconsIDOCs.htm

Check more on IDOC

http://saptechnical.com/Tutorials/ALE/ALEMainPage.htm

REgards

Seshagiri

Former Member
0 Kudos

HI,

http://www.sapbrainsonline.com/TUTORIALS/TECHNICAL/IDOC_tutorial.html

Have a look at this URL this might be helps u lot.

IDOC Programming

There are two processes in IDOC processing one is INBOUND PROCESS( IDOC coming to the system and its handling at various stages) and the other is OUTBOUND PROCESS( IDOC is send to other system . Separate ABAP programs are written for these 2 processes and different configuration settings are required for each one .Depending upon the trigeering mechanism different programming approaches are used.OUTBOUND PROGRAMS handle the IDOC creation and INBOUND PROGRAMS handle the inbound IDOC and the data trasfer from the IDOC to the database tables.

NEED FOR ABAP PROGRAMMING arises if

1)New IDOC was created

Depending upon the triggering mechanism i.e change pointer,message control

etc the programming technique changes and the type of process.

2)Existing IDOC was extended

User Exits are used to populate data in new segments added and to read them

back.

3)To enhance an exsiting process.

User Exits are used .

Basic structure of an OUTBOUND PROGRAM

The basic structure of all outbound programs is same. The CONTROL

record which is of TYPE EDIDC has to be filled. It contains important fields like

IDOCTP IDOC type

MESTYP Message Type

RCVPRN Recieving Partner (Destination)

RCVPRT Partner Type (it is LS i.e Logical System)

The DATA RECORD internal table which is of TYPE EDIDD has to be filled

in the same order as there are segments in the IDOC definition.

It has 2 important fields which are to be filled ,these are

SEGNAM Name of the segment

SEGDATA Data in the segment and can be upto 1000 bytes.This field

is corresponds to each data segment in the IDOC.

e.g.

DATA INT_EDIDD LIKE EDIDD OCCURS 0 WITH HEADER LINE.

DATA W_SEGDATA LIKE zsegment "custom segment zsegment

INT_EDIDD-SEGNAM = 'ZSEGMENT'

W_SEGDATA-field1 = value "taken from some table

W_SEGDATA-field2 = value "taken from some table

INT_EDIDD-SEGDATA = W_SEGDATA

APPEND INT_EDIDD

This will fill the data record corresponding to the segment ZSEGMENT . For all

segments the sam steps will be repeated until all the data corresponding to all the

segments in the idoc is filled in the internal table of type EDIDD.

There is only one control record and can be multile data records in the idoc

structure.

Which data is to be extracted from the tables to be filled in EDIDD type internal table is determined in standalone programs from the objects which are specified in the selection screen and from the object key passed to the function module in case of message control and is taken from BDCP table in case of change pointers using function modules "CHANGE_POINTERS_READ"

In case of stand alone programs and function modules based on change pointers method the function module "MASTER_IDOC_DISTRIBUTE" is used to send the IDOC to ALE layer for distribution ,in case of message control it is handled automatically by the RSNASTED program invoked by the message control.

OUTBOUND PROCESS AND OUTBOUND PROGRAM

Outbound programs are used in outbound process to genearte IDOCs . There

purpose is to extract the data from the tables and to fill the IDOC data records

and the control record in the IDOC and pass ito the ALE layer for distribution to the recieving system .

Depending upon the triggering mechanism (how and when the outbound program will be started different techniques and interface is used for outbound program.

1)Message control

Application like PO(purchase order) creation use this technique , where the output type is linked to the application(Message control is a configurable cross application component which can be set in IMG .Such programs are created in the form of function modules and linked to the output type which is linked to the apllication.These have predefined interfaces.

In outbound programs(function module) that use message control the key of the

application document is passed to the function module whcig will read the data from the table depending upon the key passed(NAST structure) and fill the IDOC segemnts with the application data.The control record is also passed to the function module but is not fully filled, the rmaining fields are filled and the control is passed back to the calling program which is RSNASTED and is invoked by the

message control to process ALE and EDI output types and this program on recieving the IDOC data will create the physical IDOC in the system.

The parameteers passed to the function module are

IMPORTING PARAMETERS

OBJECT LIKE NAST

It contains documents key.

CONTROL_RECORD_IN LIKE EDIDC

It contains the partailly filled control record

EXPORETING PARAMETER

OBJECT_TYPE

CONTROL_RECORD_OUT LIKE EDIDC

TABLES

INT_EDID LIKE EDIDD

The internal table used to fill the data records in the same order as they exists in

the IDOC.

The important parameters that should be filled in the custom function module are

CONTROL_RECORD_OUT and INT_EDIDD .The OBJK field of the structue NAST contains the key of the apllication document.

2)Stand alone programs

Generally used for Master Data transfer and as such depending upon the requirement can have different interfaces.The programs have a selection screen which has select options to select the objects, and parameters for specifying the recipient Logical System and the Message Type.

Data is selected based on the specified objects from the tables . and control record of type EDIDC is created and filled with important values like DIRECTION ,IDOCTP,RCVPRT,RCVPRN and MESTYP .

Data is filled in an internal table of TYPE EDIDD according to segment definitions

and in same order and the function module MASTER_IDOC_DISTRIBUTE is called passing the control record and the internal table containg IDOC data and importing an internal table consisting of control records for each communication IDOCS created.

3)Change pointer

Change Pointer table is read and checked if changes were made to important fields , if so the outbound program will be triggered automatically , these have predefined interfaces

0 Kudos

That url seems to change .. This is the new location I got http://sapbrainsonline.com/idoc-tutorial

Former Member
0 Kudos

Hey

For IDOC structure you can have a look at the below link

http://www.sapbrainsonline.com/ARTICLES/TECHNICAL/idoc/SAP_IDOC_structure_introduction.html

>>For e.g common problems or scenarios for IDOC.

The most common problems are in the settings/configurations which needs to be done befofehand so that IDOC's can be posted/created correctly in/from R/3,care should be taken in IDOC mapping coz if some fields are not mapped correctly IDOC might not post at all in R/3.There can be other issues too.

for list of IDOC's you can have a look at

http://www.erpgenie.com/faq/ale.htm

half way through you will find links to other websites which lists all the IDOC's based upon business process.

Thanx

Aamir