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 :-
o • READ DATASET (reading) and TRANSFER (writing)
o • OPEN DTASET <dataset name> for <input output appending> in <binary text > mode at POSITION <position> MESSAGE <field>
o • READ DATASET <dataset name > INTO <field>
o • CLOSE DATASET <dataset name>
o • DELETE DATASET <dataset name>
TRANSFER <field> to <dataset name>
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 <field> to <dataset name>.
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 <NAME>
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>
15 How do you find the transaction number, program number and field names?
Ans :-
o • 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
17 What are the available OK Codes that can be utilized during batch input processing?
Ans :-
o • /n – terminates current batch input transaction and marks as incorrect.
o • /bdel – delete current batch input transaction from session.
o • /bend – terminate batch input processing and mark session as incorrect.
o • /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, where as 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 – 1) Synchronous 2) 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, 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
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 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
SAP ABAP BDC Programs Questions 2
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)
o • Part of the SAP system
o • Processes hierarchical data files (header and position)
o • 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 ?
o - 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 ?
o - Only one session can be created using the BDC_OPEN_GROUP functon.
65 What is ‘BATCH INPUT’ or ‘BDC’ ?
o - 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 ?
o - 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’ ?
o - BDC_OPEN_GROUP , BDC_INSERT, BDC_CLOSE_GROUP.
69 What is Synchronous Database update ?
o - During the processing no transaction is stored until the previous transaction has been written to the Database. This is called Synchronous Database update.