Skip to Content
0
Former Member
Aug 14, 2008 at 02:29 PM

Work area Inside a method in Object Oriented Programming

323 Views

Hi all,

Can anyone look at the below code in the method meth1 and tell me is there any better method rather than declaring the workarea wa_itab using t_mara.

I can use field symbols but can i use access one field like if i say <fs>-matnr it doesnot let me do that

I don't want to declare struture t_mara just to declare work area wa_itab. i know i can declare using field symbols like

FIELD-SYMBOLS:<fs> type any. but how do i acess an individual field

CLASS cls DEFINITION.

PUBLIC SECTION.

TYPES:BEGIN OF T_MARA,

MATNR TYPE MARA-MATNR,

meins TYPE MARA-meins,

END OF T_MARA.

data : WA_ITAB TYPE T_MARA.

METHODS:meth1 importing itab type any table.

ENDCLASS.

CLASS cls IMPLEMENTATION.

METHOD meth1.

*FIELD-SYMBOLS:<fs> type itab."any.

loop at itab into wa_itab. "assigning <fs>.

write:/ wa_itab-matnr,wa_itab-meins.

endloop.

ENDMETHOD.

ENDCLASS.

START-OF-SELECTION.

DATA:obj TYPE REF TO cls.

CREATE OBJECT obj.

TYPES:BEGIN OF T_MARA1,

MATNR TYPE MARA-MATNR,

meins TYPE MARA-meins,

END OF T_MARA1.

DATA:ITAB1 TYPE STANDARD TABLE OF T_MARA1,

WA_ITAB1 TYPE T_MARA1.

SELECT matnr meins FROM mara into TABLE itab1 up to 10 rows.

CALL METHOD obj->meth1 exporting itab = itab1.

Thanks