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

Inserting value in runtime internal Table

Former Member
0 Likes
572

Hi Experts,

How can I  insert some values of internal table (this intertable has 8 fileds) to a runtime internal table(it has 6 fields)?

For example:

   TYPES: BEGIN OF ty_final,
       banfn    TYPE eban-banfn,    "Purchase Requisition Number
       bnfpo    TYPE eban-bnfpo,    "Item Number of Purchase Requisition
       bsart    TYPE eban-bsart,    "Purchasing Document Type
       matnr    TYPE eban-matnr,    "Material Number
       menge    TYPE eban-menge,    "Purchase Requisition Quantity
       badat    TYPE eban-badat,    "Requisition (Request) Date
       division TYPE eban-werks,    "Divisional Plant
       dlabst   TYPE mard-labst,    "Divisional Plant Stock
       region   TYPE zmmprt_plant-region,   "Regional Plant
       rlabst   TYPE mard-labst,    "Regional Plant Stock
       END OF ty_final.

data:  gt_final    TYPE STANDARD TABLE OF ty_final,

         gt_ditab   TYPE REF TO data,

         gwa_ditab type ref to data.

   FIELD-SYMBOLS: <gt_ditab>        TYPE  ANY TABLE,
                               <gs_ditab>        TYPE ANY.

        

   CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
*      i_style_table             =
      it_fieldcatalog           = gt_fieldcat
*      i_length_in_byte          =
    IMPORTING
      ep_table                  = gt_ditab
*      e_style_fname             =
    EXCEPTIONS
      generate_subpool_dir_full = 1
      OTHERS                    = 2
          .
  IF sy-subrc <> 0.
  ELSE.
** Assign the dynamic table reference to a field-symbol
    ASSIGN gt_ditab->* TO <gt_ditab>.
    CREATE DATA gwa_ditab_line LIKE LINE OF <gt_ditab>.
    ASSIGN gwa_ditab_line->* TO <gs_ditab>.

    ENDIF.

  LOOP AT gt_final ASSIGNING <gs_final>.
* Now here based on the values of gt_final I want to populate runtime internal table gt_ditab
  ENDLOOP.

or is  there any other way to do it?

Please Suggest.

Thanks in advance,

Suman

3 REPLIES 3
Read only

Venkat_Sesha
Product and Topic Expert
Product and Topic Expert
0 Likes
506

Hi, you know the fields that are there before runtime.. At runtime you got new fields..

Use Case endcase there.. and in When Others part..

Assign the Field to the new dynamic table. This will help I hope..

Read only

0 Likes
506

Hi Venkat,

Please see this code,

   DO gv_var2 TIMES.
    lv_seltext = 'Stock'.
    lv_labst = 'LABST'.
    lv_no  = lv_no  + 1.
    lv_col = lv_col + 1.
    CONCATENATE lv_seltext lv_no INTO lv_seltext.
    CONCATENATE lv_labst   lv_no INTO lv_labst.
    gwa_fieldcat-col_pos = lv_col.
    gwa_fieldcat-seltext = lv_seltext.

    gwa_fieldcat-fieldname = lv_labst.
    gwa_fieldcat-ref_field = 'LABST'.
    gwa_fieldcat-ref_table = 'MARD'.

    APPEND gwa_fieldcat TO gt_fieldcat.
    CLEAR  gwa_fieldcat.
    CLEAR  lv_seltext.
    CLEAR  lv_labst.

Read only

kesavadas_thekkillath
Active Contributor
0 Likes
506

Please read sap help on "ASSIGN COMPONENT" or search for it in SCN