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

table controls

Former Member
0 Likes
412

hello all,

i am a novice in abap. can someone tell me how to display data using table control . <b>i want without wizard</b>.

thanks & regards,

seenu

3 REPLIES 3
Read only

Former Member
0 Likes
381

hi seenu,

this code will helps u,,

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.

<b>reward points if this helps u,</b>

regards,

siva

Message was edited by:

sivakumar palaniswamy

Read only

Former Member
0 Likes
381

hi...

jus go to screen painter,

click lay out.

in that,click on the table control icon.

after placing a table in the lay out,

jus click F6(dictionary or program fields) icon at the top of the lay out page.

then another screen wil appear, where in u can type the table name that u want.

all the fields of that table wil b displayed,which u can select as per ur requirement and finally press enter.

then all ur fields wil b seen at ur table control layout.

Read only

Former Member
0 Likes
381

hi,

check this sample code...

PROGRAM ztrans3.

TABLES: kna1,knbk.

DATA: v_kunnr LIKE kna1-kunnr.

DATA: v_check TYPE c.

DATA: BEGIN OF it_knbk OCCURS 0,

banks LIKE knbk-banks,

bankl LIKE knbk-bankl,

bankn LIKE knbk-bankn,

bkont LIKE knbk-bkont,

koinh LIKE knbk-koinh,

chk TYPE c,

END OF it_knbk.

DATA: v_ucomm TYPE sy-ucomm,

v_dynnr TYPE sy-dynnr.

DATA: l_index TYPE sy-index.

data: count type i.

CONTROLS: tc1 TYPE TABLEVIEW USING SCREEN 0200.

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE status_0100 OUTPUT.

SET PF-STATUS 'ABC'.

  • SET TITLEBAR 'xxx'.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE user_command_0100 INPUT.

v_ucomm = sy-ucomm.

CASE v_ucomm.

WHEN 'DISP' OR 'CHNG'.

IF v_kunnr <> space.

SELECT banks

bankl

bankn

bkont

koinh

FROM knbk

INTO TABLE it_knbk

WHERE kunnr = v_kunnr.

LEAVE TO SCREEN '0200'.

ENDIF.

WHEN 'BACK'.

LEAVE TO SCREEN 0.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module MOD_KUNNR INPUT

&----


  • text

----


MODULE mod_kunnr INPUT.

IF NOT v_kunnr IS INITIAL.

SELECT SINGLE

kunnr

FROM kna1

INTO v_kunnr

WHERE kunnr = v_kunnr.

IF sy-subrc <> 0.

MESSAGE e000(zz) WITH 'INCORRECT CUSTOMER NUMBER'.

ENDIF.

ENDIF.

IF v_kunnr IS INITIAL.

MESSAGE e000(zz) WITH 'PLEASE ENTER A VALUE'.

ENDIF.

ENDMODULE. " MOD_KUNNR INPUT

&----


*& Module modify INPUT

&----


  • text

----


MODULE modify INPUT.

IF v_check = 'X'.

it_knbk-chk = 'X'.

MODIFY it_knbk index tc1-current_line.

ELSE.

CLEAR it_knbk-chk .

ENDIF.

ENDMODULE. " modify INPUT

&----


*& Module USER_COMMAND_0200 INPUT

&----


  • text

----


MODULE user_command_0200 INPUT.

v_ucomm = sy-ucomm.

CASE v_ucomm.

WHEN 'DELE'.

DELETE it_knbk where chk eq 'X'.

DESCRIBE TABLE it_knbk LINES tc1-lines.

WHEN 'INSE'.

CLEAR it_knbk.

APPEND it_knbk.

DESCRIBE TABLE it_knbk LINES tc1-lines.

WHEN 'LIST'.

LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN '0200'.

WRITE 'Report'.

WHEN 'BACK'.

LEAVE TO SCREEN '0100'.

ENDCASE.

ENDMODULE. " USER_COMMAND_0200 INPUT

hope this helps,

do reward if it helps,

priya.