Monday, March 18, 2013

Import Parameters Passed by Reference and Passed by Value


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.

We have the following output for this program.

2 comments:

yektek training said...
This comment has been removed by the author.
Anonymous said...

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!!!!!!