SAP ABAP interview questions Prt 2
How we format the data beofore before write statment in report ?
We can format the reports output by using the loop events like:
1.at first
2.at new
3.at last
etc check docu
What is the difference between Table and Template?
table is a dynamic and template is a static
When do we use End-of-selection?
End-of-selection event are mostly used when we are writing HR-ABAP code. In the HR-ABAP code, data is retrived in the Start-of-selection event and Printing on the list and all will be done in End-of-selection event.
In evevts start-of-selection is default event. When we have to use this event explicitly? Why?
The default event in the ABAP is Start-of-selection.We have to call explicitely this event when you are writing other than ths event , that is when you write AT SELECTION-SCREEN EVENTS OR INITIALIZATION EVENT etc,you have to explicitely mention the Start-of-selection event while you are writing the logic.
Before these events called ,all the code you have written come into this default Start-of-selection screen event.
What is the differences between ABAP and OOABAP.
In which situation we use OOABAP?
OOABAP is used to develop BSP/PCUI applications and also anthing involved object oriented like BADIs, SmartForms..etc.where as ABAP is used to develop traditional programs in R/3.
What is table buffer? Which type of tables used this buffer?
buffer is nothing but a memory area. table is buffered means that table information is available on application server. when you call data from database table it will come from application server.transperent and pooled tables are buffered. cluster tables can not buffered.
What is the use of pretty printer ?
Exactly where can we link the functional module to abap coding.
Pretty Printer is used to format the ABAP Code we write in ABAP Editor ,like KEY WORDS in Capitals and remaining are in small letters which is also depend on system settings.
We can call the function module in the ABAP Code .Press the Pattern button on Appl. tool bar then u will get box where u write the function module NAME which u want to call in the code by selecting the radio button CALL FUNCTION. In this way we link function module to ABAP Code.
What is the difference between SAP memory and ABAP memory?
Answer1:
data sending between main sessions using get parameter and set parameter is sap memory
data sending between internal sessions using import or export parameters is abap memory
Answer2:
sap memory is a global memory whereas abap memory is local memory.
For example, we have four programs in abap memory and assigned some varibles to a particular program in abap memory then those varibles can't be used by anyother program in abap memory i.e., the variables are only for that program and also local to that memory,whereas sap memory can access all the abap memory or else it can perform any kind of modifications.
Answer3:
SAP memory is available to the user during the entire terminal session.
ABAP memory is available to the user during life time of external session.
What is the difference between Type and Like?
Answer1:
TYPE, you assign datatype directly to the data object while declaring.
LIKE,you assign the datatype of another object to the declaring data object. The datatype is referenced indirectly.
Answer2:
Type is a keyword used to refer to a data type whereas Like is a keyword used to copy the existing properties of already existing data object.
Answer3:
type refers the existing data type
like refers the existing data object
What is Tcode SE16. For what is it used. Explain briefly?
Answer1:
SE16 is a T-code for object browser.
Generally used to search the fields of SAP Tables . and respective data.
Answer2:
se16 is a data browse and it is used to view the contents of the table and we cannot change or append new fields to the existing structure of the table as we cannot view the structure level display using the se16
What are different ABAP/4 editors? What are the differences?
The 2 editors are se38 and se80 both have the abap editor in place. In se38 you can go create programs and view online reports and basically do all thedevelopmet of objects in this editor. In se80 ( object navigator) there are additional features such as creating packages,module pool , function group ,classes, programs ( where you can create ur programs) and BSP applications .
What is difference between dialog program and a report?
Report is a excecutable program
Dialog is a module pool program.It has to be executed via a transaction only.
Dialog programming is used for customization ofscreens
How do you connect to the remote server if you are working from the office for the client in remote place.
WAS web application server or ITS are generally used for this purpose. If you are sitting at your office with a server which is in the system and the other server is at the clients place you can generate IDOC, intermidiate documents which carry the data you want to transfer or the documents you want to transfer, these IDOC are interpretted by the system at the recieving end with the message class with which it is bound with. If you want to logon a system which is very distant..then remote login can be used this depends on the internet speed.
Explain about roll area , Dispatcher, ABAP-Processor.
Answer1:
Roll area is nothing but memory allocated by work process. It holds the information needed by R/3 about programs execution such as value of the variables.
Dispatcher :All the requests that come from presentation server will be directed first to dispatcher. Further dispatcher sends this requests to work process on FIFO(First In and First Out) basis.
Answer2:
Dispatcher recieves the request from client and assigns the request to one of the work process.
Roll area: Each workprocess works in a particular memory that memory is known as Role Area, which consists of User context and session data.
ABAP- Processor :is an interpretor which can execute logic
Which one is not an exit comand ? (Exit, cencle, stop, back)
STOP.
Effect :The statement STOP is only to be used in executable programs
EXIT.
Effect :If the EXIT statement is executed outside of a loop, it will immediately terminate the current processing block.
BACK.
Effect : This statement positions the list cursor on the first position of the first line in a logical unit.
So "Cancle" is not an exit command
What is Field sysmbol ?
Answer1:
You can use field symbols to make the program more dynamic. In this exanmple the name of a table control is substituted by a field symbol. Thus you cal call the form with any internal table, using the name of the tablæe control as a parameter.
Example
form insert_row
using p_tc_name.
field-symbols
assign (p_tc_name) to
* insert 100 lines in table control
Answer2:
fieldsymbol has the same concept as pointer in c,
fieldsymbol don't point to a data type like char, num instead of that it points to the memory block. the syntax for fieldsymbol is
FIELD-SYMBOL
EG. FOR FIELD SYMBOL.
DATA: DAT LIKE SY-DATUM,
TIM LIKE SY-UZEIT,
CHAR(3) TYPE C VALUE 'ADF'.
FIELD-SYMBOL :
MOVE DAT TO
WRITE:/
MOVE TIM TO
WRITE:/
MOVE CHAR TO
WRITE:/
The output will be
Today's date
current time
What is lock object ?
LockObjects used to synchornize access of several users using same data.
Why BAPI need then BDC ?
BAPI"S provide the standard interface to other applications apart from SAP and within differnt vesions of SAP too. Also it is OOD bases so dosen"t depends on screen flow. BDC gets failed if we make changes for screen changes through IMG customization
What are the advantages and disadvantages of using views in ABAP porgramming ?
advantages:
view is used to retrieve the data very fastly from the database tables
*memory wastage is reduced
*faster than joins to retrieve the data from database tables
disadvantages:
view is not a container,it will not hold the data
*view memory is not permanent memory
How data is stored in cluster table?
A cluster table conatins data from mulitple DDIC tables.
It stores data as a name value pair ( varkey, vardata)
Have you used performance tuning? What major steps will you use for these?
First of all tunning can be done
In three ways: disk i/o ,sql tunning , memory tunning,
Before tunning u have to get the status of your database using
Oracle utility called statpack , tkprof, then you should go for tunning
How to create client independent tables?
client independent tables:
the table in which the first field is not mandt is the client independent tables
*mandt is the field with mandt as the data element
*automatically client which we login is populated to mandt
What type of user exits have you written?
there are four types
1.function exit
2.menu ixit
3.screen exit.
4.field exit.
these are the user exits
How can you debugg a script form?
SE71 -> give the form name -> utilities -> activate debugger
How do we debug sapscript?
First we need to put Break point in Print program where ever you want to stop the execution.
After in SE71 give your form name and go to Utilities-->Active De-bugger.
Then go to your transcation like VF03(for Invoice or Credit memo) etc to see the print preview or print the form execute it.
When you execute it the the form Debugging will get activated and you can see your Form execution step by step.
What are the different types of data dictionary objects?
Answer1
Data Dictionary Objects
* Tables
* Views
* Domain
* Data Element
* Type Groups
* Search Helps/Matchcode Objects
* Lock objects
* Structures
* Table Types
Answer2
the dictionary objects are:
domain
dataelements
tables
views
structures
typegroups
search helps
lock objects etc which are data base related objects in sap
What is the step by step process to create a table in data dictionary?
Answer1
steps to create database tables
1.go to se11
2.give name the database table
3.give short description for the table
4.Give delivery class name as A and data browser / table view maint as Display/maintenence allowed
5.select fields tab
6.give field name data type(user defined element type/built-in-type),short text
7.select technical settings tab ,give data class as appl0 and size category as 0
8.save it
9.go utillities menu click table contents select create and enter the field values then select display in table contents and u can view the table values with field lables
Answer2
bottom to top approach:
_________________________
step 1:
creating a domain:
*se11,select the object type as domain ,name it ,create,description,enter the datatype and length(size),save ,activate
step2:
creating a dataelement;
se11,select the object type as :date element,name it ,create,desc,assign it with a domain what we created now,save,activate it.
step3:
creating a table;
se11,select the object type as table,name it, create,
enter the field name and assign it with the data element instead of assigning a datatype to it,
like this create req fields:
on behalf of this:
table maintainence:
assign the type of the table ie.,A C G L S
NEXT
maintaince:
allowed,not allowed ,allowed with restricions
______________________________________________
fields of a table:(as descripted above)
___________________________________________
techical settings:
A0
OR
A1
AND
BUFFERED OR NON-BUFFERED
Can a transparent table exist in data dictionary but not in the data base physically?
Answer1
NO. TRANSPARENT TABLE DO EXIST WITH THE SAME STRUCTURE BOTH IN THE DICTIONARY AS WELL AS IN THE DATABASE,EXACTLY WITH THE SAME DATA AND FIELDS.
No,
at the point you will activate your table a same transparent table is going to be create in database
Answer2
Yes, a transparent table(definition) can exist in the data dictionary and not in the database. In this case, it is not activated
What are the domains and data elements?
domains:
___________
domains are the dictionary objects that are assigned with constants and data types
data elements:
______________
data elements are dictionary objects that are assigned with the domains.
uses:'
* data elements are used to create relation between tables.
* data elements are used to transfer the data from one R/3 to another R/3.
* to create search helps.
What is a collect statement? How is it different from append?
APPEND :
IT IS USED TO GET THE RECORD FROM THE INTERNAL TABLE HEADER TO THE BODY AREA
IT ALLOWS DUPLICATION
COLLECT:
IT IS USED TO A GET A RECORD FROM HEADER TO THE BODY AREA BUT IT WILL NOT ALLOW ANY DUPLICATION EXCEPT IF THERE IS ANY NUMERIC FIELS IT ADDS THAT FIELDS DATA BUT NOT AS A NEW RECORD
On ABAP: Did you set up a workflow? Are you familiar with all steps for setting up a workflow?
Yes.
Execute the Txn SWDD(Creating a new Workflow).
In the header of the Workflow, define the Business Object and Event you refer to for triggering the Wf.
Create the Steps required for your workflow(Activity).
Inside the Activity, Create the task and assign the Business Object and the related method for that business object.
Activate the Workflow.
In the ‘select’ statement what is “group by”?
Group by clause is used to fetch the data from the table by the specified field
ex.select count (*) from emptable group by deptno where deptno = 1.
It is used to find the number of employees present in the specified department no.
How can I copy a standard table to make my own z_table?
WE CAN CREATE A STRUCTURE LIKE THE SAME STRUCTURE AS DATABASE TABLE AND WE CAN USE
SELECT* FROM DATABASE TABLE INTO TABLE ITAB
OR
INSERT INTO ITAB VALUES DATABASE TABLE
From Excel to ABAP - Is batch mode possible ?
DATA w_file TYPE string.
* Convert the file path into string
w_file = p_input.
* Internal Table should have same field sequence as EXL File.
CLEAR t_upload.
REFRESH t_upload.
* Call function to upload the data into internal table
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = w_file
filetype = 'ASC'
has_field_separator = 'X'
TABLES
data_tab = t_upload
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17.
IF sy-subrc NE 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ELSE.
* Delete the first row of heading from the uploaded table
DELETE t_upload INDEX 1.
ENDIF. " IF sy-subrc EQ 0.