Posted Under SAP-ABAP-Interview Questions
If buffering is allowed for a table in the ABAP Dictionary, the SELECT statement always reads the data from the buffer in the database interface of the current application server. To read data directly from the database table instead of from the buffer, use the following:
SELECT... FROM *lt; tables> BYPASSING BUFFER. ..
This addition guarantees that the data you read is the most up to date. However, as a rule, only data that does not change frequently should be buffered, and using the buffer where appropriate improves performance. You should therefore only use this option where really necessary.
2. What are user exits? What are customer exits?
User exits and customer exits are the same thing. Both are used to give the customer the chance to influence the outcome of a process(-step) in some way, without having to change the standard SAP software. For example: if an order is entered in the system, availability checks, credit checks etc. could be performed by the system but just before writing the order to the database, the program runs a user exit. In this user exit, your code could change some fields in the order or write an entry in a table that you created for some reason.
3. What is the difference between start_form and open_form in scripts? Why is it necessary to close a form always once it is opened?
strat_form using this we can open many layout set
open_form using this we can open the layout
performance will be high
Open_form -- is used to initialize the spool request.
Start_form-- is used to initialize the layout.
4. What is difference between ON Change of and At New Field?
Select Single * from and select Upto 1 rows
At new - on change of difference: In case if you want calculate sub totals for same values in a field you can use the atnew statement. ie: For example in a table sflight, there are 2 fields carrid ( airline id) and seatsmax( seat available). In case if you want calculate the total number of seats available for each carrrid you can sort the table first and using the atnew and sum you can calculate the total seats for each carrid. Atnew will be triggered whenever there is a change in the carrid and the total seats will be returned for each carrid.
In the same scenario if you use onchange of it will not return the total seats for each carrid, instead it will return the total seat count for the entire table( ie: for all the carrids in the table. Another difference is atnew can be used only between loop and end loop whereas on change of can also be used in select- endselect , do -enddo. Another difference is while using atnew in case if you code any write statements between atnew and end at the value for the numeric fields will be returned as 0 and that of no numeric fields will be returned as *(asteriks). But in on change of the original values will be returned. Select single * and select upto 1 row difference.
The select single * from stmt selects only one row form the database table and puts it in to the work area(internal table). The select upto n(where n stands for a integer number) rows stmt selects all the rows from the database table but writes only the specified number of rows specified by the n into the internal table. If its given as upto 1 rows only 1 row is written in to the internal table.
5. When you create sales report, What you can see in that report ? What are those field names or data element names?
vbak-auart, "ORDER TYPE
vbak-audat, "DOCUMENT DATE
vbak-submi, "collective no
vbrp-matnr, "MATERIAL NUMBER
vbrp-fkimg, "ORDER QTY
vbrp-aubel, "SALES DOCUMENT
kna1-name1, "PAYER NAME
vbrk-fkart, "billing type
konv-kbetr, "CST PER
konv-kbetr, "LST PER
konv-kbetr, "ED PER
konv-kbetr, "Ecs PER
likp-bolnr, "Bill Of Lading
likp-traty, "Means of Transport Type
likp-traid, "Means of Transport ID
vbpa-kunnr, "Bill To Party
kna1-name1, "Bill To Party Name
vbrk-netwr, "Net Amount Basic Amount - Discount
6. How to assign multiple transaction codes in a session method to BDC_Insert function module?
Call function ' BDC_Insert'
tr. code = ' enter tr.code1 here'
table = 'give an internal table related totr.code1 here'
call function 'BDC_INSERT'
tr.code = ' enter 2nd tr code'
tables = ' 2nd internal table'
7. “Check” and “Continue”. What is the difference?
Check statement, checks the condition with in a loop and if it satisfies the condition, the control moves to next statement in the loop. Otherwise, it terminates the loop.
Continue statement, acts like goto statement. If the condition is true, it processes the remaining statements and if the condition is false, then the control moves to the top of loop.
At-Line selection, At user-command etc..,
In at line-selection system defined fcode will be generated In at user-command we need to define the fcode and fkey manually then only it will triggers.
8. “Exit” and “Stop”. What is the difference?
exit statements is exit the current loop. and moving to next loop but stop statement move to end of selection. it's not check all other loops.
9. What is the reserve command?
Reverse Command :Reverse N Lines : if there is not enough space left on the current page for at least n lines it starts a new page
If insufficient space is there for listing output reserve statement encounters NEW-PAGE.But before going to new page it processes END-OF-PAGE.
10. What are event keywords in reports?
Events keywords in Reports are
For Classical Reports,
2. At line-selection
5. At user-command
8. At Pfn
For Interactive Reports,
9. At line-selection 10. Top-of-page during line selection
For LDB (Logical DataBase) Reports,
10. get 11.put 12. get table
2. At line-selection
5. Top-of -page during at line-selection
6. At PF
7. At user-command
11. How can validate input values in selection screen and which event was fired?
We can Validate Selection Screen with the Help of the Following Events, the Event Follows the Same hierarchy.
AT SELECTION-SCREEN ON
AT SELECTION-SCREEN ON BLOCK
AT SELECTION-SCREEN OUTPUT
At selection-screen on
select stmt ------------------ where = .
if sy-subrc = 0.
Validation success for Low value in selection screen
At selection-screen on
select stmt-------------------- where =
if sy-subrc <> 0.
validation failure on high value in the selection field.
12. BDC Transaction code?
Transaction code for bdc: SHDB
13. How to navigate basic list to secondary list?
We can Navigate from basic list to secondary list with the help the event called AT LINE-SELECTION. for every Secondary List the System Field SY-LSIND increases by 1. So there will be Totally 21 list possible in SAP.
One Basic List 20 Secondary List.
14. Which is the First character of creating LockObject?
LockObjects always starts with character 'E'.
15. What is the Difference between Data Element and Domain?
Domain: Defines the attributes such as length, type and possible value range.
Data element; An intermediate object between domain and table type
Domain : technical attributes of dataelement is called domain.
Dataelement : Symantic attributes are called dataelement.
16. How many types of standard SAP Internal Tables?
1) Standard table
2) Index table
3) Hashed table
4) Sorted table
17. What is the Difference between Table controls and Step Loops?
Table controls have both horizontal and vertical scrollers and cursor control logic is designed implicitly.
Step loops have only horizontal scrollers and cursor control logic is to be designed by the user explicitly.
18. What are the Events in Dialog Programs?
Events in Dialog Programming are:
PBO-Process Before Output
PAI-Process After Input
POH-Process on Help Request
POV-Process on Value Request
19. How many ways you can create Table?
User can create a Database table in two ways.
1. Top-to-bottom approach:
In this approach, first fields are defined and later domain and data element are defined.
2. Bottom-to-top approach:
In this approach, first domain and data element are defined and later fields are defined.
20. What are the Cluster Tables?
Cluster tables contain continuous text, for example, documentation. Several cluster tables can be combined to form a table cluster. Several logical lines of different tables are combined to form a physical record in this table type. This permits object-by-object storage or object-by-object access. In order to combine tables in clusters, at least parts of the keys must agree. Several cluster tables are stored in one corresponding table on the database.
21. What are function modules in LDB?
Function modules in LDB's are
22. What are Difference Between Classical Batch Input and Call Transaction?
In Batch input many transactions can be executed, where as in Call transaction only one transaction can be executed.
BI is a background process, Ct can be either background or foreground.
BI is Synchronous process, Ct is both Asynchronous & Synchronous.
BI Sessions cannot be runed parallel.
Log file is generated automatically in BI, errors can be found through BDCMSGCOLL.
1. batch input works for multiple applications where as call transactions doesn’t work
2. batch input has an implicit log file with it. Where as call transaction doesn't have
3. batch input has sy-subrc check with the database where as call transaction doesn't have so call transaction is fast.
23. How can you call the Sessions?
Using transaction code SM35
24. Can you call Report in SAP Script?
Yes, we can.
Just write in Line editor:
THIS PERFORM WOULD BE DECLARED IN THE PRINT PROGRAMME IN WHICH YOU CAN ALWAYS WRITE STATEMENT
25. How to Upload Logo to Layout Set and what is Program Name?
You can also upload a Logo in BMP format - it has to be saved as "%^ Colours if it is a colour Bitmap.
If you don't save a colour Bitmap as 256 Colours then it will be uploaded in Black. This can be done in Smart Forms, SAPScript or Transaction SE78
Check all articles under SAP-ABAP-Interview Questions