SAP ABAP Cross Application Interview Questions: RFC, ALE, BAPI, and IDoc Integration.

Mastering SAP ABAP Interview Questions: Unveiling the Secrets of Cross-Application, RFC, ALE, BAPI, and IDoc Integration.

 1). What is the Cross Application/Interfaces concept?

Ans: - This concept is used to distribute the data between SAP to SAP systems

(SAP R/3 ⇄ SAP CRM) &SAP to Non SAP systems (SAP ⇄ .NET, JAVA)

2) What is a Remote Function Call (RFC)& the types of RFCs?

Ans:

➢ It is an SAP-specific protocol to provide communication between different systems.

➢ It is the process of calling Function modules from another system.

➢ SAP Uses CPIC (Common Programming Interface for Communication) Protocol to transfer

data between Systems.

Types:

1. Synchronous RFC: In the case of this RFC both the Sender/Source and Receiver/Target

 systems should be available while distributing the data. The next part of the calling program

 isn’t continued until the call function is completed.

2. Asynchronous RFC: In the case of this RFC both the Sender/Source and Receiver/Target

 systems should not be available while distributing the data. The following section of the call

 program is continued without completing the call function.

3. Transactional RFC (TRFC): It is almost similar to Asynchronous RFC. The Transactional

RFC is executed only once in an RFC server & saves the corresponding data under a unique

transaction ID in the Database.

4. Queued RFC: In the case of this RFC the multiple transactional RFCs are serialized in the

 sequence using the Function module TRFC_SET_QUEUE_NAME.

➢ An additional statement ‘Destination’ is used while calling Remote Enabled Functions.

3) How to Debug the RFC Function module?

Ans:

➢ GO to SE38, then Utilities - Settings - ABAP Editor  Debugging Activate the external debugging

and select the New Debugger option from the ABAP debugger..

➢ Go to the particular place in the code and put a breakpoint, a pop will appear then choose the

HTTP break point.

➢ If you're triggering the RFC from the SAP portal, make sure both user IDs are the same. If the users differ, enter the XI/Portal User ID in the user box.

4) How do you connect to the remote server if you are working from the office for the client in

remote place?

Ans: WAS ->Web Application Server or ITS (Internet Transaction Server) are generally used for this

purpose. If you are sitting at your office with a server that is in the system and the other server is

at the client's place you can generate IDOC, Intermediate documents that carry the data you want to transfer, these IDOC are clarify by the system at the receiving end with the message class with which it is bound with. If you want to log on to a system

that is very distant, then remote login can be used this depends on the internet speed.

5) What are the steps to work with Remote Enabled Function/maintain RFC connection?

Ans: An additional statement Destination is used while calling remote-enabled functions.

1. Define RFC Destination: 2. Creation of Remote Enabled Function: SE80

➢ Execute the T-Code: SM59

➢ Select the required RFC connection such as ABAP connections/Type 3 connections.

➢ Click on Create icon

➢ Enter RFC destination name & Description : SAP R/3 to SAP CRM

➢ Enter the target application server name/address in the target host field: CRM system

➢ Enter the target system number Ex: 33

➢ Click on “Logon & Security” tab

➢ Enter the logon credentials of the Receiver/Target system

Note: The check box Current user can be checked to make use of the same User name & password

for the target system

➢ Click on save icon & click on yes button

➢ Click on the ‘Connection Test’ button to test the RFC destination

➢ Click on the ‘Remote Logon’ button to test the remote connection

6) How to make Destination (system-id) dynamic?

Ans: 

IF Sy-sysid EQ ‘CMD.

<gv_dest> = ‘R3D’.

ELSEIF Sy-sysid EQ ‘CMQ.

<gv_dest> = ‘R3Q’.

ELSE Sy-sysid EQ ‘CMP.

<gv_dest> = ‘R3P’.

*Call RFC

CALL FUNCTION ‘ZRFC/RFC’

DESTINATION <gv_dest> “R3D

7) What are the differences between RFC and BAPI?

Ans:

8) What are the steps involved in creating Custom BAPI?

Ans:-

 1. Create the BAPI structure (SE11) starting with ZBAPI*.

 2. Create the BAPI function module (SE37) starting with ZBAPI* which is

 a) Remote Enabled

 b) All parameters are passed by value

 c) Must contain Return parameter

 3. Create a method & object for the BAPI remote-enabled function in BOR using the T-code

 ‘SW01’.

 4. Generate, implement & release the created BAPI to the outside using the T-code - ‘SQO1’.

9) What are the ways to find Standard BAPIs?

Ans:- There are 2 ways to find BAPI.

➢ Using the T-code: BAPI

➢ Using the T-code: SE37

10) How to find/check the Standard BAPIs?

Ans :-1. Execute the T-code BAPI

2. Expand the required Hierarchy. Ex: Sales & Distribution etc

 3. Expand the required sub-functional area. Ex: Sales/Billing etc

 4. Double-click on the required BAPI

➢ Corresponding BAPI details such as method name, business object name, BAPI

function module &etc are displayed under the details tab

➢ The tab Documentation is used to know more details about the BAPI’s (standard)

➢ The tab Alphabetic can also be used to find the BAPI’s in the alphabetical order

5. Click on back

11) What are the steps to work with standard BAPI?

Ans:

➢ Upload the flat file data into an internal table

➢ Convert the flat file data into BAPI compatible Work areas/internal tables within the loop of

the flat file internal table.

➢ Call the BAPI function module & pass the BAPI internal tables.

12) How to handle exceptions in RFCs and BAPIs?

Ans:-You can handle the exceptions by using a structure BAPIE1RET2 which returns the

messages captured in BAPI. In the Tables parameter of your BAPI, To collect the 'RETURN' 

parameters from BAPI, you can create a structure of type BAPIE1RET2.

13) How to handle error messages in standard BAPIs?

Ans:

1. Get all the details of message into a written table of the type BAPIRET such as Message ID,

Message type, Message variable, etc.

2. Use the standard function modules,

➢ MESSAGE_INITIALIZE ( Initialize messages),

➢ MESSAGE_STORE (To store messages) &

➢ MESSAGES_SHOW (To display messages in the Dialog box/Model dialog)

14) What is Extended BAPI?

Ans:

➢ Standard BAPIs can be extended to add the customer-specific additional field.

➢ Standard BAPI contains table’s parameters EXTENSION and EXTENSIONOUT in case they are

extended BAPI’s.

➢ BAPI extension is used to update custom fields of a table (ex: MARA).

➢ BAPI extension out is used to retrieve custom fields of a table.

15) What are the differences between BAPI and normal BDC?

Ans:

16) What are Authorization Objects?

Ans:

➢ These are used to protect/prevent user access to the data & T-codes/Tables.

➢ The authorization objects are maintained by BASIS consultants.

➢ The T-code: SU24 is used to find authorization objects in the system.

➢ The ABAP statement ‘AUTHORITY_CHECK’ or the standard Function Modules

‘AUTHORITY_CHECK*…’ are used to check the authorizations.

17) What are ALE and EDI?

Ans:-

➢ ALE stands for Application Link Enabling. It is used to distribute the data between two

different SAP systems/Servers.

➢ EDI stands for Electronic Data Interchange. It is used to distribute the data between SAP &

non-SAP systems/servers.

18) What is an IDOC?

Ans:-

➢ IDOC stands for Intermediate Document.

➢ IDOC is the collection of segments & each segment is the collection of fields.

➢ IDOC is the carrier to carry the data between the distributed systems in electronic form

without user interaction.

19) What is an IDOC Structure?

Ans:-

Each IDOC has 3 records

I. Control Record:

➢ It contains IDOC type & Message type information, Partner information such as partner

system number, and the sender & receiver system port number.

➢ It also contains technical & address information of the sender & recipients.

II. Data Record:

➢ These are collections of segments. The data record of an IDOC contains segments.

➢ Segment is a collection of fields that can be distributed the data between the systems.

III. Status record:

➢ It contains the status of the processed IDOC to know where an IDOC has been

successful/failed.

➢ The standard table EDIDC contains IDOC information such as control records, different

statuses etc.

Note:

➢ The Sender/Source system is also called an ‘Outbound system’.

➢ The Receiver/Target system is called the ‘Inbound system’.

➢ The T-code ‘WE30’ is used to maintain different types of IDOCs such as Basic IDOCs,

Extended IDOC.

➢ WE02/WE05 T-codes are used to list the generated IDOCs.

➢ The T-code ‘WE19’ is used to test/check the IDOC.

Custom Segments:

➢ The custom segments are starts with Z*/Y* & they are maintained by technical & functional

consultants

Standard Segment:

➢ These are system-provided segments

➢ The T-code: WE31 is used to maintain the segments

Message Types:

➢ These are identifiers of the application data to be distributed between the systems

➢ The T-code WE81 is used to create & WE82 is to assign the message types to the IDOC (Data

carrier)

➢  EDIDC is standard table that contains all available message type 

The system provided standard message types?


Partner Profiles:

➢ These are used to maintain the partner system details with which data to be distributed such

as partner number, Partner type & Message type of outbound parameters.

➢ The T-code WE20 is used to maintain partner profiles

Ports:

➢ These are used to specify the way in which data is to be distributed through an IDOC

➢ The system generates one unique port number

➢  WE21 T-Code is used to maintain ports for the IDOC.

Customer Distribution Model:

➢ It is used to define a data distribution model to exchange messages between two logical

systems (SAP to SAP and SAP to non SAP).

➢ The T-code BD64 is used to define/maintain the customer distribution model

Process codes;

➢ It is used to identify the type of data to be distributed through an IDOC interface.

➢ The T-code WE41/WE42 is used to work with the process code.

20) What are the Transaction Codes/Reports to send/generate and receive the data to IDOCs?

Ans:-


21) How to check the IDOCs?

Ans:- 

WE19 is the T-code to check the IDOCs.

1. Execute WE02/WE05

 2. Provide the Message type: CREMAS (Logical Sys), Partner no: LS810 & Click on Execute

3. After we get the status code 03, if we want to know if the IDOC is reached the destination or

not then we execute RBDMOIND standard program.

4. The status of an IDOC (3) use in Green indicates that it was successfully delivered. Yellow traffic light indicates/the status code remains the same, IDOC is in progress or in the Transaction RFC, and the red traffic light/status indicates that there is an error in the IDOC. 

 5. Expand the Data Records folder and select each segment to see the data to be distributed.

22) What are the Transaction Codes associated with ALE, and IDOCs?

Ans:-


➢ Most of the T-codes which are related to ALE/IDOC start with WE* & BD*.

➢ The T-code WE30 is used to create & display  the various varieties of IDOC, such as Basic

 IDOC & Extended IDOC.

➢ The T-Code WE05/WE02 is used to list out the IDOC.

➢ The T-code WE19 is used to check the IDOC.

23) What is the Transaction Code to create/maintain the segments?

Ans:-  T-code WE31.

24) What is the Transaction Code to create a Custom IDOC?

Ans:-

Create Segment ( WE31)

Create Idoc Type ( WE30 )

Create Message Type ( WE81 )

Assign/apply Idoc Type to Message Type ( WE82 )

25) What are the Partner profiles, as well as their Transaction Codes?

Ans:- 

Partner profiles are maintained/created to specify the partner details (system) to which the

data is to be transmitted. The T-code WE20 is used to create the partner profile.

26) What are the Message Types and the Transaction Code?

Ans:-

➢ The message type is the data identifier of an application.

➢ The control record of an IDOC contains the Message Type.

➢ The T-code WE81 is used to Create & WE82 is to assign the Message Type to the IDOCS.

27) How to add Segments to an Existing IDOC?

Ans:-

➢ it is possible using WE30 and WE31. WE30 you can create an extension to the existing Idoc

type and WE31 you can add the fields to the sub-segment. So first develop the segment

using WE31.you need to create the extension first &then add to the segment whichever you

want to use WE30 with an extension option.

➢ Here you have to create an enhanced doctype. we can create the segment using we31 tcode  as per 

our requirement and go to we30 and create an enhanced Idoc type by coping the standard Idoc. After

that you will select the segment under which you want to add the new segment and press

create a button on the application toolbar and give the details of your new segment and save

it.

28) What are the advantages of ALE, IDOCs, and EDI?

Ans:-

➢ The data is distributed between the systems in electronic form without user interaction.

➢ It reduces data errors, manpower & paperwork.

➢ It is used to distribute the data between SAP & NON SAP systems.

29) How to reprocess error IDOCs?

Ans: We can reprocess error IDOCs (status 51) using the program RBDAGAIN or BD87.

30) How to reprocess edited IDOCs?

Ans: We can reprocess edited IDOCs using the program RBDAGAIE (Se38 program).

31) How do you get output from IDOC?

Ans: IDOC data is kept in segments. the output from IDOC is obtained by reading the data

stored in its respective segments.

32) How do we generate IDOC in SAP?

Ans: The function module MASTER_IDOC_DISTRIBUTE is used to generate the IDOC in the custom

report.

33) what types of ways to trigger idoc in sap?

Ans:

  • Master idoc distribution function module.
  • message control.
  • change pointer.
34) which program is used to execute the inbound idoc in the background.

Ans:

RBDAPP01.

35) how to change the status of idoc?

Ans:

Using this report -  RC1_IDOC_SET_STATUS.

36) what are the two ways of processing the outbound idoc with respect to time?

Ans:

there are two ways for outbound idoc processing.

  • pass idoc immediately
  • collect idoc
37) if you have a large amount of data in idoc that needs to be processed which mode you will select?

Ans:

Collect idoc option in the partner profile's outbound parameters.
38) what is the program need to be scheduled for outbound idoc to be processed automatically when the collect option is selected.

Ans:

RSEOUT00
39)what are the two ways of processing the inbound idoc at the receiver system?

Ans:
  • Trigger by background program.
  • Trigger immediately.
40)If you have selected idoc trigger by background program then which program is to be executed in batch.
 
Ans:

RBDAPP01.

41)If your idoc is stuck at RFC layer SM58 then which program need to be executed for clearing the idoc?

Ans:

RSARFCEX.

42)what is a change pointer and what are the steps to follow in order to configure the change pointer?

Ans:

Change pointer is a technique through which you are capturing the log of changes of the objects in the table BDCP2.

Actual changes are there present in the table: CDHDR, CDPOS.

Steps to configure change pointer:

  • Activate the change pointer globally using tcode - BD61.
  • Activate the change pointer at message type level tcode - BD50.
  • Activate the change pointer at the field level of message type - BD52.
  • Configure the partner profile tcode- WE20.
  • BD64 - IF Distribution model is maintained for filter condition.
 43)How to debug inbound idoc?

Ans:

using identify inbound function module.
for identify an inbound function module there is two method

  • WE57 - Enter message type and get function module.
  • WE20 - Select partner profile - inbound parameter - click on process code - you will get FM name.
44)If in PRD we need to debug idoc which is successful status but not used  WE19 to retrigger idoc what you will do? 

Ans:

We use RC1_IDOC_SET_STATUS report for changing the status of idoc from successful to error.
after that, we can debug that idoc using BD87.
45)Table associated with idoc.

Ans:

  • TEDS1 - All Idoc status descriptions.
  • EDIDC - Control Record.
  • EDIDS - Status Record.
  • EDID4 - Data Records.
46)What are the ways to filter idoc segment?

Ans:

i) Segment based filtering - using Tcode BD56 we can filter segment which segment we want to send to receiver system.

ii)Idoc filtering - using tcode BD64 we can filter idoc base on values.

47)what is reduced message type ?

Ans:

  • it is created with reference of message type
  • Tcode - BD53 for reduce message type
  • in this we removed or disable the extra fields which is not required.
  • whatever the fields are required we use select command and then make that field the part of reduce message type.
  • benefits of this is idoc not  carry extra information.
48) Can you create the reduced message type for custom or z message?

Ans:

Not possible for custom or z message type.

49)Can you create the reduce message type for all the message types?

Ans:

No.

Then what type of message types you can create for reduce message type?
- In table TBDME, the flag for field reduce message type should be enabled. if it is enable then we can use.
50)What is difference between idoc reduction and idoc extension.

Ans:

Idoc Reduction
  • Idoc reduction is basically used for removing extra fields.
  • Tcode - BD53
  • here we use reference as message type to create idoc reduction.
Idoc Extension
  • Idoc extensionis used for adding extra fields.
  • Tcode - WE30
  • here we used reference as basic type of idoc.

Post a Comment

0 Comments