Professional Documents
Culture Documents
RICEFW Interview Questions
RICEFW Interview Questions
1. What are the different ways in which you can make changes to SAP standard
software ?
Customizing
Enhancements to the SAP Standard
Customer Development
2. What is customizing?
Customizing is the setting of system parameters via SAP's own interface.
The standard applications do not offer some of the functionality you need. The R/3
enhancement concept allows you
Customers' potential requirements which are not included in the standard software
are incorporated in the standard
as empty modification 'shells'. Customers can then fill these with their own coding.
Enhancements can relate to
programs, menus and screens. Upward compatibility is assured. In other words, SAP
guarantees that the jump from the
standard software to the exit and the interface which call the exit will remain valid
in future releases.
words and documentation for data elements) and field exits (creation of additional
coding for data elements).
6. What is SSCR?
SSCR (SAP Software Change Registration) is a procedure, for registering all manual
changes to SAP source coding and
Customer exits are not available for all programs and screens within the R/3
standard applications. You can only
use exits if they already exist within the SAP R/3 System. Otherwise you have to opt
for modifications.
Menu exits
Screen exits
Keyword exits
Adding fields to the screens within R/3 applications. SAP creates screen exits by
placing special sub screen areas
within a standard R/3 screen and calling a customer sub screen from within the
standard dynpro's flow logic.
Q7: What is the meaning of USER EXITS, how are they written and which measures
do we have to take for prevention?
A7: In the default standards of SAP we can find the user defined functionalities, we
can find a Sap program in which a customer personal program may be invoked.
Unlike customer exits. user exits can permit the developers to enter and change the
parts of the program and also the objects. When upgrade is made , every user exit
has to be verified for conformation to the standard system. The user exits can use
INCLUDES, case in which Customizing makes the management. We have to search
for those customer enhancements from a specific development class.
A18: How can we classify the methods in which we generate modifications in the
standard software of SAP?
A18: We can make: enhancements to the standard of SAP, modifications to the
standard of SAP, customizing and customer development.
BAPI BDC
BAPI is faster than BDC. BDC is relatively slower than BAPI.
BAPI directly updates database. BDC goes through all the screens as
a normal user would do and hence it
is slower.
No such processing options are Background and Foreground
available in BAPI. processing options are available for
BDC.
BAPI would generally used for small BDCs would be preferred for large
data uploads. volumes of data upload since
background processing option is
available.
For processing errors, the Return Errors can be processed in SM35 for
Parameters for BAPI should be session method and in the batch
used.This parameter returns input program for Call Transaction
exception messages or success method.
messages to the calling program.
Macro Subroutine
Macro can be called only in the Subroutine can be called from other
program it is defined. programs also.
Macro can have maximum 9 Can have any number of parameters.
parameters.
Macro can be called only after its This is not true for Subroutine.
definition.
A macro is defined inside: Subroutine is defined inside:
DEFINE … FORM …..
…. …..
END-OF-DEFINITION. ENDFORM.
Macro is used when same thing is to Subroutine is used for
be done in a program a number of modularization.
times.
Important
Question 8: What is the difference between AT SELECTION-SCREEN
and AT SELECTION-SCREEN OUTPUT?
AT SELECTION-SCREEN is the PAI of the selection screen whereas
AT SELECTION-SCREEN OUTPUT is the PBO of the selection screen.
When we PASS lv_var by VALUE , the actual value of lv_var is copied into VAR.
When we PASS lv_var by REFERENCE , the reference or the memory address
of lv_var is passed to the Function module. So VAR and lv_var will refer to the
same memory address and have the same value.
Question 13: What is the difference between Master data and Transaction data?
Master data is data that doesn’t change often and is always needed in the same way by business.
Ex: One time activities like creating Company Codes, Materials, Vendors, Customers etc.
Transaction data keeps on changing and deals with day to day activities carried out in business.
Transactions done by or with Customers, Vendors, and Materials etc. generate Transaction
Data. So data related to Sales, Purchases, Deliveries, Invoices etc. represent transaction data
Important
Question 14: What will you use SELECT SINGLE or SELECT UPTO 1
ROWS ?
What will you use SELECT SINGLE or SELECT UPTO 1 ROWS ?
There is great confusion over this in the SAP arena.
If you Google, you will see lots of results that will say SELECT SINGLE is faster
and efficient than SELECT UPTO 1 ROWS.
But that is 100% incorrect.
LOAD-OF-PROGRAM:
INITIALIZATION: If you want to initialize some values before selection
screen is called
AT SELECTION SCREEN OUTPUT: PBO for Selection Screen
AT SELECTION SCREEN: PAI for Selection Screen
START-OF-SELECTION
END-OF-SELECTION
TOP-OF-PAGE
END-OF-PAGE
Question 17:
Question 19: A system has two clients 100 and 500 on the same application
server. If you make changes to a SAPSCRIPT on client 100, will the changes
be available in client 500?
No. SAPSCRIPT is client dependent. You will have to transport changes from
client 100 to client 500. However, for SMARTFORMS, Changes will be made
both for client 100 and client 500.
Question 20: There are 1000’s of IDOCs in your system and say you no
longer need some of them? How will you get rid of those IDOCs?
A) Use FM IDOC_STATUS_WRITE_TO_DATABASE
B) USE FMs:
EDI_DOCUMENT_OPEN_FOR_PROCESS and
EDI_DOCUMENT_CLOSE_PROCESS
If you want to validate a single field in Module Pool, you use the FIELD
Command.
On error, this single filed is kept open for input.
If you however want to validate multiple fields, you can use the CHAIN …
ENDCHAIN command. You specify multiple fields between CHAIN and
ENDCHAIN.
On error, all fields between CHAIN …… ENDCHAIN are kept open for input.
The aim of the Update function module is either to COMMIT all changes to
database at once or to ROLLBACK all the changes. By definition, an update
function module is used to bundle all the updates in your system in one LUW
(logical unit of work).
Question 23: How is the table sorted when you do not specify field name
and Ascending or Descending? On what criteria will the table be sorted? Do
internal table have keys?
Another example is domain MATNR. For this domain the value table is MARA.
So whenever and wherever, you use this domain the system will force you to
use values for MATNR in table MARA.
Question 26: How do you find BAPI?Approach1:
You can go to Transaction BAPI and then search for your desired object.
Say you want to find a BAPI for creating users in the system, in such case
you can search for the ‘User’ and find the relevant BAPIs.
Approach2:
Another way is to find a Business Object. Say you want to find a BAPI for
creating Material in SAP and you know the BO for Material is BUS1001006.
You can go to Transaction SWO1 and enter the BO BUS1001006 in the BOR.
Then have a look at the methods for this BO.
Important
Question 27: How do you find BADI?
Approach1:
Go to Class CL_EXITHANDLER in SE24 ---> Put a breakpoint in
method GET_INSTANCE.Now go and execute your transaction code for
which you want to find BADI.
You will find the BADI in the changing parameter exit_name:
Approach 2:
Go to Tcode SE84 Enhancements BADIs Definitions.
Find the package for the Tcode for which you are finding the BADI.
Enter it as shown and hit execute:
SAP OOPS ABAP INTERVIEW QUESTIONS AND ANSWERS
What is OOPS ABAP ?
Object orientation (OO), or to be more precise, object-oriented programming, is a
problem-solving method in which the software solution reflects objects in the real
world.
A comprehensive introduction to object orientation as a whole would go far beyond
the limits of this introduction to ABAP Objects. This documentation introduces a
selection of terms that are used universally in object orientation and also occur in
ABAP Objects. In subsequent sections, it goes on to discuss in more detail how these
terms are used in ABAP Objects. The end of this section contains a list of further
reading, with a selection of titles about object orientation.
What is the Difference between Class and Object ?
A Class is actually a blueprint or a template to create an Object. Whereas an Object
is a an actual instance of a Class. For example Employee ia a class, while John is a
real employee which is an Object of Employee Class.
What is Inheritance ?
In OOPs terminology, inheritance is a way to form new classes using classes that
have already been defined. Inheritance is intended to help reuse existing code with
little or no modification. The new classes, known as derived classes, inherit
attributes and behavior of the pre-existing classes, which are referred to as base
classes.
What is Aggregation ?
Aggregation is a special form of association. Aggregation is the composition of an
object out of a set of parts. For example, a car is an aggregation of engine, tyres,
brakes, etc.
Aggregation represents a "Has" relationship like a car has a engine.
What is UML ?
UML (Unified Modeling Language) is a standardized modeling language. It is used
for the specification, construction, visualization and documentation of models for
software systems and enables uniform communication between various users.
UML does not describe the steps in the object-oriented development process.
SAP uses UML as the company-wide standard for object-oriented modeling.
UML describes a number of different diagram types in order to represent different
views of a system.
What is a singleton ?
If it is to be impossible to instantiate a class more than once (for example, because
it serves as a data administrator or data container), you can use the singleton
concept. The class is defined with the addition CREATE PRIVATE and FINAL and
instantiated using its static constructor. A public static component could then make
the reference to the class available to an external user.