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

problem with returning parameter

Former Member
0 Likes
1,601

Hi all,

i was trying to do this basic abap program using classes, but i am geting the error " method get_data does npt have returning parameter".

the code is:

*---------------------------------------------------------------------*
*       CLASS main DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS MAIN DEFINITION.

  PUBLIC SECTION.

    METHODS ADD_DATA IMPORTING I_DATA TYPE I.

    METHODS GET_DATA EXPORTING E_DATA TYPE CHAR20.

  PRIVATE SECTION.

    DATA ATTRIBUTE TYPE CHAR01.

ENDCLASS.                    "main DEFINITION



*---------------------------------------------------------------------*
*       CLASS main IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS MAIN IMPLEMENTATION.


  METHOD ADD_DATA.

    ADD I_DATA TO ATTRIBUTE.

  ENDMETHOD.                    "add_data


  METHOD GET_DATA.

    CONCATENATE 'attribute value' ATTRIBUTE INTO E_DATA SEPARATED BY SPACE.

  ENDMETHOD.                    "get_data


ENDCLASS.                    "main IMPLEMENTATION


DATA: OB_REF TYPE  REF TO MAIN.


START-OF-SELECTION.

  CREATE OBJECT OB_REF.


 DATA: VAR TYPE CHAR20.

  OB_REF->ADD_DATA( I_DATA = 3 ).

  VAR = OB_REF->GET_DATA( ).

  WRITE VAR.

please help me , what mistake i am doing.

Please use code tags

Edited by: Rob Burbank on Mar 9, 2009 4:23 PM

1 ACCEPTED SOLUTION
Read only

former_member376453
Contributor
0 Likes
1,426

Hi use the below code,


*---------------------------------------------------------------------*
*       CLASS main DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS main DEFINITION.

  PUBLIC SECTION.

    METHODS add_data IMPORTING i_data TYPE i.

    METHODS get_data  RETURNING VALUE(V) TYPE char20.
*EXPORTING e_data TYPE char20
  PRIVATE SECTION.

    DATA attribute TYPE char01.

ENDCLASS.                    "main DEFINITION



*---------------------------------------------------------------------*
*       CLASS main IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS main IMPLEMENTATION.


  METHOD add_data.

    ADD i_data TO attribute.

  ENDMETHOD.                    "add_data


  METHOD get_data.

    CONCATENATE 'attribute value' attribute INTO v SEPARATED BY space.

  ENDMETHOD.                    "get_data




ENDCLASS.                    "main IMPLEMENTATION


DATA: ob_ref TYPE  REF TO main.


START-OF-SELECTION.

  CREATE OBJECT ob_ref.


  DATA: var TYPE char20.

  ob_ref->add_data( i_data = 3 ).

  var = ob_ref->get_data( ).

  WRITE var.

4 REPLIES 4
Read only

former_member376453
Contributor
0 Likes
1,427

Hi use the below code,


*---------------------------------------------------------------------*
*       CLASS main DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS main DEFINITION.

  PUBLIC SECTION.

    METHODS add_data IMPORTING i_data TYPE i.

    METHODS get_data  RETURNING VALUE(V) TYPE char20.
*EXPORTING e_data TYPE char20
  PRIVATE SECTION.

    DATA attribute TYPE char01.

ENDCLASS.                    "main DEFINITION



*---------------------------------------------------------------------*
*       CLASS main IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS main IMPLEMENTATION.


  METHOD add_data.

    ADD i_data TO attribute.

  ENDMETHOD.                    "add_data


  METHOD get_data.

    CONCATENATE 'attribute value' attribute INTO v SEPARATED BY space.

  ENDMETHOD.                    "get_data




ENDCLASS.                    "main IMPLEMENTATION


DATA: ob_ref TYPE  REF TO main.


START-OF-SELECTION.

  CREATE OBJECT ob_ref.


  DATA: var TYPE char20.

  ob_ref->add_data( i_data = 3 ).

  var = ob_ref->get_data( ).

  WRITE var.

Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
1,426

Or you can keep it defined as an exporting parameter and change the method call to this.

ob_ref->get_data( importing e_data = var ).

Regards,

Rich Heilman

Edited by: Rich Heilman on Mar 9, 2009 9:08 PM

updated error in coding

Read only

0 Likes
1,426

Rich,

In that case we are directly passing the value to 'var', it should be only :

ob_ref->get_data( importing e_data = var ).

Kuntal

Read only

0 Likes
1,426

Oh yes, ooops, copy/paste error.

Thanks,

Rich Heilman