You are on page 1of 9

What is a 'Z' report?

Y or Z report refer to customized abap programs written for modules such as mm, sd, pp or fi/co
etc.
Can we create an ABAP program without using Y or Z?
No, this is because all non Yor Z programs are standard SAP programs.
1. How data is stored in cluster table?
Each field of cluster table behaves as tables which contains the no. of entries.
2. What are client dependant objects in abap/sap?
SAP Script layout, text element, and some DDIC objects.
3. On which even we can validate the input fields in module progams?
In PAI (Write field statement on field you want to validate, if you want to validate group of fields
put in chain and End chain statement.)
4. In selection screen I have three fields, plant mat no and material group. If I input plant
how do I get the mat no and material group based on plant dynamically?
AT SELECTION-SCREEN ON VALUE-REQUEST FOR MATERIAL.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' to get material and material group
for the plant.
5. How do you get output from IDOC?
Data in IDOc is stored in segments, the output from Idoc is obtained by reading the data stored in
its respective segments.
6. When top of the page event is triggered?
After excuteing first write statement in start-of-selection event.
7. Can we create field without data element and how?
In SE11 one option is available above the fields strip. Data element/ direct type.
8. How do we debug sapscript?
Go to SE71 give lay set name , go to utilities select debugger mode on.
9. Which transaction code can I used to analyze the performance of ABAP program.
TCode AL21.
10. How can I copy a standard table to make my own z_table.
Go to transaction SE11. Then there is one option to copy table. Press that button. Enter the name
of the standard table and in the Target table enter Z table name and press enter.
Following are some of the answers which I gave upto my knowledge.

1. What is the use of 'outerjoin'


Ans. With the use of outer join you can join the tables even there is no entry in all the tables used
in the view.
In case of inner join there should be an entry in al the tables use in the view.
2. When to use logical database?
Ans. Advantage of Logical databases:
less coding s required to retrieve data compared to normal internel tables.
Tables used LDB are in hierarchial structure.
3. What is the use of 'table index'?
Ans .Index is used for faster access of data base tables.
4. What is the use of 'FOR ALL ENTRIES'?
Ans. To avoid nested select statements we use SELECT FOR ALL ENTRIES statement.
If there r more than 10000 records SELECT FOR ALL ENTRIES is used.
Performance wise SELECT FOR ALL ENTRIES is better to use.
5. Can you set up background processing using CALL TRANSACTION?
Yes,Using No Screen Mode.
6. What are table buffers?
Table buffers reside locally on each application server in the system. The data of buffered
tables can thus be accessed
directly from the buffer of the application server. This avoids the time-consuming process of
accessing the database.
Buffering is useful if table needs to be accessed more no. of times in a program.
With Compliments from: Pavan
1. How do I set a flag for a field in any table?
Create a char field of length 1. for example field STAS-LKENZ is Deletion Indicator. It means
that if the value in the field is 'X' then that record has been deleted.
2. Can I execute user exits? If yes, how?
Yes you can. after finding the user exit, you need to use, goto CMOD add ur user-exit to your
project. Then activate the FM which you require. Now go into that function module there will be
a Include program wit name ZX* . Double click on it, it will ask to create an object, answer it
Yes and then write your code in it.
3. How do I find the output type of a table or a program?
Table TNAPR / NAST
*-- Raj
Go thru these answers:

1) What is runtime analysis? Have you used this?


It's checks program execution time in microseconds. When you go to SE30. If you give desired
program name in performance file. It will take you to below screen. You can get how much past
is your program.
2) What is meant by performance analysis? Have done
3) How to transfer the objects? Have you transferred any objects?
4) How did you test the developed objects?
I was testing a developed object. There are two types of testing
- Negative testing
- Positive testing
In negative testing we will give negative data in input and we check any errors occurs.
In positive testing we will give positive data in input for checking errors.
Read also; Role of SAP Consultant In Testing
8) How did you handle errors in Call Transaction?
We can create a internal table like 'bsgmcgcoll'. All the messages will go to internal table. We can
get errors in this internal table.
Below messages are go to internal table. when you run the call transaction.
- Message type
- Message id
- Message Number
- Variable1
- Variable2
- Variable3
See also; Retreive Error Message from BDC
9) Among the Call Transaction and Session Method, which is faster?
Call transaction is faster then session method. But usually we use session method in real
time...because we can transfer large amount of data from internal table to database and if any
errors in a session. Process will not complete until session get correct.

10) What are the difference between Interactive and


Drill Down Reports?
ABAP/4 provides some interactive events on lists such as AT LINE-SELECTION (double click)
or AT USER-COMMAND (pressing a button). You can use these events to move through layers
of information about individual items in a list.
Drill down report is nothing but interactive report...drilldown means above paragraph only.
11) How to pass the variables to forms?
12) What is the table, which contain the details of all the name of the programs and forms?
Table contains vertical and horizontal lines. We can store the data in table as blocks. We can
scroll depends upon your wish. And these all are stored in database (data dictionary).
Which contain the details of all the name of the programs and forms? (I don't know).
13) How did you test the form you developed? How did you taken print?
14) What are Standard Texts?
16) What is the difference between Clustered Tables and Pooled Tables?
A pooled table is used to combine several logical tables in the ABAP/4 dictionary. Pooled tables
are logical tables that must be assigned to a table pool when they are defined.
Cluster table are logical tables that must be assigned to a table cluster when they are defined.
Cluster table can be used to store control data they can also used to store temporary data or text
such as documentation.
17) What is pf-status?
Pf status is used in interactive report for enhancing the functionality. If we go to se41, we can get
menus, items and different function keys, which we are using for secondary list in interactive
report.
18) Among "Move" and "Move Corresponding", which is efficient one?

I guess, 'move corresponding' is very efficient then 'move' statement. Because usually we use this
stamtent for internal table fields only...so if we give move corresponding. Those fields only
moving to other place (what ever you want).
19) What are the output type and Tcodes?
20) Where we use Chain and End chain?
21) Do you use select statement in loop end loop, how will be the performance? To improve the
performance?
22) In select-options, how to get the default values as current month first date and last date by
default?
Eg: 1/12/2004 and 31/12/2004
Prem Kumar
Q: How to compare the 2 tables between the 2 systems?
Ans: Which is using the transaction code is 'oy19'.
Q. What is the use of pick statement do?
Ans: The pick statement is used to it will capture the user action.
ex: if sy-ucomm = 'x'.
This statement is used to capture the user action.
1) What is the difference between RFC and BAPI ?
What are subclasses and super classes in BAPI and also what are the methods in BAPI ?
2) Is it possible to connect SAP to Non-SAP systems to retrieve data using RFC alone with
out using BAPI ?
3) What is the difference between Function module and BAPI ?
4) What are the types of tables?
5) What are pooled table ?
6) What are Hashed Tables ?
7) What are advantages of using ABAP objects?
8) What is the advantage of using ABAP objects in Reports ?
1) BAPI are RFC enabled function modules. the difference between RFc and BAPI are business
objects. You create business objects and those are then registered in your BOR (Business Object
Repository) which can be accessed outside the SAP system by using some other applications
(Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method
from external system in BAPI there is no direct system call. while RFC are direct system call
Some BAPIs provide basic functions and can be used for most SAP business object types. These
BAPIs should be implemented the same for all business object types. Standardized BAPIs are

easier to use and prevent users having to deal with a number of different BAPIs. Whenever
possible, a standardized BAPI must be used in preference to an individual BAPI.
The following standardized BAPIs are provided:
Reading instances of SAP business objects
GetList ( ) With the BAPI GetList you can select a range of object key values, for example,
company codes and material numbers.
The BAPI GetList() is a class method.
GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are
retrieved and returned to the calling program. The instance is identified via its key. The BAPI
GetDetail() is an instance method. BAPIs that can create, change or delete instances of a
business object type
The following BAPIs of the same object type have to be programmed so that they can be called
several times within one transaction. For example, if, after sales order 1 has been created, a
second sales order 2 is created in the same transaction, the second BAPI call must not affect the
consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both
the orders are saved consistently in the database.
Create( ) and CreateFromData! ( )
The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for
example, a purchase order. These BAPIs are class methods.
Change( )
The BAPI Change() changes an existing instance of an SAP business object type, for example, a
purchase order. The BAPI Change () is an instance method.
Delete( ) and Undelete( ) The BAPI Delete() deletes an instance of an SAP business object type
from the database or sets a deletion flag.
The BAPI Undelete() removes a deletion flag. These BAPIs are instance methods.
Cancel ( ) Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object
type. The instance to be cancelled remains in the database and an additional instance is created
and this is the one that is actually canceled. The Cancel() BAPI is an instance method.
Add<subobject> ( ) and Remove<subobject> ( ) The BAPI Add<subobject> adds a subobject to
an existing object inst! ance and the BAPI and Remove<subobject> removes a subobject from an
object instance. These BAPIs are instance methods.
2) No it is not possible to connect SAP to Non-SAP systems to retrieve data using RFC alone.
RFC can acces the SAP from outside only through BAPI and same is for vice versa access.

3) Each Bapi Object has Interface, Key Fields, Attributes,Methods and Events.
Bapi Function Modules can be attached to these Bapi objects .Function module has a single
bound functionality while a BAPI object can contain many functionalities
4) Transparent table, Pool table and cluster table are data dictionary table objects sorted table,
indexed table and hash table are internal tables.
5)Table pools (pools) and table clusters (clusters) are special table types in the ABAP Dictionary.
The data from several different tables can be stored together in a table pool or table cluster.
Tables assigned to a table pool or table cluster are referred to as pooled tables or cluster tables.
A table in the database in which all records from the pooled tables assigned to the table pool are
stored corresponds to a table pool.
The definition of a pool consists essentially of two key fields (Tabname and Varkey) and a long
argument field (Vardata).
Table Clusters Several logical data records from different cluster tables can be stored together in
one physical
record in a table cluster.
A cluster key consists of a series of freely definable key fields and a field (Pageno) for
distinguishing continuation records. A cluster also contains a long field (Vardata) that contains
the contents of the data fields of the cluster tables for this key. If the data does not fit into the
long field, continuation records are created. Control information on the structure of the data
string is still written at the beginning of the Vardata field.
6) Hashed tables
This is the most appropriate type for any table where the main operation is key access. You
cannot access a hashed table using its index. The response time for key access remains constant,
regardless of the number of table entries. Like database tables, hashed tables always have a
unique key. Hashed tables are useful if you want to construct and use an internal table which
resembles a database table or for processing large amounts of data.
Sample Prog: This does nothing.
REPORT Z_1 .
tables: mara.
data: i type hashed table of mara with unique key matnr
7) and 8) ABAP objects are root for your program and reports.
RFC Vs BAPI
BAPI are RFC enabled function modules. the difference between RFc and BAPI are business
objects. You create business objects and those are then registered in your BOR (Business Object
Repository) which can be accessed outside the SAP system by using some other applications
(Non-SAP) such as VB or JAVA.

In this case you only specify the business object and its method from external system in BAPI
there is no direct system call. while RFC are direct system call Some BAPIs provide basic
functions and can be used for most SAP business object types. These BAPIs should be
implemented the same for all business object types. Standardized BAPIs are easier to use and
prevent users having to deal with a number of different BAPIs. Whenever possible, a
standardized BAPI must be used in preference to an individual BAPI. It is not possible to
connect SAP to Non-SAP systems to retrieve data using RFC alone. RFC can acces the SAP
from outside only through BAPI and same is for vice versa access.
RFC is the protocol used by SAP for remote communication, that is, for communications
between remote (independent) systems. RFC is used for communications between two
independent SAP systems, or for communications between an SAP system and a non-SAP
system, such as an external application. It can also be used for communications between modules
on the same system. Using the RFC interfaces you can extend the functionality of R/3
applications from an external program.
What is the different btween clear and refresh?
There are 2 types of clear statements we can use:
Clear ITAB : This Statement will clear the Internal Table Header content.
To clear the Intertal Table Hearder as well Body we can use Clear ITAB [ ] statement.
Refresh will deletes the Internal Table content but still memory is not freed.
What is the pick statment do?
Pick Statemnt will captures the UserAction.
Eg: if SY-UCOMM = 'X'.
This type of user actions can be captured thru PICK Statement only.
What is the different between sesstion method and call transaction method and suppose I
used one method to transform the data next time suppose I want transform the data which
method I can use.
There are many difference between Session method and Call Transaction.
Which method we have to use will be found based on Volume Of data and Accuracy of data
given. Mainly Call Transaction used for small sets of data because in Call Transaction we have
to Handle the Processing errors explicitly. We can do this by BDCMSGCOLL structure.
In Session method seperate session will crate for errors. Calll Transaction will update the
Database fastly compare with Session Method.
What is single and upto one row different?
The Major difference between Select Single and Select UPTO 1 rows is The Usage Of Buffer for
each.
Select Single will search for all the satisfied data and bring all that data into Buffer and later it

will give to that data to the program.


Select UPTO 1 Rows will end the search after getting the 1st satisfied record and gives that
record to the program.
Thus Select Single will take much processing time when compare with Select UPTO 1 rows.
What is the differences between selection screen and selection screen out?
The difference between Selection Screen and Selection Screen Output is we use the Selection
Screen Output Event before the Selection Screen will displayed. Eg: Suppose if we want to
disable some fields and enable some fields in the Selection Screen then we can code that in
Section-Screen Output event.
Selection-Screen Event will trigger after section-screen is displayed and user action takes place
on that.

You might also like