FAQ on ABAP BDC programs








What should be the approach for writing a BDC program?

Ans.: 1. Analysis the Data.       2. Generate SAP structure.       3. Develop transfer program         4. Create sequential file.  5. Create batch input program. 6. Process batch input data


What is the alternative to batch input session?

Ans. : Call transaction   &  call dialog


What are the steps in a BDC session ?

The first step in a BDC session is to identify the screens of the transaction that the program will process. Next step is to write a program to build the BDC table that will be used to submit the data to SAP. The final step is to submit the BDC table to the system in the batch mode or as a single transaction by the CALL TRANSACTION command.



What are the problems in processing batch input sessions? How is batch input process different from processing on line?

Ans.: Sessions cannot be run in parallel and not fast.


What do you do when the system crashes in the middle of a BDC batch session?

-Check no. of records already updated and delete them from input file and run BDC again.


What do you do with errors in BDC batch session?

-Analysis and correct input file format and entries in internal table BDCDATA.


WHAT are the commands that allow you to process sequential file? And what is their syntax?

Ans :-

·         READ DATASET (reading) and TRANSFER (writing)

·         OPEN DTASET <dataset name> for <input output appending> in <binary text > mode at POSITION <position>   MESSAGE <field>

·         READ DATASET <dataset name > INTO <field>

·         CLOSE DATASET <dataset name>

·         DELETE DATASET <dataset name>

TRANSFER <field> to <dataset name>


What is the process for transferring data from legacy system to SAP?
Ans :- FTP file transfer, Manufacturer –specific field transfer NFS(network file system)/BDC.


Explain the process to transfer a record to a dataset?

Ans :- TRANSFER <field>   to <dataset name>.



Why batch input?

Ans :- To input a large amount of information at off peak times.



Can data be put directly into the database?

Ans :- No, only after the data has been entered via transaction.




Explain at high level, the batch input process?

Ans :- Batch data is placed into queues called batch input sessions , then placed into the application programs for maintenance into the database.


What are the function modules associated with batch input?




What is the structure of the BDC table?

Ans :- Program/Dynpro/start/field name/ field content.



Write out a coding example for filling a BDC Table.

Ans :-  


REFEESH <bdc table>

CLEAR <bdc table>

 MOVE <program name > to <bdc table>-PROGRAM

<number1> TO <bdc table>-DYNPRO

 ‘X’  TO <bdc table>-DYNBEGIN

  APPEND <bdc table>

 CLEAR <bdc table>

  MOVE: <field1> TO <bdc table>-FNAM

  <field2> TO <bdc table>-FVAL

   APPEND <bdc table>


How do you find the transaction number, program number and field names?

Ans :-

·         Transaction no.,program no. – System -> status 

Field names - F1, Technical help


What are the processing modes for Batch Input?

Ans :- Process on screen(foreground) , Display errors only and process in the background


What are the available OK Codes that can be utilized during batch input processing?

Ans :-

·         /n – terminates current batch input transaction and marks as incorrect.

·         /bdel – delete current batch input transaction from session.

·         /bend – terminate batch input processing  and mark session as incorrect.

·         /bda – change display mode to process the session on screen instead of displaying only errors.

/bde – change display mode to display only errors instead of processing  the session on the screen.


What is the effect of the BDC_CURSOR field name in the BDC table?

Ans :- You can set the cursor and enter as a corresponding field value the name of  the field  on which the cursor is to be positioned .


How many types of BDCs you have done?



Why you choose Call transaction and/or session method?

Call transaction is mainly used when you want to update the database using a single transaction , you can also update the database in asynchronous mode, where as session is used to perform huge database updations using more than one transaction and which will last for a long time.



How you trap errors in call Transaction

Errors while updating the database using call transaction technique are trapped using a structure bdcmsgcall, whose field msgtyp become ‘e’ when an error record is encountered. Those records are formatted using format_message function call in the desired format and stored in an internal table for listing of all error records in one shot.



What are different types of Update modes

In BDC’s we have two types of updation modes – 1) Synchronous 2) Asynchronous



What is main difference between session method and LSMW

In the context of session method,

the method of updating is “Batch Input” ,

we require a program to be coded,

But in the context of LSMW method,

The methods of updating

using “Batch Input/Direction Input”

from an IDOC,

from a BAPI structure.

No source code is required, the complete operation is performed in 16  steps sequence



What is main difference between CATT and LSMW

Using LSMW you can update any kind of data but no changes to database are allowed, where as CATT tool  can update  only master data, which also allows  changes to the master data and also a significant testing of data is possible



What is BDC and How you use it?

            BC Basis Components--ABAP workbench--BC Basis Programming interfaces--Data transfer


            During data transfer, data is transferred from an external system into the SAP R/3 System.  •Transfer data from an external system into an R/3 System as it is installed.  •Transfer data regularly from an external system into an R/3 System.


Example: If data for some departments in your company is input using a system other than the R/3 System, you can still integrate this data in the R/3 System. To do this, you export the data from the external system and use a data transfer method to import it into the R/3 System.

 Batch input with batch input sessions : Data consistency check with the help of screen logic.


With the batch input method, an ABAP program reads the external data that is to be entered in the R/3 System and stores the data in a "batch input session". The session records the actions that are required to transfer data into the system using normal SAP transactions.


When the program has generated the session, you can run the session to execute the SAP transactions in it. You can explicitly start and monitor a session with the batch input management function (by choosing System ® Services ® Batch input), or have the session run in the background processing system.


Use the BDC_OPEN_GROUP function module to create a new session. Once you have created a session, then you can insert batch input data into it with BDC_INSERT. Use the BDC_INSERT function module to add a transaction to a batch input session. Use the BDC_CLOSE_GROUP function module to close a session after you have inserted all of your batch input data into it.


What is Dataset and how you use it?

            ABAP/4 provides three statements for handling files: 


The OPEN DATASET statement opens a file.

Comments (5)

Said this on 11-3-2007 At 01:41 am
This materil is more usefull for the fresh abapers.

Said this on 11-26-2007 At 05:32 pm
Katamreddy Prabhakar Reddy
Said this on 11-28-2007 At 12:18 pm
Plase Send me ABap Material And Resume
Said this on 2-17-2008 At 09:33 pm
excellent usage
Sanket Mohanty
Said this on 10-30-2009 At 03:53 pm

Hi I need some real issues related to ticket handling while in ABAP support

Post a Comment
* Your Name:
* Your Email:
(not publicly displayed)
Reply Notification:
Approval Notification:
* Security Image:
Security Image Generate new
Copy the numbers and letters from the security image:
* Message:

Email to Friend

Fill in the form below to send this article to a friend:

Email to Friend
* Your Name:
* Your Email:
* Friend's Name:
* Friend's Email:
* Security Image:
Security Image Generate new
Copy the numbers and letters from the security image
* Message: