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

problem in Table Control

Former Member
0 Likes
629

Hi friends,

I have created a Table control, when i am trying to insert new rows in table control, its not updating instead it updating empty rows, any one has the solution for this problem ? points will be given for solution

regards and thanks

Vijaya

5 REPLIES 5
Read only

Former Member
0 Likes
579

hi,,

PROCESS BEFORE OUTPUT.

MODULE STATUS_9000.

LOOP AT IT_STR WITH CONTROL TC.

MODULE FILL_MODULE_9OOO.

MODULE ICON_9000.

ENDLOOP.

PROCESS AFTER INPUT.

MODULE CANCEL AT EXIT-COMMAND.

LOOP AT IT_STR.

CHAIN.

FIELD IT_STR-MNO.

FIELD IT_STR-QTY.

MODULE FILL_TABLE_9000 ON CHAIN-REQUEST.

ENDCHAIN.

ENDLOOP.

****************************************************

MODULE FILL_TABLE_9000 ON CHAIN-REQUEST.

DATA : V_LINECOUNT TYPE I, "TO FIND NO OF LINES IN INTERNAL TABLE

V_PAGECOUNT TYPE I, "TO ADD LINES WHEN SCROLLING

V_ABS_LINE TYPE I. "FOR CURRENT LINE

IF SY-DATAR = 'X'. "CLICK IS ON MESSAGE OR IN SCROLL.

DESCRIBE TABLE IT_STR LINES V_LINECOUNT. "TO GET THE NO OF LINES

IF SY-SUBRC = 0.

V_ABS_LINE = TC-TOP_LINE + SY-STEPL - 1. "GETTING THE CURRENT LINE

IF V_ABS_LINE LE V_LINECOUNT. "CHECKING WHEATHER CURRENT LINE IS GT LINECOUNT

MODIFY IT_STR INDEX V_ABS_LINE. "SY-STEPL.

ELSE.

IT_STR-ZINO = V_ABS_LINE.

APPEND IT_STR.

ENDIF.

ENDIF.

*tc-lines = sy-tfill + 1.

V_PAGECOUNT = SY-STEPL DIV SY-LOOPC. "CHECKING WHEATHER TO ADD LINES OR NOT

IF V_PAGECOUNT > 0.

TC-LINES = V_LINECOUNT + SY-LOOPC.

ENDIF.

ENDMODULE.

ENDIF.

-Siva

Read only

Former Member
0 Likes
579

hi,

can u explain somewhat clearly? whats exactly happening..?

Read only

0 Likes
579

Hi Dhwani,

I have created a table control, i am able to display the rows in table control, but when i am trying to insert new rows, then it updating an empty row,

Read only

0 Likes
579

hi...

chk this part

IF SY-DATAR = 'X'. "CLICK IS ON MESSAGE OR IN SCROLL.

DESCRIBE TABLE IT_STR LINES V_LINECOUNT. "TO GET THE NO OF LINES

IF SY-SUBRC = 0.

V_ABS_LINE = TC-TOP_LINE + SY-STEPL - 1. "GETTING THE CURRENT LINE

IF V_ABS_LINE LE V_LINECOUNT. "CHECKING WHEATHER CURRENT LINE IS GT LINECOUNT

MODIFY IT_STR INDEX V_ABS_LINE. "SY-STEPL.

ELSE.

IT_STR-ZINO = V_ABS_LINE.

APPEND IT_STR.

ENDIF.

ENDIF.

-Siva

Read only

Former Member
0 Likes
579

Hi,

Follow the bellow steps to enter new record or modify the existing record also.

1.TOP-INCLUDE

DATA: ITAB LIKE KNA1 OCCURS 0 WITH HEADER LINE,

ITAB1 LIKE KNA1 OCCURS 0 WITH HEADER LINE,

WA LIKE KNA1.

DATA: CNT TYPE I,

CUR TYPE I.

DATA: OK_CODE TYPE SY-UCOMM.

CONTROLS: TABCTRL TYPE TABLEVIEW USING SCREEN 100.

2.Creat screen 100

PROCESS BEFORE OUTPUT.

LOOP AT ITAB CURSOR CUR WITH CONTROL TABCTRL.

ENDLOOP.

  • MODULE STATUS_0100.

*

PROCESS AFTER INPUT.

MODULE CLEAR_DATA.

LOOP AT ITAB.

MODULE MOVE_DATA.

ENDLOOP.

MODULE USER_COMMAND_0100.

3.Click on layout tab from application toolbar

and creat one table control with name "TABCTRL"

and required pushbuttons.

Double click on "CLEAR_DATA".

module CLEAR_DATA input.

CLEAR ITAB1.

REFRESH ITAB1.

endmodule.

come back and Double click on "MODULE MOVE_DATA"

module MOVE_DATA input.

APPEND ITAB TO ITAB1.

endmodule.

COME BACK TO FLOWLOGIC EDITOR

Double click on PAI

module USER_COMMAND_0100 input.

CASE OK_CODE.

WHEN 'FETCH'.

SELECT * FROM KNA1 INTO TABLE ITAB UP TO 20 ROWS.

TABCTRL-LINES = SY-DBCNT.

WHEN 'ADD'.

GET CURSOR LINE CNT.

CNT = TABCTRL-TOP_LINE + CNT - 1.

CLEAR WA.

INSERT WA INTO ITAB INDEX CNT.

WHEN 'MODIFY'.

GET CURSOR LINE CNT.

READ TABLE ITAB1 INDEX CNT.

LOOP AT ITAB1.

MODIFY KNA1 FROM ITAB1.

ENDLOOP.

SELECT * FROM KNA1 INTO TABLE ITAB.

WHEN 'DELETE'.

GET CURSOR LINE CNT.

LOOP AT ITAB1.

DELETE ITAB1 INDEX CNT.

MODIFY KNA1 FROM ITAB1.

ENDLOOP.

SELECT * FROM KNA1 INTO TABLE ITAB.

WHEN 'EXIT'.

LEAVE PROGRAM.

ENDCASE.

endmodule. " USER_COMMAND_0100 INPUT

creat tcode and execute it.

First click on FETCH later place the cursor in required position where u want to creat new record.

Click on "ADD" ,then enter the record data and click on

"MODIFY",it will insert record and displays the new information.

Reward,if it is useful.

Regards,

Chandu.