We can pass parameters into a method by import parameter.
Now there are two ways to pass the method. We can pass by Reference and Pass by
value. The variable, passed by reference can’t be changed inside the method. We
only can change the value of variable which is passed by value.
In the following example we have created a local class
cl_pass_para. A method m_pass_para has been declared with import parameters in
the public section of this class. We are passing v_ref (passed by reference)
and v_val (passed by value) parameters. In the implementation part we are
writing both of the variable’s value. Here according to the function we can’t
change the value of v_ref (passed by reference) parameter. Following syntax error will come for this condition.
The correct program is as follows.
REPORT zsr_test NO STANDARD PAGE
HEADING.
*----------------------------------------------------------------------*
* CLASS cl_pass_para DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cl_pass_para DEFINITION.
PUBLIC SECTION.
METHODS m_pass_para IMPORTING v_ref TYPE i
value(v_val) TYPE i.
ENDCLASS. "cl_pass_para DEFINITION
*----------------------------------------------------------------------*
* CLASS cl_pass_para IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cl_pass_para IMPLEMENTATION.
METHOD m_pass_para.
WRITE: / 'Parameter passed by reference', v_ref,
/ 'Parameter passed by value', v_val.
v_val = 10.
WRITE: / 'Parameter passed by reference can''t be changed', v_ref,
/ 'Parameter passed by value can be changed', v_val.
ENDMETHOD. "m_pass_para
ENDCLASS. "cl_pass_para IMPLEMENTATION
START-OF-SELECTION.
DATA obj TYPE REF TO cl_pass_para.
CREATE OBJECT obj.
CALL METHOD obj->m_pass_para
EXPORTING
v_ref = 5
v_val = 7.
*----------------------------------------------------------------------*
* CLASS cl_pass_para DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cl_pass_para DEFINITION.
PUBLIC SECTION.
METHODS m_pass_para IMPORTING v_ref TYPE i
value(v_val) TYPE i.
ENDCLASS. "cl_pass_para DEFINITION
*----------------------------------------------------------------------*
* CLASS cl_pass_para IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cl_pass_para IMPLEMENTATION.
METHOD m_pass_para.
WRITE: / 'Parameter passed by reference', v_ref,
/ 'Parameter passed by value', v_val.
v_val = 10.
WRITE: / 'Parameter passed by reference can''t be changed', v_ref,
/ 'Parameter passed by value can be changed', v_val.
ENDMETHOD. "m_pass_para
ENDCLASS. "cl_pass_para IMPLEMENTATION
START-OF-SELECTION.
DATA obj TYPE REF TO cl_pass_para.
CREATE OBJECT obj.
CALL METHOD obj->m_pass_para
EXPORTING
v_ref = 5
v_val = 7.
We have the following output for this program.
2 comments:
SAP Success Factors Real Time Hands on Training in Chennai...
Don't always Depend on Training Institute Alone and so please aware of Best Trainers too..
http://thecreatingexperts.com/sap-successfactors-training-in-chennai/
If You need a Best Trainer over SAP Success Factors Means??? Please ready for an DEMO From the Trainer MR.Karthick
CONTACT:8122241286
Both Classroom/Online Training is Available!!!!!!
Post a Comment