For regular Updates on SAP ABAP please like our Facebook page:-\n Facebook:- https://www.facebook.com/bigclasses/\nTwitter:- https://twitter.com/bigclasses\nLinkedIn:-https://www.linkedin.com/company/bigclasses/\n Google :https://plus.google.com/ Bigclassesonlinetraining\nSAP ABAP Course Page:-https://bigclasses.com/sap-abap-online-training.html\nContact us: - India 91 800 811 4040 \n USA 1 732 325 1626\nEmail us at: - firstname.lastname@example.org
FREQUENTLY ASKED INTERVIEW QUESTIONS & ANSWERS
Yes it is possible to write call transaction and session in one program.
a) The database system being addressed must be supported by SAP.
b) The database tables being addressed must be defined in the ABAP/4 dictionary.
c) Both a and b
If we want to transfer large amount of data and when we need to use more than one transaction code we prefer session method. For small or less amount of data and for single transaction use call transaction.
(This is more genric answer but you can add more on to this if you have worked on BDC)
a) A database interface translates SAP’s Open SQL statements into SQL commands specific to the database in use. Native SQL statements access the database directly.
b) When you use Native SQL, the addressed database tables do not have to be known to the ABAP/4 dictionary. In Open SQL, the addressed database tables must be defined in the ABAP/4 dictionary.
c) There is automatic client handling in Native SQL whereas clients must always be specified in Open
When we need to update medium amount of data we use LSMW. LSMW is also used when the person like functional consultant has less programming language.
a) TABLE is used as a synonym for STANDARD TABLE
b) You can only access a hashed table using the generic key operations. Explicit or implicit index operations (such as LOOP ... FROM oe INSERT itab within a LOOP) are not allowed.
c) All hashed tables are index tables.
d) We have to define the hash procedure explicitly for HASHED TABLE.
Ans. a, b
Include structure allows to add one or more structure into structure or table.Also placed positioning anywhere. Upto 6 include structure can be used in a table.
Append structure can be placed only at the end of a structure or table which also stops further
insertion of fields.Only one append structure can be used.
a) True b) False
1. The sequence of fields must be same as per database table
2. During writing select query write all fields in sequence as per database table.
3. Never write select statements inside loop….endloop.
4. Use st05 SQL trace, se30 run time analysis, code inspector, slin,etc.
5. Use select single * statement instead of select *
6. Always use primary key
7. Use binary search but before using binary search sort that table.
a) Yes b) No
Two ways to debug sapscript . first way is goto SE 71 and from menu bar select Utilities-
>activate debugger .then goto SE38 execute the print program ,it automatically goes to debugging mode …..the other way is , run the program RSTXDBUG in se 38 . execute it . a message will show that debugger is activated .now open the print program in se 38 …u vll notice that the print prgm is automatically diverted to debugging mode.
a) ‘Call transaction’ in background mode.
b) ‘Call transaction’ in error mode.
c) ‘Bdc_insert’ for the transaction.
d) None of the above.
This concept is mainly used in IDOC where u select the partner profile using Tcode We20
.with Tcode SM59 you create RFC(remote function call) to create communication link to a remote system.
a) Load module
b) Call transaction
d) Idoc segment
Occurs addition to the Declaration will give initial size to that table.occur statement allocates 8kb of memory to the internal table.
a) You can end the Native SQL with a semicolon. b) You can end the Native SQL with a period.
c) You cannot perform reliable authorization checks using EXEC SQL.
d) Host variables in the Native SQL are identified with a preceding hash (#).
Ans. a, c
page window is nothing but a container of a page ,which uniquely identifies a set of data
…for example while creating invoice …we create logo window , billing document header window ,
customer window , terms and condition window etc …
a) Database systems set physical locks on all lines affected by a database call.
b) Read locks prevent the setting of further read locks for the objects in question.
c) Read locks prevent other transactions from setting write locks for the objects in question.
d) Write locks allow other transactions to set read locks for the objects in question.
Ans. a, c
In table control when you scroll a table vertically presentation server needs to call application server to fetch the next record and display in the table while in case of horizontal scroll there is no need to call application server.
a) Field symbols are like pointers in C that can point to any data object in ABAP/4 and to structures defined in ABAP/4 dictionary.
b) Field symbols have to be created with type specifications only.
c) You cannot assign one field symbol to another.
d) All operations you have programmed with the field symbol are carried out with the assigned field.
Ans. a, d
A group that combines several fields fewer than one name, at runtime, the INSERT command is used to define which data fields are assigned to which field group are called Field Groups. It should always be a HEADER field group that defines how the extracted data will be sorted; the fields grouped under the HEADER field group sort the data.
a) The first EXTRACT statement extracts the first extract record.
b) The first EXTRACT statement creates the extract dataset and adds the first extract record.
c) Each extract record contains, if specified, the fields of the field group.
d) Each extract record contains, if specified, the fields of the field symbol.
Ans. b, c
The events in ABAP/4 are load of program ,Initialization, Selection Screen, Start of
Selection, End of Selection, Top of page, Line selection, User command, End, First.
always Pass by Value.
RFC is Remote Function call so it can’t access the values with Pass by reference.
a) COLLECT can only be used with STANDARD TABLE.
b) To use COLLECT, the internal table should be derived from a database table with an explicit key.
c) If the system finds a numeric component, that is not part of the key, the numeric fields that are not part of the table key (see ABAP number types) are added to the sum total of the existing entries. If it does not find an entry, control passes on to the next record in the internal table.
d) If the system finds a numeric component, that is not part of the key, the numeric fields that are not part of the table key (see ABAP number types) are added to the sum total of the existing entries. If it does not
find an entry, the system creates a new entry instead
There are three type of buffer
1 single record
2 generic buffer
3 full buffer
Buffering is use for improve performance. it improves performance 10 to 100 times more.
a) ABAP queries are created by associating them to a logical database or through a direct read/data retrieval program.
b) ABAP queries are created from functional areas that are created from a logical database or through a direct read/retrieval program.
c) ABAP queries are created from user groups attached to the functional areas that are created from a logical database or through a direct read/retrieval program.
d) ABAP queries are created through the regular report program.
Select single fetches first matching record. If more than one matching records are there then only the first matching record will be considered other records will not be taken into account. Where as select up to 1 rows will fetch all the matching records from the database.(Again it will assign only One Record to the internal table/Work area)
a) Each time you start a transaction.
b) Each time you end a transaction.
c) When the database changes of the previous LUW have been confirmed (database commit).
d) Before the database changes of the previous LUW have been cancelled (database rollback).
Ans. a, d.
There are two different buffering methods
The system ensures that data transfer between the R/3 System and the database system is as
efficient as possible. To do this, it uses the following techniques:
Table buffering: The program accesses data from the buffer of the application server.
Database request buffering: Individual database entries are not read or passed to the database until required by an OPEN SQL statement.
a) ABAP/4 command COMMIT WORK.
b) CALL SCREEN, CALL DIALOG.
c) A Remote Function Call
d) CALL TRANSACTION
Ans. a, b, c, d
Read lock (shared lock)
Protects read access to an object. The read lock allows other transactions read access but not write
access to the locked area of the table. Write lock (exclusive lock)
Protects write access to an object. The write lock allows other transactions neither read nor write access to the locked area of the table.
Enhanced write lock (exclusive lock without cumulation)
Works like a write lock except that the enhanced write lock also protects from further accesses from the same transaction.
a) If a control command is unknown or it contains syntax errors, the line containing it will be printed out as it is.
b) If a control command is unknown or it contains syntax errors, the line containing it will be treated as a comment line.
c) A maximum of one control command may appear in each line.
d) A maximum of six control commands may appear in each line.
Ans. b, c
Chain and end chain are used for multiple field validation in Module pool programming .It is written inside the screen flow logic.
SE38 –> Utilities –> Settings –> ABAP Editor –> Debugging
Activate the external debugging and choose the New Debugger option in ABAP debugger.
Go to the particular place in the code and put break point, pop will appear then choose the HTTP break point.
If you are triggering the RFC from SAP portal make sure that both the user ID should be same
If the users are different then provide the XI/Portal User ID in the users field.
a) You must always start the output with OPEN_FORM and end it with CLOSE_FORM.
b) Within one transaction, you can use only one OPEN_FORM and CLOSE_FORM to open and close a layout set.
c) WRITE_FORM should be used within an OPEN_FORM and CLOSE_FORM.
d) WRITE_FORM can be used without an OPEN_FORM and CLOSE_FORM.
Ans. a, c
Smartforms create its own function module so it doesn’t need to transport the request through SCC1.As all the Development Object are stored in client independent tables. Whereas Script doesn’t generate any function module while executing so we need to transport the request number through SCC1.Sap script is stroedin side the client depended table as a TEXT.so sapscripts are client dependent and smartforms are client independent.
a) Used to create enhancements to standard SAP programs.
b) Used to create enhancements to ABAP queries.
c) Used to create the user exits, menu exits and screen exits.
d) Used to modify the standard function groups.
Ans. a, c
User exit is for single implementation and it is procedural approach while BADIs are for multiple implementation and object oriented approach.
Multiple implementation means Reusability… because we use OOps Concepts for BADI.
1. AT-FIRST: This is used when we want to execute the statements before records are processed.
2. AT-LAST: This event is used when we want to execute the statements after all records are processed.
3. AT-NEW: This event is used when we want to execute the statement before group of records are processed.
4. AT-END: This event is used when we want to execute the statements after processing of group of records.
a) Enquire about a running-program status
b) Automatically generate code for reporting
c) Perform database operations for user-written programs
d) None of the above
TMG stands for Table Maintenance generator. It is a tool available in abap by which we can add or delete multiple records at a time and it is executed or triggered by the transaction code SM30.
a) Each user can be assigned to several user-groups
b) Each user can be assigned to several functional areas
c) Each functional area can be assigned to several user-groups
d) One user can be assigned only to one user-group.
Ans: a, b, c
The main difference between select option and ranges is that ranges implicitly or automatically creates internal table with fields like OPTION,LOW,HIGH,SIGN,etc . Where as in case of select option we have to explicitly create internal table.
When u declares a select options it will implicitly declare an internal table (ranges) for you. While using RANGES syntax u can declare internal table explicitly.
The only need of declaring ranges is when you r not taking input from the user but you want make limit based selection at that time it will be use full e.g. SELECT ** from ** where MATNR in val_range. here u can use select-option or ranges : val_range.
First create secondary indexes on required fields of a particular database table.
We can create one primary index and 15 secondary indexes.Once the respective secondary indexes are created write select queries and within select queries specify secondary indexes field name with where clause.
a) Rerun the program
b) Report the errored records
c) Generate a batch-input session with errored records
d) Create an output file, to be run again after corrections
Ans: b, c, d
We can handle table control using line index
Line index indicates which line of Table control is to be use for BDC transaction
performbdc_field using ‘RC29K-AUSKZ(01)’
Indicates 1st line of table control is going to be used for transaction which is Line index of Table
a) Documentation of executable programs
b) Documents used for data-transport between SAP and non-SAP s/w.
c) Documents used for data-transport between two different SAP systems
d) Documents used for one-time data-migration activities.
Ans: b, c
The sm37 transaction can be used for running a program in the background. Also in the session method while processing the session you can specify the processing type as background or foreground.
Ans: a, b
For up loading text file we use the pre-defined FM gui_upload. in that FM we have the parameter
has_field_seperator for that we assign the default delimiter ‘x’. HAS_FIELD_SEPERATOR ‘X’
‘X’ can provide the Whatever delimiter we used in flat file for separation.
c) Direct table update
Ans: a, b
In every organisation sap landscape involves three servers viz, Development server, Quality server and Production server. Whatever new development we do as per clients requirement is done in development server. Later to test the developed object we move it to quality server for testing and finally once everything goes clear then the object is moved to production server ,production server data is ready for final business use.
Workbench request are client independent.
(Common Man Workbench request holds the Program , FM etc…. How it can be Client Dependent!!!!)
a) Before the AT-SELECTION-SCREEN event
b) After the AT-SELECTION-SCREEN event
c) Could be either way
d) Cannot be predicted
Workbench (ABAP Dev) request is client independent when you import it into one system it reflact it in all client in same system, but customized request has to import in that client perticular client where it is created, actually it is client dependent.
Internal table is a temporary table stored in the RAM of the application server. It gets created during the program execution and gets deleted once the program ends.
Different types of internal table. Standard table
a) CLEAR itab.
b) REFRESH itab.
c) FREE itab.
d) DELETE itab.
Ans: b, c
APPEND statement adds a new record to the end of the internal table. COLLECT statement adds a new record to the end of the internal table if there is no record already exists in the internal table with the same key. If a record exits in the internal table with the same key then COLLECT adds the numeric values in the work area to the existing record.
a) ENTER key is hit on the selection-screen
b) F8 key is hit on the selection-screen
c) Any field on selection-screen is populated
d) F4 key is hit on the selection-screen
Ans: a, b
Use SORT and DELETE ADJACENT DUPLICATES statements to delete the duplicate records from internal table.
Use DESCRIBE TABLE statement.
REFRESH clears the contents of the internal table but the memory remains allocated. FREE clears the contents of the internal table and releases the memory space.
a) DELETE ITAB.
b) FREE ITAB.
c) REFRESH ITAB.
d) CLEAR ITAB.
AT FIRST / ENDAT AT LAST / ENDAT
AT NEW / ENDAT
AT END OF / ENDAT SUM
ON CHANGE OF / ENDON
AT FIRST is used to write headings and loop initialization process. AT LAST is used to write grand totals and loop termination processing.
SUM statement is used to calculate the totals for the rows of a control level.
a) All records are fetched
b) The last record is fetched
c) The first record is fetched
d) Compilation error
Yes. It can be used in any loop construct. It can be used within LOOP AT/ENDLOOP, SELECT/ENDSELECT, DO/ENDDO and WHILE/ENDWHILE.
78.If ITAB has 1000 entries, and DBTAB is a large table, which is better in terms of performance?
i) LOOP AT ITAB.
SELECT * INTO ITAB_2 FROM DBTAB WHERE KEY1 = ITAB-KEY1.
ii) LOOP AT ITAB.
SELECT * INTO TABLE ITAB_2 FROM DBTAB WHERE KEY1 = ITAB-KEY1.
iii) SELECT * INTO TABLE ITAB_2 FROM DBTAB FOR ALL ENTRIES IN ITAB WHERE
KEY1 = ITAB-KEY1.
a) (i) is better than (ii), and (ii) is better than (iii).
b) (ii) is better than (iii), and (iii) is better than (i).
c) (iii) is better than (i) and (i) is better than (ii).
d) (iii) is better than (ii) and (ii) is better than (i).
Fld1 (1), Fld2 (1), Fld3 (1),
END OF ITAB.
ITAB has 5 records – [ (1,1,1), (1,1,2), (1,2, 2), (2,2,2), (2,2,3) ].
The code segment: LOOP AT ITAB.
AT NEW fld3. WRITE fld3. ENDAT. ENDLOOP.
Produces the output:
a) 1 2 2 2 3
b) 1 2 3
c) 1 1 2 2 2
d) 1 1 1 2 2
a) Triggered by a New-page statement
b) When the First Write Statement of the program is encountered.
c) Before outputting the first line on a new page.
Ans: b, c
For regular Updates on SAP ABAP please like our Facebook page:- Facebook:- https://www.facebook.com/bigclasses/Twitter:- https://twitter.com/bigclassesLinkedIn:-https://www.linkedin.com/company/bigclasses/Google+:https://plus.google.com/+BigclassesonlinetrainingSAP ABAP Course Page:-https://bigclasses.com/sap-abap-online-training.htmlContact us: - India +91 800 811 4040 USA +1 732 325 1626Email us at: - email@example.com