Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

IDoc Creation

Former Member
0 Kudos

Hi,

I want to create an IDoc. I only know the transactions, but how to create it that I don't know.

So please tell me the detail process for the same.

5 REPLIES 5

Former Member
0 Kudos

Hi Sen,

1) Create segment (WE31)

Of course it will have naming convention for different company. Here are some tips:

If you copy from existing or std segment eg: Z1E1EDP01_01.

If not you can just put Z1….but this is only the example.

2) Create IDOC Types (WE30)

3) Create message type (WE81)

4) Link message type with basic type (WE82)

5) Create FM

In the FM all the attributes should be the same for Inbound or Outbound. Basically you can get an example from the std FM eg: Inbound - IDOC_INPUT_DELVRY

Outbound - IDOC_OUTPUT_SHPMNT.

6) Create Process Code (Inbound - WE41/ Outbound - WE42)

IMPORTANT: Before you key in the FM, you are required to add the FM in this table V_TBD51.

7) Link FM with Basic Type

For testing go to WE19.

Here are some of the std program that you can use for IDOC:

1) RSNAST00 - Issuing Output type

2) RBDINPUT - Processing Inbound idocs

3) RBDAPP01 - Processing Idocs that already processed before

4) RBDSEMAT- Stand alone program to generate IDocs (Send Material)

5) RBDMIDOC - Outbound triggered from change pointer

6) RSEINB00 - Convert file to IDOC in status 64

Thanks,

Reward If Helpful.

Former Member
0 Kudos

RUSH ORDER

BUSINESS SCENARIO:

IDOC is generated after SALES ORDER has been created. The output type is given at the header level and it is sent to the customer immediately.

RUSH ORDER:

In a rush order transaction, the customer picks up the goods or you deliver the goods on the same day as the order is placed. In the standard system, when you save this sales document type, a delivery is automatically created and billing is related to the delivery. However, the invoice is created later.

OUTPUT CONTROL:

Condition component Value

Access sequence 0001

Output type ORDERS02 (Purchase/sales order)

Procedure V10000 (shipping output)

Application V1 (sales)

Processing subroutine Program RSNASTED, form routine EDI-PROCESSING

General data Select Condition access and Multiple sending of output, otherwise leave the fields blank

Time e.g. 4 (immediately, IDOCs are generated immediately after posting)

Transmission medium 6 (EDI)

Partner function SP

Language EN (English)

IDOC interface:

You must maintain the following values for both the outbound partner profiles and the additional partner profiles for outbound processing using output control:

STEP BY STEP PROCEDURE FOR RUSH ORDER:

CREATING CONDITION ELEMENT:

TRANSACTION CODE: VK01.

ENTER THE VALUES IN THE SCREEN AS FOLLOWS:

USAGE– B.

APPLICATION– V1.

PRESS EXECUTE OR F8.

CHOOSE CONDITION TYPES AND PRESS OK.

PRESS NEW ENTRIES.

OUTPUT TYPE- RUOR DESCRIPTION- RUSH ORDER

PRESS SAVE.

THEN PRESS PROCESSING PROGRAM.

PRESS NEW ENTRIES.

THE ENTIRE PROCCESSING SUBROUTINES ARE PRESENT IN THE PROGRAM RSNASTED AND THE CORRESPONDING SUBROTINE FOR EDI IS EDI_PROCESSING.

PRESS SAVE.

PRESS BACK.

THEN SELECT ACCESS SEQUENCE AND PRESS OK.

SELECT ACCESS SEQUENCE 0001 AND DOUBLE CLICK FIELDS.

THEN WE HAVE TO SELECT THE ACCESS BY PRESSING F4.

THEN WE HAVE TO SELECT THE ACCESS.

THEN PRESS OK.

YOU WILL BE GETTING THE ABOVE SCREEN.

THEN PRESS BACK.

THEN SELECT PROCEDURES AND PRESS OK.

SELECT THE ORDER OUTPUT V1000 AND DOUBLE CLICK ON CONTROL.

THEN PRESS NEW ENTRIES.

ENTER RANDOM NUMBERS FOR STEP AND CNTR.

ENTER THE CREATED OUTPUT TYPE FOT CTYPE.

THEN PRESS ENTER.

THEN PRESS SAVE. HENCE THE CONDITION ELEMENT GETS CREATED.

CREATING PORT:

TRANSACTION CODE: WE21.

CLICK FILE AND PRESS NEW.

NEW PORT NAME DESCRIPTION FUNCTION MODULE

FUNCTION MODULE CAN BE SELECTED BY PRESSING F4.

AFTER ENTERING ALL THE PARAMETERS IN THE ABOVE SCREEN, PRESS SAVE. HENCE A NEW PORT WILL BE CREATED.

THE NEW PORT ARUN_SHORI CREATED IS SHOWN IN THE FOLLOWING SCREEN.

PORT ARUN_SHORI.

CREATING PARTNER PROFILES:

TRANSACTION CODE: WE20.

SELECT PARTNER TYPE CUSTOMER ( KU ) AND SELECT CUSTOMER 1000.

ENTER THE CREATED PORT NAME IN THE OUTBOUND OPTIONS.

THEN PRESS MESSAGE CONTROL AND ENTER THE FOLLOWING.

THEN PRESS SAVE.

HENCE THE PARTNER PROFILE IS CREATED.

CREATING RUSH ORDER:

TRANSACTION CODE: VA01.

THEN PRESS ENTER.

THEN ENTER THE PARAMETERS IN THE ABOVE SCREEN.

THEN PRESS SAVE.

A NEW SALES ORDER IS GETTING CREATED.

THEN PRESS CHANGE.

THEN PRESS ENTER.

PRESS EXTRAS -> OUTPUT -> HEADER -> EDIT.

ENTER THE NEW OUTPUT TYPE AND THE CORRESPONDING PARAMETERS.

THEN PRESS SAVE.

FOR ITEM, DO THE SAME.

THEN PRESS SAVE.

Please reward points if useful. This is an example for creating outbound idoc...

Former Member
0 Kudos

Hi Sandeep Sen,

First create segment. It consists of fields. Transaction code for segment creation is we31.

Next attach this segment to Idoc. Transaction code for Idoc creation is we30.

Read the book Arvind Nagpal for better understanding of Idocs, ALE.

Regards,

Krishna

Former Member
0 Kudos

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

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

http://www.sapgenie.com/sapedi/idoc_abap.htm

http://www.erpgenie.com/sapedi/idoc_abap.htm

reward ponts are use ful

thanks

kumar.

paruchuri_nagesh
Active Contributor
0 Kudos

hi

If you have a naked system, you cannot send IDocs immediately. This chapter will guide you through the minimum steps to see how the IDoc engine works.

You can access most of the transactions used in the example below in the menu WEDI and SALE.

Check EDID4 with SE16

We will assume, that we want to send material master data from the current system to a remote system. To simulate this scenario we do not need to have a second system. With a little trick, we can set up the system to send an IDoc back to the sending client.

We will set up the system to use an RFC call to itself. Therefore we need to define an RFC remote destination, which points back to our own client. There is a virtual RFC destination called NONE which always refers to the calling client.

Declare the RFC destination to receive the IDoc

RFC destinations are installed with the transaction SM59. Create a new R/3 destination of type "L" (Logical destination) with the name INTERNAL and the destination NONE.

Note: Do not use RFC type internal. Although you could create them manually, they are reserved for being automatically generated. However, there is the internal connection "NONE" or "BACK" which would do the same job as the destination we are creating now.

Define a data port for INTERNAL

The next step is defining a data port, which is referenced by the IDoc sending mechanism to send the IDoc through. Declaring the port is done by transaction WE21.

Declare a new ALE model with SALE .

We will now declare an ALE connection from our client to the partner INTERNAL. ALE uses IDocs to send data to a remote system. There is a convenient transaction to send material master data as IDocs via the ALE.

Declare MATMAS01 as a valid ALE object to be sent to INTERNAL

The set up is done in transaction SALE. You first create a new ALE model, to avoid interfering with eventual existing definitions. Then you simply add the IDoc message MATMAS as a valid path from your client to INTERNAL.

Send the IDoc with transaction BALE.

In order to send the IDoc, you call the transaction BALE and choose the distribution of material master data (BD10). Choose a material, enter INTERNAL as receiver and go.

Display IDocs with WE05

To see, which IDocs have been sent, you can use the transaction WE05. If you did everything as described above, you will find the IDocs with an error status of 29, meaning that there is no valid partner profile. This is true, because we have not defined one yet.

8.2 Example: The IDoc Type MATMAS01

To sharpen your understanding, we will show you an example of an IDoc of type MATMAS01, which contains material master data.

Note: You can check with transaction WE05 , if there are already any IDocs in your system.

IDoc structure can be seen with WE30

You can call transaction WE30 to display the structure of the Idoc type of the found IDoc.

reward if u find useful

regards

Nagesh.Paruchuri