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 in OOPs

Former Member
0 Likes
485

Hi Freinds,

When i compile this program i am getting the error ? what is the problem in the below code ? can any solve this problem ?

My code is

&----


*& Report ZOOPS_vij *

*& *

&----


*& *

*& *

&----


REPORT zoops_vij .

----


  • CLASS sales DEFINITION

----


*

----


CLASS sales DEFINITION.

PUBLIC SECTION.

TYPES: BEGIN OF t_sales,

vbeln TYPE vbak-vbeln,

ernam TYPE vbak-ernam,

erdat TYPE vbak-erdat,

netwr TYPE vbak-netwr,

spart TYPE vbak-spart,

END OF t_sales.

DATA : wa_sales TYPE t_sales,

itab_sales TYPE STANDARD TABLE OF t_sales.

METHODS : get_data IMPORTING v_vbeln TYPE vbak-vbeln,

disp_data.

ENDCLASS. "spfli DEFINITION

----


  • CLASS sales IMPLEMENTATION

----


*

----


CLASS sales IMPLEMENTATION.

METHOD get_data.

SELECT vbeln ernam erdat netwr spart FROM vbak INTO TABLE itab_sales WHERE vbeln IN v_vbeln.

ENDMETHOD. "get_spfli

METHOD disp_data.

LOOP AT itab_sales INTO wa_sales.

WRITE : / wa_sales-vbeln, wa_sales-ernam, wa_sales-erdat,

wa_sales-netwr, wa_sales-spart.

ENDLOOP.

ENDMETHOD. "get_spfli

ENDCLASS. "spfli IMPLEMENTATION

TABLES : vbak.

DATA : sales_obj TYPE REF TO sales.

SELECT-OPTIONS : s_vbeln FOR vbak-vbeln.

START-OF-SELECTION.

CREATE OBJECT sales_obj.

CALL METHOD sales_obj->get_data

EXPORTING

v_vbeln = s_vbeln.

CALL METHOD sales_obj->disp_data.

4 REPLIES 4
Read only

Former Member
0 Likes
463

Hi Vijaya,

Please change the select option to parameter as in the definition of method get_data IMPORTING v_vbeln TYPE vbak-vbeln, you are passing v_vbeln as a single value. If u want to pass a select option then u have to pass a table type like structure of a select option.

Please see the modified code..

REPORT zoops_vij .

TABLES : vbak.

PARAMETERS : s_vbeln LIKE vbak-vbeln.

*----


CLASS sales DEFINITION deferred.

*----


*----


CLASS sales DEFINITION.

PUBLIC SECTION.

TYPES: BEGIN OF t_sales,

vbeln TYPE vbak-vbeln,

ernam TYPE vbak-ernam,

erdat TYPE vbak-erdat,

netwr TYPE vbak-netwr,

spart TYPE vbak-spart,

END OF t_sales.

DATA : wa_sales TYPE t_sales,

itab_sales TYPE STANDARD TABLE OF t_sales.

METHODS : get_data IMPORTING s_vbeln like s_vbeln,

disp_data.

ENDCLASS. "spfli DEFINITION

*----


*CLASS sales IMPLEMENTATION

*----


*

*----


CLASS sales IMPLEMENTATION.

METHOD get_data.

SELECT vbeln ernam erdat netwr spart

FROM vbak

INTO TABLE itab_sales

WHERE vbeln eq s_vbeln.

ENDMETHOD. "get_spfli

METHOD disp_data.

LOOP AT itab_sales INTO wa_sales.

WRITE : / wa_sales-vbeln, wa_sales-ernam, wa_sales-erdat,

wa_sales-netwr, wa_sales-spart.

ENDLOOP.

ENDMETHOD. "get_spfli

ENDCLASS. "spfli IMPLEMENTATION

DATA : sales_obj TYPE REF TO sales.

START-OF-SELECTION.

CREATE OBJECT sales_obj.

CALL METHOD sales_obj->get_data

EXPORTING

s_vbeln = s_vbeln.

CALL METHOD sales_obj->disp_data.

Hope this solves ur problem.

Read only

Former Member
0 Likes
463

Hi Vijaya,

I have noted some mistake .

1) METHODS : get_data IMPORTING v_vbeln TYPE vbak-vbeln,

disp_data.

-


Here get_data method import variable (V_VBELN)

CALL METHOD sales_obj->get_data

EXPORTING

v_vbeln = s_vbeln.

-


Here exporting V_VBELN = S_VBELN.

how it possible one variable can not store ranges value (Multiple value ). thats why problem occur.

If helpful give me rewards

Thanks

Shambhu

Read only

Former Member
0 Likes
463

Your modified code is shown below


CLASS sales DEFINITION.
  PUBLIC SECTION.

    TYPES: BEGIN OF t_sales,
    vbeln TYPE vbak-vbeln,
    ernam TYPE vbak-ernam,
    erdat TYPE vbak-erdat,
    netwr TYPE vbak-netwr,
    spart TYPE vbak-spart,
    END OF t_sales.

    DATA : wa_sales TYPE t_sales,
    itab_sales TYPE STANDARD TABLE OF t_sales.

    METHODS : get_data IMPORTING v_vbeln TYPE vbak-vbeln,
    disp_data.

ENDCLASS. "spfli DEFINITION

*----------------------------------------------------------------------*
*       CLASS sales IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS sales IMPLEMENTATION.

  METHOD get_data.
    SELECT vbeln ernam erdat netwr spart FROM vbak INTO *TABLE itab_sales WHERE vbeln = v_vbeln.*  ENDMETHOD. "get_spfli

  METHOD disp_data.
    LOOP AT itab_sales INTO wa_sales.
      WRITE : / wa_sales-vbeln, wa_sales-ernam, wa_sales-erdat,
      wa_sales-netwr, wa_sales-spart.
    ENDLOOP.
  ENDMETHOD. "get_spfli

ENDCLASS. "spfli IMPLEMENTATION

TABLES : vbak.
DATA : sales_obj TYPE REF TO sales.


*PARAMETER : s_vbeln LIKE vbak-vbeln.*
START-OF-SELECTION.
  CREATE OBJECT sales_obj.

  CALL METHOD sales_obj->get_data
    EXPORTING
      v_vbeln = s_vbeln.
  CALL METHOD sales_obj->disp_data.

Read only

Former Member
0 Likes
463

Hi,

Please find the code below. You modify like this and check. please reward points if helpful.

TABLES : vbak.

SELECT-OPTIONS : s_vbeln FOR vbak-vbeln.

*----


*CLASS sales DEFINITION .

*----


*

*----


CLASS sales DEFINITION.

PUBLIC SECTION.

TYPES: BEGIN OF t_sales,

vbeln TYPE vbak-vbeln,

ernam TYPE vbak-ernam,

erdat TYPE vbak-erdat,

netwr TYPE vbak-netwr,

spart TYPE vbak-spart,

END OF t_sales.

CLASS-DATA:it_tab1 TYPE TABLE OF dsvasattrrange.

DATA : wa_sales TYPE t_sales,

itab_sales TYPE STANDARD TABLE OF t_sales.

CLASS-METHODS:class_constructor.

METHODS : get_data,

disp_data.

ENDCLASS. "spfli DEFINITION

*----


*CLASS sales IMPLEMENTATION

*----


*

*----


CLASS sales IMPLEMENTATION.

METHOD class_constructor.

DATA:wa_vbeln TYPE dsvasattrrange.

LOOP AT s_vbeln INTO wa_vbeln.

APPEND s_vbeln TO it_tab1.

ENDLOOP.

ENDMETHOD. "class_construtor

METHOD get_data.

SELECT vbeln ernam erdat netwr spart FROM vbak INTO TABLE itab_sales WHERE vbeln IN it_tab1.

ENDMETHOD. "get_spfli

METHOD disp_data.

LOOP AT itab_sales INTO wa_sales.

WRITE : / wa_sales-vbeln, wa_sales-ernam, wa_sales-erdat,

wa_sales-netwr, wa_sales-spart.

ENDLOOP.

ENDMETHOD. "get_spfli

ENDCLASS. "spfli IMPLEMENTATION

*

*TABLES : vbak.

DATA : sales_obj TYPE REF TO sales,

ref_vbeln TYPE REF TO data.

START-OF-SELECTION.

CREATE OBJECT sales_obj.

GET REFERENCE OF s_vbeln INTO ref_vbeln.

CALL METHOD sales_obj->get_data.

CALL METHOD sales_obj->disp_data.