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

PERFORM and Object

Former Member
0 Likes
454

Hi all,

is it possible to pass in parameter of a FORM an object ?

Regards

1 ACCEPTED SOLUTION
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
415

Sure, check it out.



report zrich_0001 .


*---------------------------------------------------------------------*
*       CLASS lcl_matnr DEFINITION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
class lcl_matnr definition.

  public section.

    data: matnr type mara-matnr.

    methods: constructor importing im_matnr type mara-matnr.

endclass.

*---------------------------------------------------------------------*
*       CLASS lcl_matnr IMPLEMENTATION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
class lcl_matnr implementation.

  method constructor.

    matnr = im_matnr.

  endmethod.

endclass.

data: a_matnr type ref to lcl_matnr.

parameters: p_matnr type mara-matnr.

start-of-selection.

  create object a_matnr
        exporting
              im_matnr = p_matnr .

  perform write_matnr using a_matnr.


*&---------------------------------------------------------------------*
*&      Form  write_matnr
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_A_MATNR  text
*----------------------------------------------------------------------*
form write_matnr using  the_matnr type ref to lcl_matnr.

  write:/ the_matnr->matnr.

endform.

Regards,

Rich Heilman

3 REPLIES 3
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
416

Sure, check it out.



report zrich_0001 .


*---------------------------------------------------------------------*
*       CLASS lcl_matnr DEFINITION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
class lcl_matnr definition.

  public section.

    data: matnr type mara-matnr.

    methods: constructor importing im_matnr type mara-matnr.

endclass.

*---------------------------------------------------------------------*
*       CLASS lcl_matnr IMPLEMENTATION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
class lcl_matnr implementation.

  method constructor.

    matnr = im_matnr.

  endmethod.

endclass.

data: a_matnr type ref to lcl_matnr.

parameters: p_matnr type mara-matnr.

start-of-selection.

  create object a_matnr
        exporting
              im_matnr = p_matnr .

  perform write_matnr using a_matnr.


*&---------------------------------------------------------------------*
*&      Form  write_matnr
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_A_MATNR  text
*----------------------------------------------------------------------*
form write_matnr using  the_matnr type ref to lcl_matnr.

  write:/ the_matnr->matnr.

endform.

Regards,

Rich Heilman

Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
415

Another example.



report zrich_0001 .


*---------------------------------------------------------------------*
*       CLASS lcl_matnr DEFINITION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
class lcl_matnr definition.

  public section.

    data: matnr type mara-matnr.

    methods: constructor importing im_matnr type mara-matnr.

endclass.

*---------------------------------------------------------------------*
*       CLASS lcl_matnr IMPLEMENTATION
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
class lcl_matnr implementation.

  method constructor.

    matnr = im_matnr.

  endmethod.

endclass.

data: a_matnr type ref to lcl_matnr.

data: matnr_list type table of ref to lcl_matnr.
data: imara type table of mara with header line.

start-of-selection.

* Get some material numbers
  select * into table imara from mara up to 100 rows.

* But the object internal table.
  loop at imara.
    create object a_matnr
          exporting
                im_matnr = imara-matnr .
    append a_matnr to matnr_list.
  endloop.

* Write out each object.
  loop at matnr_list into a_matnr.
    perform write_matnr using a_matnr.
  endloop.


*&---------------------------------------------------------------------*
*&      Form  write_matnr
*&---------------------------------------------------------------------*
form write_matnr using  the_matnr type ref to lcl_matnr.

  write:/ the_matnr->matnr.

endform.

Regards,

Rich Heilman

Read only

0 Likes
415

Thanks Rich !