Application Development 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: 

Error in Inserting new line in table control at selected position

former_member554223
Participant
0 Kudos

Hello Abapers

I have been using Insert Code for adding a new line

I replaced P_TC_NAME with my Table Control name and P_TABLE_NAME with my Internal Table

FORM fcode_insert_row
USING TC_TAB01
ITAB1 .

*&SPWIZARD: BEGIN OF LOCAL DATA----------------------------------------*
DATA L_LINES_NAME LIKE FELD-NAME.
DATA L_SELLINE LIKE SY-STEPL.
DATA L_LASTLINE TYPE I.
DATA L_LINE TYPE I.
DATA L_TABLE_NAME LIKE FELD-NAME.
FIELD-SYMBOLS <TC> TYPE CXTAB_CONTROL.
FIELD-SYMBOLS <TABLE> TYPE STANDARD TABLE.
FIELD-SYMBOLS <LINES> TYPE I.
*&SPWIZARD: END OF LOCAL DATA------------------------------------------*

ASSIGN (TC_TAB01) TO <TC>.

*&SPWIZARD: get the table, which belongs to the tc *
CONCATENATE ITAB1 '[]' INTO L_TABLE_NAME. "table body
ASSIGN (L_TABLE_NAME) TO <TABLE>. "not headerline

*&SPWIZARD: get looplines of TableControl *
CONCATENATE 'G_' TC_TAB01'_LINES' INTO L_LINES_NAME.
ASSIGN (L_LINES_NAME) TO <LINES>.

*&SPWIZARD: get current line *
GET CURSOR LINE L_SELLINE.
IF SY-SUBRC <> 0. " append line to table
L_SELLINE = <TC>-LINES + 1.
*&SPWIZARD: set top line *
IF L_SELLINE > <LINES>.
<TC>-TOP_LINE = L_SELLINE - <LINES> + 1 .
ELSE.
<TC>-TOP_LINE = 1.
ENDIF.
ELSE. " insert line into table
L_SELLINE = <TC>-TOP_LINE + L_SELLINE - 1.
L_LASTLINE = <TC>-TOP_LINE + <LINES> - 1.
ENDIF.
*&SPWIZARD: set new cursor line *
L_LINE = L_SELLINE - <TC>-TOP_LINE + 1.

*&SPWIZARD: insert initial line *
INSERT INITIAL LINE INTO <TABLE> INDEX L_SELLINE.
<TC>-LINES = <TC>-LINES + 1.
*&SPWIZARD: set cursor *
SET CURSOR LINE L_LINE.

ENDFORM. " FCODE_INSERT_ROW

But I am getting error at this line

ASSIGN (TC_TAB01) TO <TC>.

"Assign (f1) to f2" only character type data objects are supported at argument position "f1"

In this case operand "f1" has the non-character-type type "CX_TABLEVIEW".

Can anybody tell what mistake I am doing in this code?

1 REPLY 1

Sandra_Rossi
Active Contributor
0 Kudos

Please show your code for "I replaced P_TC_NAME with my Table Control name and P_TABLE_NAME with my Internal Table" and PERFORM fcode_insert_row