0% found this document useful (0 votes)
292 views

zb16 - Incl - Sub - Routines.: 'Actual Parameters' 'Sum'

This document defines and calls several subroutines to demonstrate passing parameters by reference, by value, and by value with return. It declares global variables, displays their initial values, calls internal and external subroutines passing the variables, and then displays the updated values.

Uploaded by

Kishore Reddy
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
292 views

zb16 - Incl - Sub - Routines.: 'Actual Parameters' 'Sum'

This document defines and calls several subroutines to demonstrate passing parameters by reference, by value, and by value with return. It declares global variables, displays their initial values, calls internal and external subroutines passing the variables, and then displays the updated values.

Uploaded by

Kishore Reddy
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

*&--------------------------------------------------------------------*

*& Report ZB16_INCL_SUB_ROUTINES


*&
*&--------------------------------------------------------------------*
*&
*&
*&--------------------------------------------------------------------*
REPORT

zb16_incl_sub_routines.

* Top Include for data declarations


INCLUDE zb16_incl_sub_routines_top.
* Pass the default values
gv_var1 = 1000.
gv_var2 = 2000.
gv_sum = gv_var1 + gv_var2.
* Display before the sub routine is called
WRITE:/'Actual Parameters', gv_var1, gv_var
2,
/'Sum', gv_sum.

*** Call sub routine using By Reference


*PERFORM form_byref USING gv_var1 gv_var2.
*WRITE:/'Actual Parameters', gv_var1, gv_va
r2,
*
/'Sum', gv_sum.
** Call sub routine using By value
*PERFORM form_byval USING gv_var1 gv_var2 g
v_sum.
*WRITE:/'Actual Parameters', gv_var1, gv_va
r2,
*
/'Sum', gv_sum.
* Call sub routine using By value and Retur
n
*PERFORM form_byvalret USING gv_var1 gv_var
2 gv_sum
*
CHANGING gv_var1 gv_
var2 gv_sum.
* Display After the sub routine is called
*WRITE:/'Actual Parameters', gv_var1, gv_va
r2,
*
/'Sum', gv_sum.
**
* Call External sub routines
PERFORM form_external(zb16_called_program)
USING gv_var1 gv_var2
CHANGING gv_sum.

WRITE:/'Actual Parameters After Sub routine


call', gv_var1, gv_var2,
/'Sum', gv_sum.
*&--------------------------------------------------------------------*
*& Include
ZB16_INCL_SUB_ROUTINE
S_FORMS
*&--------------------------------------------------------------------*
**&--------------------------------------------------------------------*
**& Include
ZB7_SUB_ROUTINES_FOR
MS
**&--------------------------------------------------------------------*
FORM form_byref USING
p_gv_var1
p_gv_var2.
p_gv_var1 = 5000.
p_gv_var2 = 6000.
gv_sum = p_gv_var1 + p_gv_var2.
ENDFORM.
" form_byref
*&--------------------------------------------------------------------*
*&
Form form_byval
*&--------------------------------------------------------------------*
*
text

*---------------------------------------------------------------------*
*
-->P_GV_VAR1 text
*
-->P_GV_VAR2 text
*---------------------------------------------------------------------*
*&--------------------------------------------------------------------*
*&
Form form_byval
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
*
-->P_GV_VAR1 text
*
-->P_GV_VAR2 text
*
-->P_GV_SUM text
*---------------------------------------------------------------------*
FORM form_byval USING value(p_gv_var1)
value(p_gv_var2)
value(p_gv_sum).
p_gv_var1 = 4000.
p_gv_var2 = 6000.
p_gv_sum = p_gv_var1 + p_gv_var2.
ENDFORM.
" form_byval
*&-----------------------------------------

----------------------------*
*&
Form form_byvalret
*&--------------------------------------------------------------------*
*
text
*---------------------------------------------------------------------*
*
-->P_GV_VAR1 text
*
-->P_GV_VAR2 text
*
-->P_GV_SUM text
*---------------------------------------------------------------------*
FORM form_byvalret USING
p_gv_var1
p_gv_var2
p_gv_sum
CHANGING gv_var1
gv_var2
gv_sum.
p_gv_var1 = 5000.
p_gv_var2 = 6000.
p_gv_sum = p_gv_var1 + p_gv_var2.
ENDFORM.

" form_byvalret

You might also like