You are on page 1of 66

Modularization Techniques : - Subroutines

 If program contains several identical or similar


statements, you can avoid redundancy through the
use of subroutines.

 Subroutines improve the structure of your


program, and make it easier to read , Subroutines can
be called from various points in a program.
Modularization Techniques : - Subroutines
Simple Internal table

Executing Subroutine :- Perform Sub .

Declaring Subroutine : - Form Sub .

<statement part > , <Calculation Part > …….

Endform.
Modularization Techniques : - Subroutines
Subroutines are always declared at the end of program , Any
statement in between subroutines are not acceptable .
All ABAP statements should be declared above subroutine
declaration.
Write:/ ‘subroutines’.
Form SUB.

Allowed <statement part > , <Calculation Part > …….

Endform.
Write:/ ‘subroutines’.
Form SUB1.

Allowed
<statement part > , <Calculation Part > …….

Endform.
Modularization Techniques : - Subroutines

 Subroutines are used in three different ways:

 The subroutine and its call are in the same ABAP program (internal call).

 The subroutine is in a different ABAP program (external call).

 The subroutine is a function module stored centrally in the Function


Builder.

Internal call Perform Sub .

Perform Sub(Program name).

External call Perform sub in program <Program name>


Modularization Techniques : - Subroutines
Global Data & Local data
data:m9 type i value 50.

Global Data : - write:/ m9.


Accepted through out
the program
perform sub4.

form sub4.

data : m5 type i.
Local Data : -
Accepted only inside   m5 = 20.
the subroutine
  write:/ m5 color 5.

endform.
Modularization Techniques : - Subroutines

 Data is transferred by using parameters :

 Declaration of subroutine through “Formal parameters".

 Call of a subroutine through “Actual parameters".


Modularization Techniques : - Subroutines

Formal parameters Actual parameters

Executing Subroutine :- Perform Sub using <n1> <n2>


changing <n3>
Declaring Subroutine : - Form Sub using <n1> <n2> . . . .
Changing <n3>

<statement part > , <Calculation Part > …….

Endform.
Modularization Techniques : - Subroutines
Modularization Techniques : - Subroutines

Subroutine Methods:-

 3 Methods of subroutine :-

 Pass by value

 Pass by reference:

 Pass by value and result


Modularization Techniques : - Subroutines

Subroutine Methods:-

 Pass by value :- Copy of the value of the data variable is passed


to the formal parameter

 Pass by reference:- The formal parameters do not have a


separate storage location. Instead, the address of the actual parameter
is passed to the formal parameter. Changes to the value of the formal
parameter are immediately reflected back in the actual parameters.

 Pass by value and result :- At the end of the subroutine, the value
of the formal parameter is passed back to the actual parameter
assigned to it.
Modularization Techniques : - Subroutines
Subroutine pass by Reference :-

Perform Sub using <n1> <n2> changing <n3>

Form Sub using <n1> <n2> . . . . Changing <n3>

<statement part > , <Calculation Part > …….

Endform.
Modularization Techniques : - Subroutines
Subroutine pass by Value :-

Perform Sub1 using <n1> <n2> changing <n3>

Form Sub1 using value(<n1>) value (<n2>) . . . . Changing <n3>

<n1> = <value>. <n2> = value.

<statement part > , <Calculation Part > …….

Endform.
Modularization Techniques : - Subroutines
Subroutine pass by value and result :-

Perform Sub2 <n1> <n2> changing <n3>

Form Sub2 using value(<n1>) value(<n2>) . . . . Changing value(<n3>)

<statement part > , <Calculation Part > …….

Endform.
Modularization Techniques : - Subroutines
Subroutine passing Internal table by reference :-

Perform Sub3 tables <internal table name> .

Form Sub3 tables <internal table name> structure


< internal table structure name >

<statement part > , <Calculation Part > …….

Endform.
Modularization Techniques : - Subroutines
Example program for subroutine:-
Modularization Techniques : - Subroutines
Example program for subroutine:-
Modularization Techniques : - Subroutines
Example program for subroutine:-
Modularization Techniques : - Subroutines
Example program for subroutine:-
Modularization Techniques : - Subroutines
Example program for subroutine:-
Modularization Techniques : - Subroutines
Example program for subroutine:-
Modularization Techniques : - Subroutines
Example program for subroutine:-

Used for external


subroutine
Modularization Techniques : - Subroutines
Example program for subroutine:-
OUTPUT :-
Modularization Techniques : - Subroutines
Example program for subroutine:-
OUTPUT :-
Modularization Techniques : - Function Modules
Function Module :-

 Function modules are general purpose ABAP routines that


can be called from any ABAP program.

The benefits of function modules :-

• Reusability.
• Saves developers from creating redundant code.
• Increases programming efficiency
Modularization Techniques : - Function Modules
Function Group :-
Modularization Techniques : - Function Modules
Function Group :-

 Function groups are containers for function modules.

 Function modules are stored centrally in the Function


Builder as part of function groups.

The benefits of function Groups :-

• Function groups are collection of logically


related functions modules

• Each function group contains all the function modules


that perform similar tasks
Modularization Techniques : - Function Modules
Function Group :-

 Function modules have a clearly defined interface which is


defined when creating the function module.

 Five different interface parameter types are :-

 Import parameters

 Changing parameters

 Export parameters

 Tables parameters

 Exceptions parameters
Modularization Techniques : - Function Modules

Function Module interface parameters & Source code :-

Import Export Changing Tables Exceptions Source Code


Modularization Techniques : - Function Modules
Example program for Function Group Creation :-

Transaction Code :- SE37

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Group Creation :-

Click Create Group

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Group Creation :-

Click Save

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Group Creation :-

Click Local object

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Group Creation :-

Function Group
ZSAP_Group Saved

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Group Creation :-

Click Inactive objects

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Group Creation :-

Select Function Group


Modularization Techniques : - Function Modules
Example program for Function Group Creation :-

Select Function Group

Give function group


name:- ZSAP_GROUP
& Press Enter
Modularization Techniques : - Function Modules
Example program for Function Group Creation :-

Select Function Group,


Right Click ,
Click Activate
Modularization Techniques : - Function Modules
Example program for Function Group Creation :-

Press enter
or Click OK
Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Click Create

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Click Save

Continued in Next Slide


Modularization Techniques : - Function Modules

Example program for Function Module Creation :-

Click Ok

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-
Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-
Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Click Save

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Click Local Object

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Click Pattern &


Give function
Module name

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Continued in Next Slide


Modularization Techniques : - Function Modules
Example program for Function Module Creation :-

Continued in Next Slide


End of Modularization

You might also like