‎2009 Mar 09 8:21 PM
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
‎2009 Mar 09 8:54 PM
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.
‎2009 Mar 09 8:54 PM
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.
‎2009 Mar 09 9:46 PM
‎2009 Mar 09 10:42 PM
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
‎2009 Mar 10 1:07 AM