Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

how i pass parameters

Former Member
0 Likes
724

i wrote a simple program like this...

REPORT ZMYTESTPRG36 .

DATA: A TYPE I, B TYPE I.

A = 5.

B = 4.

PERFORM ADD_DATA using A B.

FORM ADD_DATA using x y.

DATA Z TYPE I.

x = 2.

y = 5.

Z = X + Y.

WRITE : 'THE SUM OF ', a , b , 'IS ', Z.

ENDFORM.

i am getting the result as 7.

how i get the result as 9.

with call by reference concept..

i wanna pass the actual parameters to the subroutine...

Message was edited by:

balaji velpuri

1 ACCEPTED SOLUTION
Read only

varma_narayana
Active Contributor
0 Likes
702

Hi Balaji..

Try this code:

REPORT ZMYTESTPRG36 .

DATA: A TYPE I, B TYPE I.

A = 5.

B = 4.

PERFORM ADD_DATA using A B.

FORM ADD_DATA using x y.

DATA Z TYPE I.

Z = X + Y.

WRITE : 'THE SUM OF ', a , b , 'IS ', Z.

ENDFORM.

<b>REWARD IF HELPFUL.</b>

i wrote a simple program like this...

REPORT ZMYTESTPRG36 .

DATA: A TYPE I, B TYPE I.

A = 5.

B = 4.

PERFORM ADD_DATA using A B.

FORM ADD_DATA using x y.

DATA Z TYPE I.

x = 2.

y = 5.

Z = X + Y.

WRITE : 'THE SUM OF ', a , b , 'IS ', Z.

ENDFORM.

i am getting the result as 7.

how i get the result as 9.

with call by reference concept..

i wanna pass the actual parameters to the subroutine...

Message was edited by:

balaji velpuri

5 REPLIES 5
Read only

Former Member
0 Likes
702

HI,

if you don't define the parameters new.

Delete the lines

x = 2.

y = 5.

and it shoult work.

regards

NIcole

Read only

Former Member
0 Likes
702

REPORT ZMYTESTPRG36 .

DATA: A TYPE I, B TYPE I.

A = 5.

B = 4.

PERFORM ADD_DATA using A B.

FORM ADD_DATA using x y.

DATA Z TYPE I.

<b>*x = 2.

*y = 5.</b>

Z = X + Y.

WRITE : 'THE SUM OF ', a , b , 'IS ', Z.

ENDFORM.

Comment the values of X and Y in the subroutine. You'll get the output as 9.

Regards,

Pavan

Read only

Former Member
0 Likes
702

use following

REPORT ZMYTESTPRG36 .

DATA: A TYPE I, B TYPE I.

data: z type i.

A = 5.

B = 4.

PERFORM ADD_DATA using A B.

Z = A + B.

WRITE : 'THE SUM OF ', a , b , 'IS ', Z.

FORM ADD_DATA using x y.

DATA Z TYPE I.

x = 2.

y = 5.

Z = X + Y.

WRITE : 'THE SUM OF ', a , b , 'IS ', Z.

ENDFORM.

Read only

varma_narayana
Active Contributor
0 Likes
703

Hi Balaji..

Try this code:

REPORT ZMYTESTPRG36 .

DATA: A TYPE I, B TYPE I.

A = 5.

B = 4.

PERFORM ADD_DATA using A B.

FORM ADD_DATA using x y.

DATA Z TYPE I.

Z = X + Y.

WRITE : 'THE SUM OF ', a , b , 'IS ', Z.

ENDFORM.

<b>REWARD IF HELPFUL.</b>

Read only

Former Member
0 Likes
702

Hi Balaji,

'using' will act as call by value and 'changing' will act as call by reference.

Refer the below code.

x = 4.

y = 5.

Perform ADD_DATA using x y changing s

WRITE : 'THE SUM OF ', x , y , 'IS ', S.

FORM ADD_DATA VALUES x y CHANGING S.

DATA Z TYPE I.

S = X + Y.

ENDFORM.

Regards,

Sheron