Skip to Content
author's profile photo Former Member
Former Member

find button functionality for a table control

Hi ,

How to provide 'FIND' button functinality for table control.

thanks .

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

6 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Jun 18, 2008 at 09:39 AM

    hi,

    when user press find button , one screen get call and i enter search term in that and then it finds the row with same string...

    if u want so then do like this

    MODULE user_command_1000 INPUT.

    CASE sy-ucomm.

    WHEN 'BACK' OR 'UP' OR 'CANC'.

    LEAVE PROGRAM.

    WHEN 'FND'.

    CALL SCREEN 1001 STARTING AT 37 5 ENDING AT 87 22.

    ENDCASE.

    ENDMODULE. " user_command_1000 INPUT

    when user enters search term u need to call ur main screen

    MODULE user_command_1001 INPUT.

    CASE sy-ucomm.

    WHEN 'OK'.

    CALL SCREEN 1000.

    ENDCASE.

    ENDMODULE. " USER_COMMAND_1001 INPUT

    now u will have on module in PBO in which u fetching data...

    write this in that module..

    MODULE fetch_data OUTPUT.

    SELECT matnr matkl INTO CORRESPONDING FIELDS OF TABLE itab

    FROM mara

    WHERE matnr BETWEEN '000000000000000101' AND '000000000000000115'.

    IF strin IS NOT INITIAL.

    wa_itab-mark = 'X'.

    LOOP AT itab.

    IF itab-matnr = strin.

    line1 = sy-tabix.

    EXIT.

    ENDIF.

    ENDLOOP.

    IF line1 0.

    MODIFY itab INDEX line1 FROM wa_itab TRANSPORTING mark.

    SET CURSOR LINE line1.

    tab1-top_line = line1.

    ENDIF.

    ENDIF.

    ENDMODULE. " fetch_data OUTPUT

    strin is variable of screen 1001 in which i give search term..

    reward if usefull.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jun 18, 2008 at 09:39 AM

    suggession:

    try to use alv grid insted of table control.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jun 18, 2008 at 09:42 AM

    Hi,

    The fun module TABLE_GET_KEY_TO_SET_CUR_ROW is called for the Function position to find the correct Row .

    Means suppose in you table control you have lot of records .To find particular and select that this Fm is useful..

    EX:

    1) add a button say search box .

    2) when user clicks on this button show

    dialog box with enter key field No:

    3) when user enter box no search table control

    intternal table and if found

    set tc1-current_line = sy-tabix of record found.

    DATA : ata: h_table_key(20) type c.

    'V_TQ85 is internal table.

    call function 'TABLE_GET_KEY_TO_SET_CUR_ROW'

    EXPORTING

    table = 'V_TQ85'

    IMPORTING

    table_key = h_table_key

    EXCEPTIONS

    cancelled_by_user = 1

    table_not_found = 2

    others = 3.

    Help children of U.N World Food Program by rewarding them and encourage others to answer your queries

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jun 18, 2008 at 09:43 AM
    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jun 18, 2008 at 09:54 AM

    Thanks points rewarded

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jun 18, 2008 at 10:11 AM

    hi shah ,

    The set cursor is not wroking , the value is geting displayed based on the top line index .

    Eg . if have ten lines in table control that are displayed i.e sy-loopc .

    if iam searching for say '9' , which is present in the 9th line . then i can see 9 at the top line and again 9 after 8 lines .

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.