Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8411

Re: Dynamic table name to subroutine as parameter

$
0
0

Hi Preetam,

 

I've used references (pointers) instead of normal parameters with predefined types.

 

REPORT ztesla.

"----------------------------------------

DATA: gt_tm1 TYPESTANDARDTABLEOF mara,

      gv_ref TYPEREFTOdata.

"----------------------------------------

 

START-OF-SELECTION.

  SELECT * INTOTABLE gt_tm1 FROM mara UPTO7ROWS.

  GET REFERENCE OF gt_tm1 INTO gv_ref.

  PERFORM f_doit USING gv_ref '7'.

*&------------------------------------------*

*&      Form  f_doit

*&------------------------------------------*

FORM f_doit USING p_ref     TYPEREFTOdata

                  p_option  TYPE char02.

  "········································

  DATA: lv_ref  TYPEREFTOdata,

        lt_mara TYPESTANDARDTABLEOF mara.

  "········································

  FIELD-SYMBOLS: <lfs_tmara>TYPEANYTABLE.

  ASSIGN p_ref->* TO<lfs_tmara>.

  "········································

  CASE p_option.

    WHEN'7'.

      REFRESH lt_mara.SELECT * INTOTABLE lt_mara FROM mara UPTO10ROWS.

      GET REFERENCE OF lt_mara INTO lv_ref.

      PERFORM f_doit USING lv_ref '99'.

    WHEN'99'.

      PERFORM f_show_alv USING p_ref.

    WHENOTHERS.

  ENDCASE.

  "········································

  " You may use the next sentence to get/modify the data: (*)

  " assign component of + field-symbols (*)

ENDFORM.                    "f_doit

*&------------------------------------------*

*&      Form  f_show_alv

*&------------------------------------------*

FORM f_show_alv USING p_table_ref TYPEany.

  DATA: lo_alv TYPEREFTO cl_salv_table.

  FIELD-SYMBOLS: <lfs_table>TYPEANYTABLE.

  ASSIGN p_table_ref->* TO<lfs_table>.

  TRY.

      CALLMETHOD cl_salv_table=>factory

        IMPORTING

          r_salv_table = lo_alv

        CHANGING

          t_table     = <lfs_table>.

    CATCH cx_salv_msg.

  ENDTRY.

  lo_alv->display().

ENDFORM.                    "f_show_alv

(*)

FIELD-SYMBOLS: <lfs_field>typeany,

                <lfs_struct>typeany.

* assign ... to <lfs_struct>

ASSIGN COMPONENT 'MATNR'ofSTRUCTURE<lfs_struct>to<lfs_field>.

<lfs_field> = ...

 

Regards,

Luis


Viewing all articles
Browse latest Browse all 8411

Trending Articles