Professional Documents
Culture Documents
REPORT YDEMOSB7. Calculate tax Calculate tax REPORT YDEMOSB8. Call calculated_tax Call calculated_tax
Subroutine Calculate_tax
August-2003
Modularization
REPORT YDEMOSB1.
Perform sub Perform sub(YDEMOSB1) Form sub Call Function ZZCALC
REPORT YDEMOSB2.
REPORT YDEMOSB3.
External Call
REPORT YDEMOSB1.
Form sub
FunctionModule Call
ABAP Function Builder
Function module ZZCALC
August-2003
a1
a2
a3
Actual parameters
a1
a2
a3
Parameter transfer
Formal parameters
Subroutine calculate_tax
f1
f2
f3
99 1 f1 f2 f3 f3 = f1 +f2 . . . .
August-2003 Modularization Techniques | 1.08 3
f1
Pass by Reference
a1
f1
f1
August-2003 Modularization Techniques | 1.08 4
August-2003
REPORT Y170D091. TABLES: .... DATA: . . . . PERFORM <name> USINGPass by value <a1> <a2> Pass by reference <a3> <a4>. <statements> . . Modularization Techniques | 1.08 5 .
August-2003
Global Data
Local Data
August-2003
form sub1. data: begin of tab occurs 10, id like tabna-id, name1 like tabna-name1, end of tab. local: num . . . . <statements> endform.
STATICS
LOCAL
August-2003
ENDFORM.
August-2003
10
External Subroutines
PERFORM <name>(<prog name>) USING . . . REPORT Y170D096. TABLES : TABNA, T001, T005. . . . START-OF-SELECTION. . . . PERFORM SUB1(Y170D097) . . . . . . . REPORT Y170D097. TABLES : TABNA, T001, T001G. . . . START-OF-SELECTION . . . FORM SUB1 . . . . . . . NEW-PAGE. . . . ENDFORM
Roll Area
TABNA T001 T005 T001G Y170D108 Y170D109
Storage Allocation
11
August-2003
Function Modules
Function Builder
FM Group : FIBU FM_01 ... FM_02 ...
FM Group : XYZ FM_03 ... FM_04 ...
August-2003
12
FM -02
Section I Administration Section II Interface
Chapter 1 Import Chapter 2 Changing Chapter 3 Export Chapter 4 Tables Chapter 5 Exceptions
Section III Documentation Section IV Source Code Section V Global Data Section VI Main Program
FM Group : XYZ
FM_03 FM_04
... ...
August-2003
13
August-2003
14
Administration
August-2003
15
Interfaces
Program XYZ.
August-2003
16
LIKE TYPE
August-2003
17
LIKE
TYPE
August-2003
18
* -------------------------------------------------------------------------------------------------* Local interface: IMPORTING * REFERENCE(FIELD1) LIKE TABNA-COUNTRY * EXPORTING * VALUE(FIELD3) LIKE TABNA-NAME1 * TABLES * TAB STRUCTURE TABNA * CHANGING * VALUE(FIELD2) LIKE TABNA-ID * EXCEPTIONS * INVALID_DATA * SYSTEM_ERROR * * ------------------------------------------------------------------------------------------------endfunction. August-2003 Modularization Techniques | 1.08 19
Exceptions
INVALID_OPERATOR
August-2003
21
22
August-2003
23
Program Organisation
SAPL <gr> *System-defined include files INCLUDE L<gr>TOP. INCLUDE L<gr>UXX *User-defined include files L<gr>UXX L<gr>TOP FUNCTION-POOL <gr> Message-ID ZZ. DATA: Global DATA
August-2003
24
Call
FUNCTION . . . . . . PERFORM SUB1 USING . . . . . . ENDFUNCTION.
August-2003
25
August-2003
Test Environment
Import parameters
FM: Y170 DEMO
Tables
Does it work?
Export Parameters
August-2003
27
August-2003
28
ABAP
Function Group
\/4
FUNCTION-POOL . . . . Function Module FUNCTION REMOTE_CALL ... RAISE ERROR. ... ENDFUNCTION.
RFCLid
29
August-2003
30
August-2003
31