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

Appending lines into dynamic internal table

Former Member
0 Likes
523

Hi all,

I have a dynamic internal table and need to append a new line to the dynamic internal table.

Can anyone help me on this.

Hi all,

I have a dynamic internal table and need to append a new line to the dynamic internal table.

Can anyone help me on this.

3 REPLIES 3
Read only

Former Member
0 Likes
492

Hi Deepak,

This example code may help u

REPORT ZTEST.
PARAMETERS: P_COL1 TYPE I,
P_COL2 TYPE I.
FIELD-SYMBOLS: <FS> TYPE ANY.
DATA: CHECK.


TYPES: BEGIN OF TYP_ITAB,
COL1 TYPE I,
COL2 TYPE I,
COL3 TYPE I,
COL4 TYPE I,
COL5 TYPE I,
COL6 TYPE I,
END OF TYP_ITAB.
DATA: ITAB TYPE TABLE OF TYP_ITAB, WA LIKE LINE OF ITAB.


WA-COL1 = 1.
WA-COL2 = 2.
WA-COL3 = 3.
WA-COL4 = 4.
WA-COL5 = 5.
WA-COL6 = 6.


APPEND WA TO ITAB.
WA-COL1 = 1.
WA-COL2 = 2.
WA-COL3 = 3.
WA-COL4 = 4.
WA-COL5 = 5.
WA-COL6 = 6.


APPEND WA TO ITAB.


DATA: COL1(20),
COL2(20),
CHAR,
CHAR2.
WRITE P_COL1 TO CHAR.
CONCATENATE 'COL' CHAR INTO COL1.
WRITE P_COL2 TO CHAR.
CONCATENATE 'COL' CHAR INTO COL2.
*FIELD-SYMBOLS <F> TYPE ANY.
*ASSIGN (COL1) TO <F>.
DATA: BEGIN OF ITAB1 OCCURS 0,
COL1 TYPE I,
COL2 TYPE I,
END OF ITAB1.
FIELD-SYMBOLS: <FS1> TYPE ANY,
<FS2> TYPE ANY.
DATA: VAR TYPE I.


LOOP AT ITAB ASSIGNING <FS>.




IF SY-TABIX = 1. 
ASSIGN COMPONENT COL1 OF STRUCTURE <FS> TO <FS1>.

ELSE. 
ASSIGN COMPONENT COL2 OF STRUCTURE <FS> TO <FS2>.

ENDIF. 

APPEND <FS1> TO ITAB1. 
MOVE <FS1> TO ITAB1-COL1.
MOVE <FS2> TO ITAB1-COL2.
APPEND ITAB1.

WRITE:/ <FS1>,<FS2>. 
ENDLOOP.

LOOP AT ITAB1.
WRITE:/ ITAB1-COL1, ITAB1-COL2.
ENDLOOP.

Reward points if useful

Read only

Sougata
Active Contributor
0 Likes
492

Hello Deepak,

Please try out the code below:


* Create Dynamic Table
  CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
      it_fieldcatalog = lt_fcat[]
    IMPORTING
      ep_table        = dy_table.
  ASSIGN dy_table->* TO <dyn_table>.
 
* Create Dynamic Work Area and Assign to FS
  CREATE DATA dy_line LIKE LINE OF <dyn_table>.
  ASSIGN dy_line->* TO <dyn_wa>.
 
DATA: FIELDNAME(3) TYPE C.
 
FIELD-SYMBOLS: <FS_FIELD_FROM>, 
               <FS_FIELD_TO>.
 
LOOP AT ITAB.
   DO 3 TIMES.
     WHEN 1. FIELDNAME = 'F1'.
     WHEN 2. FIELDNAME = 'F3'.
     WHEN 3. FIELDNAME = 'F5'.
    ASSIGN COMPONENT FIELDNAME OF STRUCTURE ITAB TO <FS_FIELD_FROM>.
    ASSIGN COMPONENT FIELDNAME OF STRUCTURE <DYN_WA> TO <FS_FIELD_TO>.
    <FS_FIELD_TO> = <FS_FIELD_FROM>.
   ENDDO.
   APPEND  <DYN_WA> TO <dyn_table>.
ENDLOOP.

Hope this answers your question.

Cheers,

Sougata.

Read only

Former Member
0 Likes
492

hi,

Do u want to add a row data in the internal table ?

or u want to add a field to the internal table ?

E.g:

  • Dynamic Internal table

DATA : BEGIN OF int OCCURS 0,

val TYPE char1,

cnt TYPE char2,

dol TYPE i,

END OF int.

For adding data :

int-val = 'A'.

int-cnt = '01'.

int-dol = 10.

APPEND int.

For adding field :

DATA : BEGIN OF int OCCURS 0,

val TYPE char1,

cnt TYPE char2,

dol TYPE i,

new type char4,

END OF int.

revert back if any query ......

reward points if useful