ABAP BDC FAQ's
1 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
2 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.
3 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.
4 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.
5 What do you do with errors in BDC batch session?
Analysis and correct input file format and entries in internal table BDCDATA.
6 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 for <input /> in mode at POSITION MESSAGE
READ DATASET INTO
CLOSE DATASET
DELETE DATASET
TRANSFER to
7 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.
8 Explain the process to transfer a record to a dataset?
Ans :- TRANSFER to.
9 Why batch input?
Ans :- To input a large amount of information at off-peak times.
10 Can data be put directly into the database?
Ans :- No, only after the data has been entered via transaction.
11 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.
12 What are the function modules associated with batch input?
Ans :- BDC_OPEN_GROUP , BDC_CLOSE_GROUP , BDC_INSERT
13 What is the structure of the BDC table?
Ans :- Program/Dynpro/start/field name/ field content.
14 Write out a coding example for filling a BDC Table.
Ans :- FORM
REFEESH
CLEAR
MOVE to -PROGRAM
TO -DYNPRO
‘X’ TO -DYNBEGIN
APPEND
CLEAR
MOVE: TO -FNAM
TO -FVAL
APPEND
15How do you find the transaction number, program number and field names?
Ans :- Transaction no.,program no. – System -> status
Field names - F1, Technical help
16 What are the processing modes for Batch Input?
Ans : - Process on screen(foreground), Display errors only and process in the background
17What 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.
18 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.
19 How many types of BDCs you have done?
21 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, whereas session is used to perform huge database updations using more than one transaction and which will last for a long time.
22 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.
23 What are different types of Update modes
In BDC’s we have two types of updation modes –
- Synchronous
- Asynchronous
24 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
25 What is main difference between CATT and LSMW
Using LSMW you can update any kind of data but no changes to database are allowed, whereas CATT tool can update only master data, which also allows changes to the master data and also a significant testing of data is possible
26 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 a R/3 System as it is installed. •Transfer data regularly from an external system into a 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.
The CLOSE DATASET statement closes a file.
The DELETE DATASET statement deletes a file.
To open a file for read access, use the FOR INPUT option of the OPEN DATASET statement
To open a file for write access, use the FOR OUTPUT option of the OPEN DATASET statement
To open a file for appending data to the file, use the FOR APPENDING option of the OPEN DATASET statement
To process a file in binary mode, use the IN BINARY MODE option of the OPEN DATASET statement
To process a file in text mode, use the IN TEXT MODE option of the OPEN DATASET statement
To open a file at a specific position, use the AT POSITION option of the OPEN DATASET statement
When you work with the operating systems UNIX or WINDOWS NT, you can send an operating system command with the statement OPEN DATASET. To do so, use the option FILTER
To receive the operating system message after trying to open a file, use the MESSAGE option of the OPEN DATASET statement
To close a file on the application server, use the CLOSE DATASET statement
To delete a file on the application server, use the DELETE DATASET statement
To write data to a file on the application server, use the TRANSFER statement
To read data from a file on the application server, use the READ DATASET statement.
36 Give real time work done by u in BDC? Transactions used? parameters passed with functions.
37 will ask u for screen no's and dynpro names for BDC that u say u have done.
39 Which technical field in the BDCDATA table holds the last cursor position?
41 What is true about the LSMW: (choose correct option/s)
Part of the SAP system
Processes hierarchical data files (header and position)
Needs a source field for every target field
44 How do you read a LOCAL sequential file?
45 How do you write a sequential file?
46 How do you send the BDCDATA table in a Call Transaction statement?
47 What loop do you code for a READ DATASET statement?
51 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.
52 How do you find the information on the current screen?
The information on the current screen can be found by System Status command from any menu.
53 How do you save data in BDC tables?
The data in BDC tables is saved by using the field name ‘BDC_OKCODE’ and field value of ‘/11’
54 What is the last entry in all BDC tables?
In all BDC tables, the last entry is to save the data by using the field name BDC_OKCODE and a field value of ‘/11’.
55 What is a multiple line field?
A multiple line field is a special kind of field which allows the user to enter multiple lines of data into it.
56 How do you populate data into a multiple line field?
To populate data into a multiple line field, an index is added to the field name to indicate which line is to be populated by the BDC session (Line index ).
57 Write the BDC table structure.
BDC table structure
FIELD TYPE DESCRIPTION
Program CHAR(8) Program name of transaction
DynPro CHAR(4) Screen number of transaction
DynBegin CHAR(1) Indicator for new screen
Fnam CHAR(35) Name of database field from
Screen
Fval CHAR(80) Value to submit to field
58 Does the CALL TRANSACTION method allow multiple transactions to be processed by SAP?
No. The CALL TRANSACTION method allows only a single transaction to be processed by SAP.
59 Does the BDC_INSERT function allow multiple transactions to be processed by SAP?
Yes.
60 What is the syntax for ‘CALL TRANSACTION'?
CALL TRANSACTION trans [ using bdctab MODE mode ].
Three possible entries are there for MODE.
A - show all screens
E show only screens with errors
N show no screens
Which mode of ‘CALL TRANSACTION’ method allows background processing?
N is the only mode that allows background processing.
61 Is it possible to use ‘CALL TRANSACTION’ without a BDC table?
Yes, it is possible to use ‘CALL TRANSACTION’ without a BDC table. In such case, the current program is suspended, the transaction specified is brought up, and a user must enter the data into the screens.
62 What is TCODE?
TCODE is the transaction code for the transaction that should be used to process the data in the BDC table being inserted.
63 What are the function modules that need to be called from BDC program to submit the transactions for processing?
- BDC_OPEN_GROUP
- BDC_INSERT
- BDC_CLOSE_GROUP
64 How many sessions will be opened using BDC_OPEN_GROUP?
Only one session can be created using the BDC_OPEN_GROUP function.
65 What is ‘BATCH INPUT’ or ‘BDC'?
The SAP system offers two primary methods (BDC SESSION METHOD, CALL TRANSACTION METHOD) for transferring data into the system from other systems and Non-SAP systems. These two methods are collectively called as ‘BATCH INPUT’ or ‘Batch Data Communication’ (BDC).
66 What are the advantages in Batch Input?
The Batch Input ensures Data integrity.
No manual interaction is required during Data transfer.
67 What is the functionality of ‘Classical Batch Input’?
In ‘Classical Batch Input’ an ABAP/4 program reads the external data that is to be entered in the SAP system and stores the data in a Batch Input session. This session stores the actions that are required to enter your data using normal SAP transactions.
68 Which Function Modules are used in ‘Classical Batch Input’?
BDC_OPEN_GROUP , BDC_INSERT, BDC_CLOSE_GROUP.
69 What is Synchronous Database update?
During the processing, no transaction is stored until the previous transaction has been written to the Database. This is called Synchronous Database update.
70 What are the differences between CALL TRANSACTION and BATCH INPUT SESSION ?
The most important aspects of the batch session interface are:
- Asynchronous processing
- Transfers data for multiple transactions
- Synchronous database update
During processing, no transaction is started until the previous transaction has been written to the database.
- A batch input processing log is generated for each session
- Sessions cannot be generated in parallel
The most important aspects of the CALL TRANSACTION USING interface are:
-Synchronous processing
- Transfers data for a single transaction
- Synchronous and asynchronous database updating both possible
The program specifies which kind of updating is desired.
- Separate LUW for the transaction
The system performs a database commit immediately before and after the CALL TRANSACTION USING statement.
No batch input processing log is generated
71 What are the types of Batch Input?
- Classical Batch Input
- Call Transaction
- Call Dialog
72 What is BDC_OKCODE ?
The command field is identified by a special name in batch input called BDC_OKCODE. This name is constant and always identifies the command field.
73 How can we execute a function in a BDC session?
We can execute a function in a transaction by entering the function code or function key number in the command field of an SAP session. A function key number must be prefixed with the / (slash) character. A function code must be prefixed with the = character.
Example:
BDCDATA-FNAM = 'BDC_OKCODE'
BDCDATA-FVAL = '=UPDA'
74 How can we position the cursor on a particular field?
BDCDATA-FNAM = ‘BDC_CURSOR’
BDCDATA-FVAL =
75 Who are Dialog users and who are Background users?
Dialog users are normal interactive users in the SAP system. Background users are user master records that are specially defined for providing authorizations for background processing jobs.
76 What is the use of BDC_INSERT ?
We add a transaction to a Batch Input Session by using this function.
77 What are the update modes in CALL TRANSACTION ?
S : Synchronous
A : Asynchrnous
L : Local
78 What does the message parameter indicates ?
The message parameter indicates there all system messages issued during a CALL TRANSACTION are written into the internal table. The internal table must have the structure of BDCMSGCOLL.
79 What is Direct Input ?
To enhance the batch input procedure, the system offers the direct input technique especially for transferring large amount of data. This technique doesn’t create sessions but stores the data directly. The direct input programs must be executed in the background only. To maintain and start these programs, use program RBMVSHOW or the transaction BMVO.
80 What are the features of Recording Function ?
recording transaction runs
creating batch input sessions from the recorded transaction runs.
Generating a batch input program from the recorded data.
81 What is synchrnous database update ?
During the processing, no transaction is stored until the previous transaction has been written to the database. This is called Synchronous database update.
82 How do you set up batch process?
Data analysis: Analyze the data that is to be transferred to the SAP System.
||
Generate SAP structures: Generate SAP data structures for incorporation into your data export program.
||
Develop transfer program: You can write the program in ABAP/4 or as an external program.
||
Create sequential file: Export the data that is to be transferred, to a sequential file.
||
Create batch input program: ABAP/4 batch input program that will read the data to be transferred from the sequential file.
||
Process batch input data: Process the data and add it to the SAP System. You can do this either by:
batch-input session method or Call transaction method.
||
Analyse results: Check that all data has been successfully processed.
||
Analyse Error session: Correct and re-process erroneous data.
83 Where do you use BDC?
transferring data from another system when you install your SAP System
regularly transferring data that is captured by a non-SAP system in your company into the SAP System. Assume, for example, that data collection in some areas of your company is still performed by a non-SAP system. You can still consolidate all of your data in the SAP System by exporting the data from the other system and reading it into the SAP System with batch input.
You can also use batch input to transfer data between two R/3 Systems. However, there are more direct methods for doing this, such as RFC (remote function calls).
84 What has to be done to the packed fields before submitting to a BDC session?
Declare these fields in the internal table as characters and the length of the field should be same as the field length of the field's data element. This internal table is used to hold the data fetched from the sequential file using WS-upload function module
What is LSMW
The LSMW is a cross-application component (CA) of the SAP R/3 System.
The tool has interfaces with the Data Transfer Center and with batch input and direct input processing as well as standard interfaces BAPI and IDoc in R/3.
The LSMW comprises the following main functions:
Read data (legacy data in spreadsheet tables and/or sequential files).
Function Read data replaces and enhances functions Spreadsheet interface and Host interface of LSMW version 1.0. You can use any combination out of PC and server files now.
Convert data (from the source into the target format).
Import data (to the database used by the R/3 application).
TCODE - LSMW
once you write the code for opening he BDC session and then you need to run BDC session by program RSBDCSUB.