CALL METHOD - Static Method Call (Obsolete)
Short Reference
ABAP Syntax(Obsolete) CALL METHOD {
static_meth ( )
| static_meth ( a )
| static_meth ( p1 =
a1 p2 = a2 ... )
| static_meth (
[parameter_list] ) }.
CALL METHOD static_meth
[parameter_list] .
What does it do? Both statements have the same semantics and call the
method that is specified statically by the name
static_meth .
The first statement prefixes the
standalone method call with a CALL METHOD .
The second statement does not have any parentheses for passing values
to the parameter interface. Instead, either an explicit
parameter list is specified or no
parameter list at all
If CALL METHOD is used for the standalone method call, no
chained method calls are possible
and the operators NEW and
CAST cannot be used to
specify the method.
Latest notes: CALL METHOD is no longer
recommended for static method calls .
It is not necessary to prefix the
recommended syntax with CALL METHOD since this would make
programs harder to read.
The syntax without parentheses is based on
function module calls and is obsolete.
The syntax involving parentheses, however, standardizes both standalone
and functional method calls.
The statement CALL METHOD is now only intended for
dynamic method calls and distinguishes
them clearly from static calls.
Example ABAP Coding The three method calls in the following source code have
the same meaning. The first two calls are the obsolete variants with
CALL METHOD : one without parentheses and one with. The third call
is the recommended variant, without CALL METHOD .
CLASS c1 DEFINITION.
PUBLIC SECTION.
CLASS-METHODS do_something IMPORTING p1 TYPE i
p2 TYPE i
EXPORTING p3 TYPE i
p4 TYPE i
RETURNING VALUE(r) TYPE i.
ENDCLASS.
CLASS c1 IMPLEMENTATION.
METHOD do_something.
...
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
CALL METHOD
c1=>do_something
EXPORTING
p1 = 333
p2 = 444
IMPORTING
p3 = DATA(a1)
p4 = DATA(a2)
RECEIVING
r = DATA(a3).
CALL METHOD
c1=>do_something(
EXPORTING
p1 = 333
p2 = 444
IMPORTING
p3 = DATA(b1)
p4 = DATA(b2)
RECEIVING
r = DATA(b3) ).
c1=>do_something(
EXPORTING
p1 = 333
p2 = 444
IMPORTING
p3 = DATA(c1)
p4 = DATA(c2)
RECEIVING
r = DATA(c3) ).
Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved