Thursday, August 11, 2016

ALE IDOCS Interview Questions

Question1 : How to achieve serialization in ALE / IDOCS


 Serialization is the concept of sending IDOCS of different message types in particular sequence . This can be achieved by creating a serialization groups both in sending and receiving systems.







While creating the outbound partner profile add SERDAT and for all the message types below should be clicked




Enable Change pointers globally using BD61 and for the message types BD50

Partner Profile in the receiving system should appear as below all the message types from the serialization group should have "Trigger by Background program" and SERDAT alone should have "Trigger Immediately"







1. Creating of IDOCs : The report RBDSER01 creates the IDocs for a serialization group. The serialization group to be created is specified as a parameter in this report. The report selects all the master data change pointers assigned to this serialization group. The IDocs are then created from the change pointers.

2. Dispatch of the IDOCs : After the IDocs have been created the report RBDSER02 dispatches the IDocs belonging to a serialization group. The name of the serialization group to be sent is specified as a parameter in this report. You can also specify the receiving systems and in the time period that IDocs can be created/changed.

3. Report RBDSER02  schedules a report RBDSER03 that checks whether all the IDOCS from the serialization group have been sucessfully sent to the receiving system .If they have, a control message of message type SERDAT is sent to the receiving system and posts the serialization group there. To do this specify in the parameters of report RBDSER02 the time that should be scheduled after sending report RBDSER03.
You also have the option to always dispatch the control message. This means dispatch it even if all the IDocs have not been passed to the receiving system. This means that IDocs arriving in the receiving system can be processed even if some IDocs are still being transferred. However, serialization difficulties may occur.


The processing of inbound IDocs of a serialzation group can be directly started by the Report RBDSER04.


Question2 : What happens when one of the IDOCs in the serialization group fails ? 

 Scenario : MATMAS and CLFMAS are in the serialization group with sequence 1 and 2 respectively .
If the Material IDOC(MATMAS) fails it will not allow the classification IDOC(CLFMAS) to get processed as they are serialized.

If the Material IDOC(MATMAS) goes through and gets posted and  if the  classification IDOC(CLFMAS) fails later it doesent cause the material idoc posting to be rolled back .The material idoc remains posted as such and the material values will be updated successfully in the destination.

The idocs are serialized to send the idocs in a specific order. The failure of one idoc will not cause the other to rollback.Any gaps in the sequence will mean that IDocs are missing, either because the transfer did not work, or because earlier IDocs were not posted successfully. In this case the IDoc is assigned status 66 and must be posted again with the program RBDAPP01.


Question3 : How do you reprocess an IDOC

BD87 - It will process the same IDOC in error 
If you are using WE19 it will create a new IDOC . 

Question4 : How to improve the performance of Inbound IDOC processing 

This is how:
A) Switch from immediate IDoc processing to batch
Program that transfers the IDOCS is "RBDAPP01"

B) Use parallel processing option: Program Name : "RBDAPP01" 

C) Use IDoc packets rather than single IDoc posts


Question5 : IDOC filtration process , Tcodes and example 

The technique of filtering at the IDoc level enables to send a subset of data that is relevant for a receiving system

For IDOC Filtration we have to search for a suitable filtering object in transaction BD59.

In the distribution model select the Filter Object , provide the values. 

Like MRP view of one plant should be sent to other plant while the material master distribution through BD10.


Question 6 : What is an Idoc status?  What are the different types of Idoc statuses that you know ?

When an IDoc is sent from one system to another , it goes through variuos stages.The IDoc status indicates the stage that the Idoc in currently in.
There about 75 IDoc statuses.There is no way you can remember those all .
Don't even try to ! You will probably remember only those on which you have worked .

But here are a few that you should know:
0-49 indicates an Outbound IDoc and 50-75 as Inbound IDoc. 

01  IDoc generated
02  Error passing data to port
03  Data passed to port OK

51  Application document not posted
52  Application document not fully posted
53  Application document posted


Question 7 : Explain about Change pointers : 


Change Pointers are log entries to remember all modified records relevant for ALE. Change pointers are log entries to table BDCP, which are written every time a transaction modifies certain fields.

A) TCODE:   BD50 (Activate change pointer for message type)  
Below screen shows Activating change pointer for Message Type 'MATMAS'  

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  

The below screen shows actual fields in segment.  
 
C) TCODE:   BD61 (Activate change pointers generally)  
The Below screen shows how to activate change Pointers generally.  

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.    


Question 8 : What is the main difference between ALE/IDOCs and BAPI 



ALE/IDOCS are used for asynchronous information interchange and BAPI for synchronous .


Question 9 : I have to send same IDOC to multiple receiving systems , how to achieve the same .


There will be 1 sender and multiple receiver in SALE . For each combination BD64 ( distribution model has to be created with the message type added . 
There will be multiple IDOCS having the same data sent to different receivers . 

Some Theoretical Questions : 


Question 10:  What is ALE ?
ALE stands for Application Link Enabling. As it's name indicates , it links two systems.
ALE is a technology that can enable exchange of data between two different Systems ( Sap - Sap OR Sap - Non Sap). ALE technology enables distributed yet integrated installation of SAP systems.
ALE architecture comprises of 3 layers : 

Application layer refers to the application data ( SD , MM , FI or data for any SAP application ) . In this layer the data is collected to be distributed and then sent to the distribution layer.

Distribution layer determines to whom should the data generated by the application layer has to be distributed i.e. it is in the distribution layer that the recipient is determined , the data is formatted or filtered and then an actual is created.

Communication layer takes the responsibility of delivering the Idoc to the receiving system and communicates to the receiving system via tRFC , File ports , FTP or TCP/IP etc.

ALE uses IDoc as a vehicle to transfer data between two systems.

Question 11:  What are the types of records in SAP ALE Idocs and where is this information stored ?
There are three types of records in SAP ALE Idocs:
Control Records: Control record information for an IDoc is stored in standard table EDIDC.
Data Records:     Control record information for an IDoc is stored in standard table EDIDD.
Status Records:   Control record information for an IDoc is stored in standard table EDIDS.

Question 12 : Can you send IDOCs without maintaining BD64 ?

Yes you can send IDOCs but its best practices to utilize the capabilities of Distribution Model in order like filtering .



Question 13 : How can you send IDOCs through program : 

Using Master_IDOC_DISTRIBUTE 

Question 14 : IDOCS are in status 30 how can you send these IDOCS to receiving system : 

RSEOUT00 program can be called and one can provide the Message TYpe , receiving system details , packet size .

Question 15 : How can you send IDOCs through message control : 

Example : PO create ME10 /change ME11




I will try to add more questions and detailed explanation to answer to this thread .



3 comments:

  1. Please post more interview questions and I will add them to the list.

    ReplyDelete
  2. Can you please explain me how can we send the same idoc to multiple systems ? email me at subhant.banerjee@gmail.com

    ReplyDelete
  3. Thanks for sharing!

    ReplyDelete