Anda di halaman 1dari 7

1. Can you name the different types of SAP ABAP/4 Modularization techniques.

Subroutines

include programs
Macros

Functions

2. What are subroutines?


Ans. Subroutines are program modules, which can be called from other ABAP/4 prog
rams or within the same program.
3. What are the types of Subroutines?
Internal Subroutines: The source code of the internal subroutines will be in t
he same ABAP/4 program as the calling procedure (internal call).
External Subroutines: The source code of the external subroutines will be in a
n ABAP/4 program other than the calling procedure.

4. A subroutine can contain nested form and endform blocks. (T/F)


False.

5. Data can be passed between calling programs and the subroutines using paramet
ers.
True.
6. What are the different types of parameters?
Formal Parameters:
Parameters, which are defined during the definition of subroutine with
the FORM statement.
Actual Parameters:
Parameters which are specified during the call of a subroutine with the
PERFORM statement.
7. What are the different methods of passing data?
Calling by reference:
During a subroutine call, only the address of the actual parameter is trans
ferred to the formal parameters.
The formal parameter has no memory of its own, and we work with the field of the

calling program within the subroutine.


If we change the formal parameter, the field contents in the calling program als
o changes.
Calling by value:
During a subroutine call, the formal parameters are created as copies of
the actual parameters.
The formal parameters have memory of their own. Changes to the
formal parameters have no effect on the actual parameters.
Calling by value and result:
During a subroutine call, the formal parameters are created as copies of
the actual parameters.
The formal parameters have their own memory space. Changes to the
formal parameters are copied to the actual parameters at the end of the
subroutine.
8. A subroutine can be terminated unconditionally using EXIT. (T/F)
True.
9. The method by which internal tables are passed is by Reference.
True.
10. How can an internal table with Header line and one without header line be di
stinguished when passed to a subroutine?
Ans:
Itab[] is used in the form and endform if the internal table is passed with a he
ader line.
11. What should be declared explicitly in the corresponding ABAP/4 Statements to
access internal tables without header lines & why?
Ans:
Work Area. This is required as the Work Area is the interface for transferring d
ata to and from the table.
12. What is the difference between the function module and a normal ABAP/4 subro
utine?
Ans:
In contrast to normal subroutines function modules have uniquely defined interfa

ce.
Declaring data as common parts is not possible for function modules.
Function modules are stored in a central library.
13. What is a function group?
Ans.
A function group is a collection of logically related modules that share global
data with each other. All the modules in the group are included in the same main
program.
When an ABAP/4 program contains a CALL FUNCTION statement, the system loads the
entire function group in with the program code at runtime. Every function module
belongs to a function group.

14. What is the disadvantage of a call by reference?


During a call by reference damage or loss of data is not restricted to the
subroutine, but will instantly lead to changes to the original data
objects.
15.

What is an update task?

Ans. It is an SAP provided procedure for updating a database.

16. What happens if a function module runs in an update task?


The system performs the module processing asynchronously. Instead of carrying ou
t the call immediately, the system waits until the next database update is trigg
ered with the
COMMIT WORK command.
17. The function modules are created and stored in the Function Library.
True , tfdir
18. When a function module is activated syntax checking is performed automatical
ly. (Y/N)
True.
19. What is the use of the RAISING exception?
The raising exception determines whether the calling program will handle the exc
eption itself or leave the exception to the system.
20. What are the Componentents of functional modules?

Importing parameters
Exporting parameters
Changing parameters
Tables parameters
Exceptions
21. what are the 2 includes creaated automatically whenever we create a function
module?
Ans:
1) Lfm_nameTOP
2) Lfm_nameUXX
22.What are the different Processing Types of Function Modules?
Ans:
The different types of function modules are:
a) Normal function modules
b) Remote enabled function modules
c) Update function modules
23.What are the various ways of raising exceptions in fuction modules?
Ans:
There are two ABAP statements for raising exceptions. They can only be used in f
unction modules:
1)RAISE .
2)MESSAGE..... RAISING .
The effect of these statements depends on whether the calling program handles th
e exception or not. If the name <except> of the exception or OTHERS occurs in th
e EXCEPTIONS addition of the CALL FUNCTION statement, the exception is handled b
y the calling program.
If the calling program does not handle the exception .The RAISE statement termin
ates the program and switches to debugging mode. The MESSAGE ..... RAISING state
ment display the specified message.
How the processing continues depends on the message type. If the calling program
handles the exception, both statements return control to the program.

No values are transferred. The MESSAGE ..... RAISING statement does not display
a message.Instead, it fills the system fields SY-MSGID, SY-MSGTY, SY-MSGNO, and
SY-MSGV1 to SY-MSGV4.
24.What are the difference between Function Modules and Form Routines?
Ans:
There are significant differences between function modules and form routines:
1)Function modules must belong to a pool called a function group.
They possess a fixed interface for data exchange. This makes it easier for
you to pass input and output parameters to and from the function module. For ex
ample, you can assign default values to the input parameters.
2)The interface also supports exception handling.
This allows you to catch errors and pass them back to the calling program
for handling.
3 )They use their own memory area.
The calling program and the function module cannot exchange data using
a shared memory area - they must use the function module interface. This avoids
unpleasant side effects such as accidentally overwriting data.
4)The Function Builder allows you to develop, test, and document new functi
on modules. You can also use it to display information about existing function m
odules.
25. Explain the following tabs appearing in SE37:
a) import
b) export
c) changing
d) tables
e) exceptions
f)source code
Ans:
a)import:
Contains a list of the formal parameters that are used to pass data to a
function module. For further information, refer to Displaying Information about
Interface Parameters .
b)export:

Contains a list of the formal parameters that are used to receive data from a fu
nction module. For further information, refer to Displaying Information about In
terface Parameters
c)changing:
Contains a list of the formal parameters that are used both to pass data to
and receive data from a function module. For further information, refer to Displ
aying Information about Interface Parameters .
d) tables:
Specifies the tables that are to be passed to a function module. Table
parameters are always passed by reference. For further information, refer to Dis
playing Information about Interface Parameters
e)exceptions:
Shows how the function module reacts to exceptions. For further
information, refer to Displaying Information about Interface Parameters
f)source code:
Program code of the function module.

26) What are the steps invloved in documenting a function module?


ans:
1)Open the Function Builder and enter the name of the function module that you w
ant to document.
2)Select Interface.
3)Choose Change.
4)Choose the Documentation tab.
5)A list of all parameters and exceptions appears.
6)Enter a short text for each entry.
7)Save your entries.

27) What is the difference between Function module and BAPI ?


Ans:
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 functionalit
ies.

28) Explain the ways in which UPDATE FUNCTION MODULE is used in a BDC?
Ans:
Function modules that run in the update task can run synchronously or asynchrono
usly. You determine this by the form of the commit statement you use:
COMMIT WORK
This is the standard form, which specifies asynchronous processing. Your program
does not wait for the requested functions to finish processing.
COMMIT WORK AND WAIT
This form specifies synchronous processing. The commit statement waits for the r
equested functions to finish processing. Control returns to your program after a
ll high priority (V1) function modules have run successfully.
The AND WAIT form is convenient for switching old programs to synchronous proces
sing without having to re-write the code. Functionally, using AND WAIT for updat
e-task updates is just the same as dialog-task updates with PERFORM ON COMMIT.
29 What is Modularization and its benefits?
Ans.
If the program contains the same or similar blocks of statements or it is requi
red to process the same function several times, we can avoid redundancy by usin
g modularization techniques. By modularizing the ABAP/4 programs we make them ea
sy to read and improve their structure. Modularized programs are also easier to
maintain and to update.

30) What is the difference between macro and subroutine?


Ans .
Macros can only be used in the program they are defined in and only after the de
finition are expanded at compilation/generation. Subroutines (FORM) can be calle
d from both the program they are defined in and other programs .
A MACRO is more or less an abbreviation for some lines of code that are used mor
e than once or twice. A FORM is a local subroutine (which can be called externa
l). A FUNCTION is (more or less) a subroutine that is called external.
Since debugging a MACRO is not really possible, prevent the use of them (I ve neve
r used them, but seen them in action). If the subroutine is used only local (cal
led internal) use a FORM.

Anda mungkin juga menyukai