Wednesday, May 14, 2008

Important Ale Idocs Faqs

1. What is the difference Between IDOC type and Message type? How to link the IDOC type with Message type?
Message type gives the meaning of the IDOC and IDOC type gives the structure of an IDOC.
The linkage will happen in WE82.
In the OO(Object Oriented) approach, Message Type can be refferred to a Class and IDOC Type as an instance of the class Message Type
2. Where the IDOC information gets stored?

Table

Description

EDIDC

Stores the Control information an IDOC

EDID4

Stores the Data Records from 4.0 onwards

EDIDS

Stores the Status of an IDOC

3. What is process code? What are type of process codes

Process code refers to an workflow or a function module which helps in reading or writing data from/to Idoc. Following are types of process code

Process Code

Description

Outbound Process Code

This will read application data and place data in Idoc

Inbound Process Code

This will Idoc and create corresponding application data

System Process Code

This will create work item in case some error occurs in idoc / application document processing

Status Proces Code

This will handle error that occurs when a idoc is sent to some other system

4. How to reprocess an IDOC?

You can use the below Programs for IDocs Reprocessing:

  • RBDMANI2 : Reprocess Idocs manually
  • RBDMANIN : Posting of IDocs with Status 51
  • RBDMOIND : Outbound Idocs status 03->12
  • RSEOUT00 : For Processing 30 Status IDocs
  • RBDAPP01 : For Processing 64 Status IDocs
  • RBDAGAIN : Reprocess Incorrect Outbound IDocs
  • RBDAGAI2 : Reprocessing of IDocs after ALE Input Error

5. How to trace the IDocs of the Receiving system from the Sending system?

Steps:

  • Execute the transaction BD87
  • Give the Outbound IDocs in the IDoc Number field and execute or Just Note the Start time and End time when u execute the Master Data Transaction say for eg.BD10 and specify the same in the Time Created input field of BD87,also give the Message Type and the Receiving System Names and execute.
  • Select the Repective Message Type and Press the Trace IDoc Button.

6. How to trace IDocs based on the data .

Steps:

  • Execute Transaction WE09
  • Put in the message type name in the field labeled 'Logical Message' Ex - DEBMAS
  • Now we will move to the section 'Criteria for Search in Data Records '
  • In this section we will put the Segment name in which we want to search the existance of data in the field labeled 'Search in Segment' EX - E1KNA1M
  • In the field labeled 'Search in Field' we will put the field name of the segment in which we want to search the existance of data. Ex - KUNNR for searching IDOCs for certain customer number.
  • Now in the field labeled 'For Value' we will put the search value. Ex - Customer number as 100 .
  • We will now execute the transaction.
  • The result can be a single Idoc or a list of multiple IDOCS depending upon the Search Criteria entered.

7. How to Send and Receive an IDoc in the same system.

Steps :

  • Create a Dummy Logical System.
    • Goto T-Code SALE-> sending and Receiving Systems -> Logical Systems -> New entries.Enter SYSID_CLNT, but this one is Dummy so use the first 2 characters of the SYSID and prefix 'D' then underscore and then the Client number.

·

    • E.g.: If ERP_100 is the logical system of the R/3 then create ERD_100 as the dummy system.
  • Create Port for the Original System, (ERP_100)
    • Goto WE21 and select Transactional Port and press the Create button. Name the Port as "SAP" contatenated with the SYSID in our example it would be SAPERP Select the appropriate version and enter the RFC dest of the system that you are working on in this case it will be 'ERP'.
  • Create Partner Profile in partner type LS:
    • Receiver Side ( Outbound to ) : In Partner type LS name ERD_100create the Outbound Parameters, give the Message type, Receiver Port same as the port we created in step 2. Enter the Basic type.

·

    • Sender Side ( Inbound From ): In partner type LS name ERP_100 create the Inbound Parameters, give the appropriate message type and the process code.
  • Now create the stand alone program to send the IDoc:
    • The program will at some point calls the MASTER_IDOC_DISTRIBUTE function module. When you pass the EDIDC structure it will be populated as follows:
      i_edidc-mestyp = message type.
      i_edidc-idoctp = basic type.
      i_edidc-rcvprt = 'LS'.
      Concatenate 'SAP' sy-sysid into l_port.
      i_edidc-RCVPOR = l_port.
      i_edidc-rcvprn = 'ERD_000'.
      CONCATENATE sy-sysid '_' sy-mandt
      INTO l_sndprn.
      i_edidc-SNDPRN = l_sndprn.
      i_edidc-sndprt = 'LS'.
      i_edidc-sndpor = l_port.
  • Observe that the Sender port and the receiver port is the same, this does the trick. The outbound Idoc is sent on the port SAPERP with the Sender as ERP_100 and receiver as ERD_100 and then the Inbound Idoc is also sent to the same port SAPERP with the Sender as ERP_100 and receiver as ERD_10

No comments:

Tutorials on SAP-ABAP

Adobe Interactive Forms Tutorials

Business Server Pages (BSP)

Userexits/BADIs

Web Dynpro for ABAP (Step by step procedure for web dynpro,Tutorials on Web Dynpro,)

ALV Tutorials

goodsites