Regarding table controls

Hi experts,
please claer my doubts the below
1.what is a tableview?
2.how to capture a new record in table control?
3. what is a custom control?
and please let me know how to reward.
Thanks in advance
Regards
Ranga

Hi srinivas,
1.
   for table view plese refer to the thread:
   <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/collaboration">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/collaboration</a>
2. to capture a new record in table control write this code in pai
LOOP AT itab.
    MODULE modify_itab.
  ENDLOOP.
in the module modify_itab write the foolowing line
MODIFY itab INDEX tabcontrol-current_line.
this will pick all the values of table control into internal table itab.
3. for custom control refer to folloing link.
<a href="http://help.sap.com/saphelp_nw04/helpdata/en/86/2d61d859c711d29bd90000e8a47b2e/frameset.htm">http://help.sap.com/saphelp_nw04/helpdata/en/86/2d61d859c711d29bd90000e8a47b2e/frameset.htm</a>
Hope it helps
And if you want to reward points  mark this thread as 'Problem Solved' or with appropriate points on the side of ur post.
Regards
Gaurav
reward points accordingly.

Similar Messages

  • Help regarding 'table controls' and 'internal table' updation

    Hi all.
    Basically this is what i have done..... I have created a table control in module pool program. I declared an Internal table and also have populated it from a database table. I have also used insert statement to insert an blank record in the table control view and delete statements to delete any record,  also in the table control view... .
    But I am not able to update any new record into an Internal table or  the  original table ..
    Any Ideas how to do it ,Gurus
    Thanks

    HEllo,
    Check thsi simple report.
    REPORT ZTFH_TABLECONTROL .
    TABLES : ZEMPTABLE.
    DATA : SELLINE .
    DATA : FLD(20).
    DATA : LINNO TYPE I , OFF TYPE I.
    DATA : ITAB LIKE ZEMPTABLE OCCURS 10 WITH HEADER LINE.
    CONTROLS  : CON_TAB TYPE TABLEVIEW USING SCREEN 100.
    SELECT * FROM ZEMPTABLE INTO TABLE ITAB.
    DESCRIBE TABLE ITAB LINES CON_TAB-LINES.
    CALL SCREEN 100.
    *&      Module  EXT_COMM  INPUT
    *       text
    MODULE EXT_COMM INPUT.
    LEAVE PROGRAM.
    ENDMODULE.                 " EXT_COMM  INPUT
    *&      Module  TAB_UPDATE  INPUT
    *       text
    MODULE TAB_UPDATE INPUT.
    CASE SY-UCOMM.
    WHEN 'DEL'.
          IF SELLINE = 'X'.
            DELETE ITAB WHERE EMPNO = ITAB-EMPNO.
            MESSAGE I000(ZYF_DEL).
          ENDIF.
    WHEN 'UPD'.
        IF SELLINE = 'X'.
             MODIFY ITAB INDEX CON_TAB-CURRENT_LINE.
             MESSAGE I001(ZYF_DEL).
        ENDIF.
    WHEN 'INS'.
         IF SELLINE = 'X'.
          GET CURSOR FIELD FLD LINE LINNO OFFSET OFF.
          SET CURSOR FIELD FLD LINE LINNO OFFSET OFF.
          IF FLD CP 'ITAB*' AND SY-SUBRC = 0.
            IF LINNO >= 1.
              LINNO = LINNO + CON_TAB-TOP_LINE - 1.
              CLEAR ITAB.
              INSERT ITAB INDEX LINNO.
              CON_TAB-LINES = CON_TAB-LINES + 1.
            ELSE.
              CLEAR ITAB.
              APPEND ITAB.
              CON_TAB-LINES = CON_TAB-LINES + 1.
            ENDIF.
          ENDIF.
        ENDIF.
    WHEN 'SAV'.
      MODIFY ITAB INDEX CON_TAB-CURRENT_LINE.
      MESSAGE I002(ZYF_DEL).
    ENDCASE.
    ENDMODULE.                 " TAB_UPDATE  INPUT
    “ FLOW LOGIC
    PROCESS BEFORE OUTPUT.
    MODULE STATUS_0100.
    LOOP AT ITAB WITH CONTROL CON_TAB.
    ENDLOOP.
    PROCESS AFTER INPUT.
    MODULE USER_COMMAND_0100.
    MODULE EXT_COMM AT EXIT-COMMAND.
    LOOP AT ITAB.
    MODULE TAB_UPDATE.
    ENDLOOP.     
    REgards,
    Vasanth

  • Regarding Table controls dialog programming

    Hello Experts-
    I have a requirement in which I need to identity the record selected on the table control.This is similar to At line slection.Can anyone help me out.Thanks in advance.
    With regards,
    Swarna..

    Hi Swarna,
    Make   use of  CRIT_TABCNTRL-current_line to get the current line of the table control where  CRIT_TABCNTRL is table control name.
    Have A Good Day
    Chaitanya.

  • Regarding table control handling in BDC

    Hi,
    how to Handle table control in BDC ,how to handle resolution of table control in BDC?
    Pls send urgently

    Hi,
    chk this excellent link.
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    Regards
    Anver
    if helped pls mark points

  • Regarding Table Control

    Hi all,
    i want to give a color to a particular column in table control how i can achieve this? currently am using textbox for  table control heading display is there any way to achieve this scenario, kindly help me regarding this scenario.

    You can just highlight it. No provision to set background color.
    To highlight the field, you can follow this steps:
    Open your table control in screen painter..
    Double click on the field on which you want to make highlight.
    This will bring you a popup screen for properties.
    Select Display tab in the Attributes frame.
    Check the BRIGHT checkbox on .
    Regards,
    Naimesh Patel

  • Regarding Table Control in screen Painter

    hi,
      In my table control, one column is aceepting the UV Rate of the Material. But that particular column did not accept the Decimal Value . when i enter the decimal,
    'Please enter the Numeric value' error is coming.
      I am declared as Curr Data type for my table zuvrate-dmbtr.
       how can i enter decimal value in that column?

    Neptune,
    Lets start from the beginning -
    Your custom table has a field called DMBTR (domain WERT7). The reference value for this field is T001-WAERS.
    Hope its correct so far.
    In the table control, your field DMBTR is called <customtablename>-DMBTR.
    In the screen attributes of this field, you have the 'From Dict' ticked, Format is CURR and the reference field is specified. Correct?
    If this is the case then the table control should not throw any errors, do let me know if there is any change.
    Update: I just figured, probably the reason for your errors is that you have not used the domain in your custom table and have specified the CURR type as a direct type. The problem with this is that 2 decimal places will always be required by the system. Whereas if you use the data element (eg: DMBTR), the output length is 16, which would work fine.
    Sudha
    Message was edited by: Sudha Mohan

  • Regarding table control in BDC

    Hi,
    How can we handle table control in BDC,If i have the transaction like
    1>having scroll bar
    2>having InsertButton for the tablle control
    3>Even though if we have scroll bar or Insert button(+) , is there any limit for the number of rows in table control
    or can we insert as many records as we want?
       If there is limit how can we identify ,what is the limit of table control.
    4>How can we know for table control ,how many records are inserted for each scroll down or Insert button.
       i think it varies accroding to the resolution.How can we handle this
    Thanks

    Hi Rama Krishna,
    While recording the scroll bar will not be recorded.
    There is no limit for the number of records,depends on configuration
    say suppose the visible lines are 16 then after pressing the new-page then again 16 lines will be available which includes one of the previous lines.
    the logic can be as
    loop at it_tab.(say 100 records are there)
    steps to be executed for table control.
    I hope u know hw to capture the line no into v_no.
    if v_no = 16.(visible lines)
    step for new-page.
    endif,
    endloop.
    Example :
       IF V_COUNT = '13'.                                   "Counter reached visible lines
                PERFORM BDC_FIELD       USING 'BDC_OKCODE'           " For New Document Number
                                               '=FDPE'.
                V_COUNT = 1.
    Hope this will be helpful.

  • Calrify this regarding table control?

    hi,
      while dealing with table control we must create global structure for that table control or we define structure using types or is there any other way of defining the table control structure.
    ex:
    *& Include ZSS_TABTOP                                        Module Pool      ZSS_TABSTRIP
    PROGRAM  ZSS_TABSTRIP.
    CONTROLS: ZSUB1 TYPE TABLEVIEW USING SCREEN '2441',
              SUB2  TYPE TABLEVIEW USING SCREEN '2442',
              TABLE_TABSTRIP TYPE TABLEVIEW USING SCREEN '2444',
              ZSS_TABSTRIP   TYPE TABSTRIP.
    TYPES: BEGIN OF S_VBAK,
           VBELN  TYPE VBAK-VBELN,
           ERDAT  TYPE VBAK-ERDAT,
           ERZET  TYPE VBAK-ERZET,
           ERNAM  TYPE VBAK-ERNAM,
           AUDAT  TYPE VBAK-AUDAT,
           VBTYP  TYPE VBAK-VBTYP,
           NETWR  TYPE VBAK-NETWR,
           WAERK  TYPE VBAK-WAERK,
           END OF S_VBAK.
    TYPES: BEGIN OF S_VBAP,
           VBELN  TYPE  VBAP-VBELN,
           POSNR  TYPE  VBAP-POSNR,
           MATNR  TYPE  VBAP-MATNR,
           NETWR  TYPE  VBAP-NETWR,
           WAERK  TYPE  VBAP-WAERK,
           NTGEW  TYPE  VBAP-NTGEW,
           GEWEI  TYPE  VBAP-GEWEI,
           ERDAT  TYPE  VBAP-ERDAT,
           ERNAM  TYPE  VBAP-ERNAM,
           NETPR  TYPE  VBAP-NETPR,
           KPEIN  TYPE  VBAP-KPEIN,
           END OF S_VBAP.
    DATA: I_VBAK TYPE TABLE OF  S_VBAK,
          I_VBAP TYPE TABLE OF  S_VBAP,
          W_VBAK TYPE S_VBAK,
          W_VBAP TYPE S_VBAP,
          OK_CODE TYPE SY-UCOMM,
          G_LINES TYPE I,
          H_LINES TYPE I.
    I WANT TO DISPLAY THESE INTERNAL TABLE DATA IN TABLE PLZ PROVIDE FURTER CODE

    Hi,
    TABLE CONTROL
    These are the screen elements used to display tabular data they can be called
    as screen tables( like STEP LOOP).To use table control we have to create it on the screen using SCREEN PAINTER(SE51) and declare a control variable of TYPE TABLEVIEW using CONTROLS statement in the ABAP program. We have to use LOOP .. ENDLOOP statement in both PBO and PAI with or without AT int_table parameter. IF AT int_table parameter is not used than we have to place a MODULE call between the LOOP...ENDLOOP statement to fill the screen table rows from the ABAP program in PBO and program our own scrolling functions
    using OK_CODE field.
    Having a parallel loop(at screen table rows & int table rows) by using parameter
    AT int_table makes the ABAP code simple.
    A special structure of type CXTAB_CONTROL is used to set/get various
    attributes of table control at runtime like CURRENT_LINE ,TOP_LINE.
    ABAP declaration
    CONTROLS: tab_con TYPE TABLEVIEW  USING SCREEN nnnn
      Here tab_con is the same name we used in screen for the table control.
    This ABAP statement will declare a control variable that will be used to access
    the table control ,  and set it's various attributes like number of fixed columns(tab_con-FIXED_COLS) ,total number of records it will display(tab_con-LINES).It is of type CXTAB_CONTROL and is a deep structure(structure containing structures).
    REFRESH CONTROL  tab_con FROM SCREEN nnnn
    This ABAP statement will initialize the table control on the screen nnnn to its initial values.
    PBO processing
    In PBO we have to use the screen LOOP ...ENDLOOP statement , with or without
    intenal table.
       LOOP WITH  CONTROL tab_con.
       MODULE fill_tab_con.
       ENDLOOP.
    Here a module should be called between the loop endloop statement to transfer
    data from th ABAP program to the screen table through a structure.This module
    should use the CURRENT_LINE attribute of the table control variable to get the
    current screen table record index to read the data from the internal table into a work area.
    e.g.
    READ TABLE int_table INDEX tab_con-CURRENT_LINE
    The record read will be placed in the header line of the internal table and will be available to the similarly named  screen fields or if these are different it can be written explicitly. e.g.
    screen_field_name = int_table-field_name
       LOOP AT int_table INTO workarea WITH CONTROL tab_con CURSOR i FROM 
       n1 TO n2.
       ENDLOOP.
    Here the module call is not required to fill the screen table.The CURSOR parameter is a integer of type I indicating which absolute internal table line
    should be the first to display on the table control .FROM n1 TO n2 can be used
    to restrict the starting line and ending line number of the internal table , they are of type SY-TABIX.
    In both cases before the LOOP statement a module should be called which
    is generally for setting of status ,in which we should fill the LINES attribute
    (tab_con-LINES ) of the control with the total number of internal table records,doing this ensures correct and automatic scrolling.
    The ABAP statement DESCRIBE TABLE int_table LINES lines can be used
    to get the total lines in an int table.
    PAI Processing
    We have to use LOOP ... ENDLOOP in PAI so that data can transfer fro table control to ABAP program. If we want to write changes to the data we should
    call a module between the LOOP ... ENDLOOP. The MODULE call to process user commands (SY-UCOM) should be called after the ENDLOOP statement.
    e.g.
    PROCESS AFTER INPUT
    MODULE mod AT EXIT-COMMAND.
    LOOP AT itab_table   or LOOP "depending on whether we are using AT int_table
    MODULE modify_int_table.
    ENDLOOP.
    MODULE user_command.
    In the MODULE call modify_int_table we can use
    MODIFY int_table FROM workarea INDEX tab_con-CURRENT_LINE
    or we can use
    int_table-field_name = screen_field_name.
    The steps to create a table control is given in this link.
    http://members.aol.com/skarkada/sap/table_control/table_control.htm

  • Regarding TABLE CONTROL IN MODULE POOL

    Hi all,
         I have implemented a table control in a custom transaction . In the PBO of the code I have moved the internal table data to the  screen fields similarly in the PAI of the screen I have moved the screen data to the interanal table and iam modifying the internal table every thing is working fine till here but when I press the down arrow of the vertical scroll bar of the table control then the line item which the user has changed recently on the screen is overwriting the remaining records of the internal table and as a result the tablecontrol lines on the screen are also being overwritten by that record please help me in resolving this issue.....is there any solution to handle the scroll bar and as well the cursor position .

    Hi,
    For the vertical scrool bar F.code is space..
    so In pai of ur screen..
    If sy-ucomm = ' '  or sy-ucomm = 'ENTER'.
      modify it_data index tc-current_line.( so what evr u enter in the Table        control ,correponding changes will be captured to ur internal table)
    endif.
    I hope this works for ur situation..

  • BDC programming and table controls selColumns

    Hello,
    I have a small question regarding BDC programming. I am already quite familiar with the process in creating one but I have one question regarding table control and its selColumns.
    Transactions like pa40 would require its users to select one of the rows in the table controls via SelColumns. My questions is how would you simulate this using BDC.
    Thanks people and take care.

    Hai Chad Cheng
    report Z_TAB_CONTRL_01
           no standard page heading line-size 255.
    data : begin of it_kna1 occurs 0,
           kunnr like RF02D-KUNNR,
           D0130 like RF02D-D0130,
           end of it_kna1.
    data : begin of it_kna2 occurs 0,
           kunnr like RF02D-KUNNR,
           BANKS like KNBK-BANKS,
           BANKL like KNBK-BANKL,
           BANKN like KNBK-BANKN,
           koinh like KNBK-koinh,
           end of it_kna2.
    data : V_Count(2) type n.
    data : V_Val(15).
    include bdcrecx1.
    start-of-selection.
      perform Get_Data1.
      perform Get_Data2.
    perform open_group.
    loop at it_kna1.
    V_Count = '04'.
    perform bdc_dynpro      using 'SAPMF02D' '0106'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RF02D-D0130'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RF02D-KUNNR'
                                  '10002103'.
    perform bdc_field       using 'RF02D-D0130'
                                  'X'.
    perform bdc_dynpro      using 'SAPMF02D' '0130'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=P+'.
    perform bdc_dynpro      using 'SAPMF02D' '0130'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=P+'.
    perform bdc_dynpro      using 'SAPMF02D' '0130'.
    loop at it_kna2 where kunnr = it_kna1-kunnr.
    if v_count = '10'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=P+'.
    perform bdc_dynpro      using 'SAPMF02D' '0130'.
    v_count = '00'.
    endif.
    V_Count = V_Count + 1.
    concatenate 'KNBK-KOINH(' V_Count ')' into V_Val.
    perform bdc_field       using 'BDC_CURSOR'
                                   'KNBK-KOINH(09)'.
    concatenate 'KNBK-BANKS(' V_Count ')' into V_Val.
    perform bdc_field       using V_Val
                                  it_kna2-BANKS.
    concatenate 'KNBK-BANKL(' V_Count ')' into V_Val.
    perform bdc_field       using V_Val
                                  it_kna2-BANKL.
    concatenate 'KNBK-BANKN(' V_Count ')' into V_Val.
    perform bdc_field       using V_Val
                                  it_kna2-BANKN.
    concatenate 'KNBK-KOINH(' V_Count ')' into V_Val.
    perform bdc_field       using V_Val
                                  it_kna2-KOINH.
    endloop.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=UPDA'.
    perform bdc_transaction using 'FD02'.
    clear : it_kna1,it_kna2.
    endloop.
    perform close_group.
    *&      Form  Get_Data1
          text
    -->  p1        text
    <--  p2        text
    FORM Get_Data1 .
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      CODEPAGE                      = ' '
       FILENAME                      = 'C:\tab_contl.txt'
       FILETYPE                      = 'ASC'
      ITEM                          = ' '
      FILEMASK_MASK                 = ' '
      FILEMASK_TEXT                 = ' '
      FILETYPE_NO_CHANGE            = ' '
      FILEMASK_ALL                  = ' '
      FILETYPE_NO_SHOW              = ' '
      LINE_EXIT                     = ' '
      USER_FORM                     = ' '
      USER_PROG                     = ' '
      SILENT                        = 'S'
    IMPORTING
      FILESIZE                      =
      CANCEL                        =
      ACT_FILENAME                  =
      ACT_FILETYPE                  =
      TABLES
        DATA_TAB                      = it_kna1
    EXCEPTIONS
      CONVERSION_ERROR              = 1
      INVALID_TABLE_WIDTH           = 2
      INVALID_TYPE                  = 3
      NO_BATCH                      = 4
      UNKNOWN_ERROR                 = 5
      GUI_REFUSE_FILETRANSFER       = 6
      OTHERS                        = 7
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM.                    " Get_Data1
    *&      Form  Get_Data2
          text
    -->  p1        text
    <--  p2        text
    FORM Get_Data2 .
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      CODEPAGE                      = ' '
       FILENAME                      = 'C:\tab_cont1.txt'
       FILETYPE                      = 'ASC'
      ITEM                          = ' '
      FILEMASK_MASK                 = ' '
      FILEMASK_TEXT                 = ' '
      FILETYPE_NO_CHANGE            = ' '
      FILEMASK_ALL                  = ' '
      FILETYPE_NO_SHOW              = ' '
      LINE_EXIT                     = ' '
      USER_FORM                     = ' '
      USER_PROG                     = ' '
      SILENT                        = 'S'
    IMPORTING
      FILESIZE                      =
      CANCEL                        =
      ACT_FILENAME                  =
      ACT_FILETYPE                  =
      TABLES
        DATA_TAB                      = it_kna2
    EXCEPTIONS
      CONVERSION_ERROR              = 1
      INVALID_TABLE_WIDTH           = 2
      INVALID_TYPE                  = 3
      NO_BATCH                      = 4
      UNKNOWN_ERROR                 = 5
      GUI_REFUSE_FILETRANSFER       = 6
      OTHERS                        = 7
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM.                    " Get_Data2
    Thanks & regards
    Sreenivasulu P

  • Table control resolution in BDC

    Hi
    All
    I have one doubt regarding table control resolution in BDC .I know how to handle table control like if i have 5 rows in my TABLE CONTROL.I write the logic according to this rows and if more than 5 rows are there in my flat file i extend the atble control.But this logic will fail in some other system if more than 5 rows are there in that syatem. But I have read from  some where that we can use ctu_params structure and if we pass default size as 'x' then it automatically take cares in every sysem.But my doubt is while writing the code initially how can  we write ie i mean how many rows i have to mention initially in my logic .
    Please tell me the answer to this question if you have already face this type of problem.
    Thanks and regards
    Venkateswar

    Hi,
    The numeber of lines of table control for BDC depend on screen resolution, but It can't be managed by program.
    So the better solution is to create a bdc doesn't depend on resolution.
    It can do that using always the first two lines of table control.
    When you start the simulation, first record has to be placed in first line of tc and the second in second one.
    Before placing the third record, it needs to place the second record to the top and so the third record can be placed in the second line.
    Before placing the next record, it needs to place the third record to the top and so the fourth record can be placed in the second line and so.
    In this way your BDC'll use alwways the first two lines of tc and your program won't depend on resolution.
    The problem is the transaction you need to simulate by BDC has to have a scroll functionality to allow to place the last record was elaborated to the top of tc, so the second line of tc can always be used to place the new record.
    If there isn't this functionality, it's better to use a BAPI instead of BDC.
    check these...
    http://www.abaplearning.com/index.php?option=com_fireboard&Itemid=2&func=view&id=11&catid=8
    BDC - standard screen resolution required?
    https://forums.sdn.sap.com/click.jspa?searchID=739193&messageID=823953
    Regards,
    Omkaram.

  • Problem with Table control in BDC

    Hi Experts,
    I have dought regarding Table control i.e How to handle Table control in BDC? i need explanation for handling TC and senario for using T C in BDC?
      regards,
    Sudha.

    Hello,
    This is the bdc to update the XK01 transaction code (Vendor Creation).
    Here we will use table controls for bankings. Here Iam sending the coding and text files.
    Coding
    REPORT zprataptable2
           NO STANDARD PAGE HEADING LINE-SIZE 255.
    DATA : BEGIN OF itab OCCURS 0,
            i1 TYPE i,
            lifnr LIKE   rf02k-lifnr,
            bukrs LIKE   rf02k-bukrs,
            ekorg LIKE   rf02k-ekorg,
            ktokk LIKE   rf02k-ktokk,
            anred LIKE lfa1-anred,
            name1 LIKE lfa1-name1,
            sortl LIKE lfa1-sortl,
            land1 LIKE lfa1-land1,
            akont LIKE lfb1-akont,
            fdgrv LIKE lfb1-fdgrv,
             waers LIKE lfm1-waers,
            END OF itab.
    DATA : BEGIN OF jtab OCCURS 0,
            j1 TYPE i,
            banks LIKE lfbk-banks,
            bankl LIKE lfbk-bankl,
            bankn LIKE lfbk-bankn,
             END OF jtab.
    DATA : cnt(4) TYPE n.
    DATA : fdt(20) TYPE c.
    DATA : c TYPE i.
    INCLUDE bdcrecx1.
    START-OF-SELECTION.
      CALL FUNCTION 'WS_UPLOAD'
        EXPORTING
          filename = 'C:\first1.txt'
          filetype = 'DAT'
        TABLES
          data_tab = itab.
      CALL FUNCTION 'WS_UPLOAD'
       EXPORTING
         filename                      = 'C:\second.txt'
         filetype                      = 'DAT'
        TABLES
          data_tab                      = jtab.
      LOOP AT itab.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0100'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RF02K-KTOKK'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'RF02K-LIFNR'
                                      itab-lifnr.
        PERFORM bdc_field       USING 'RF02K-BUKRS'
                                      itab-bukrs.
        PERFORM bdc_field       USING 'RF02K-EKORG'
                                       itab-ekorg.
        PERFORM bdc_field       USING 'RF02K-KTOKK'
                                       itab-ktokk.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0110'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFA1-LAND1'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'LFA1-ANRED'
                                      itab-anred.
        PERFORM bdc_field       USING 'LFA1-NAME1'
                                      itab-name1.
        PERFORM bdc_field       USING 'LFA1-SORTL'
                                      itab-sortl.
        PERFORM bdc_field       USING 'LFA1-LAND1'
                                      itab-land1.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0120'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFA1-KUNNR'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFBK-BANKN(01)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTR'.
        cnt = 0.
        LOOP AT jtab WHERE j1 = itab-i1.
          cnt = cnt + 1.
          CONCATENATE 'LFBK-BANKS(' cnt ')' INTO fdt.
          PERFORM bdc_field  USING fdt jtab-banks.
          CONCATENATE 'LFBK-BANKL(' cnt ')' INTO fdt.
          PERFORM bdc_field USING fdt jtab-bankl.
          CONCATENATE 'LFBK-BANKN(' cnt ')' INTO fdt.
          PERFORM bdc_field   USING fdt jtab-bankn.
          IF cnt = 5.
            cnt = 0.
            PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'LFBK-BANKS(01)'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '=P+'.
            PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.
            PERFORM bdc_field       USING 'BDC_CURSOR'
                                          'LFBK-BANKN(02)'.
            PERFORM bdc_field       USING 'BDC_OKCODE'
                                          '=ENTR'.
          ENDIF.
        ENDLOOP.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0130'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFBK-BANKS(01)'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTR'.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0210'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFB1-FDGRV'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'LFB1-AKONT'
                                      itab-akont.
        PERFORM bdc_field       USING 'LFB1-FDGRV'
                                      itab-fdgrv.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0215'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFB1-ZTERM'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0220'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFB5-MAHNA'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0310'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'LFM1-WAERS'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '/00'.
        PERFORM bdc_field       USING 'LFM1-WAERS'
                                      itab-waers.
        PERFORM bdc_dynpro      USING 'SAPMF02K' '0320'.
        PERFORM bdc_field       USING 'BDC_CURSOR'
                                      'RF02K-LIFNR'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=ENTR'.
        PERFORM bdc_dynpro      USING 'SAPLSPO1' '0300'.
        PERFORM bdc_field       USING 'BDC_OKCODE'
                                      '=YES'.
        PERFORM bdc_transaction USING 'XK01'.
      ENDLOOP.
      PERFORM close_group.
    Intial screen data file.
    1     63190      0001     0001     0001     mr     bal188     b     in     31000     a1     inr
    2     63191      0001     0001     0001     mr     bal189     b     in     31000     a1     inr
    Table control Data:
    1     in     sb     11000
    1     in     sb     12000
    1     in     sb     13000
    1     in     sb     14000
    1     in     sb     15000
    1     in     sb     16000
    1     in     sb     17000
    1     in     sb     18000
    1     in     sb     19000
    1     in     sb     20000
    1     in     sb     21000
    1     in     sb     22000
    2     in     sb     21000
    2     in     sb     22000
    Thanks,
    Vasanth

  • Regarding page down in the table control veritcally

    Hi all,
              I have an issue regarding page down in the Table control in module pool , i.e when i m click the vertical scroll bar and going for page down then , the control is flowing to the next sceen which is not needed , and it shuld just scroll down and up vetically.
    Can anyone help me how to handle the page down event ?
    Thanks & regards,
    satya

    Table Controls: Examples with Scrolling
    The following example processes a table control with LOOP without parallel loop using an internal table. In addition to the scroll bar, the user can also carry out program-controlled scrolling with function codes.
    REPORT demo_dynpro_tabcont_loop.
    CONTROLS flights TYPE TABLEVIEW USING SCREEN 100.
    DATA: ok_code TYPE sy-ucomm,
          save_ok TYPE sy-ucomm.
    DATA: itab TYPE TABLE OF demo_conn,
          fill TYPE i.
          TABLES demo_conn.
    DATA: lines TYPE i,
          limit TYPE i.
    SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE itab.
    CALL SCREEN 100.
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'SCREEN_100'.
      DESCRIBE TABLE itab LINES fill.
      flights-lines = fill.
    ENDMODULE.
    MODULE fill_table_control OUTPUT.
      READ TABLE itab INTO demo_conn INDEX flights-current_line.
    ENDMODULE.
    MODULE cancel INPUT.
      LEAVE PROGRAM.
    ENDMODULE.
    MODULE read_table_control INPUT.
      lines = sy-loopc.
      MODIFY itab FROM demo_conn INDEX flights-current_line.
    ENDMODULE.
    MODULE user_command_0100 INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      CASE save_ok.
        WHEN 'NEXT_LINE'.
          flights-top_line = flights-top_line + 1.
          limit = fill - lines + 1.
          IF flights-top_line > limit.
            flights-top_line = limit.
          ENDIF.
        WHEN 'PREV_LINE'.
          flights-top_line = flights-top_line - 1.
          IF flights-top_line < 0.
            flights-top_line = 0.
          ENDIF.
        WHEN 'NEXT_PAGE'.
          flights-top_line = flights-top_line + lines.
          limit = fill - lines + 1.
          IF flights-top_line > limit.
            flights-top_line = limit.
          ENDIF.
        WHEN 'PREV_PAGE'.
          flights-top_line = flights-top_line - lines.
          IF flights-top_line < 0.
            flights-top_line = 0.
          ENDIF.
        WHEN 'LAST_PAGE'.
          flights-top_line =  fill - lines + 1.
        WHEN 'FIRST_PAGE'.
          flights-top_line = 0.
      ENDCASE.
    ENDMODULE.
    The layout of screen 100 is:
    A resizable table control called FLIGHTS is defined. The fields of the table control are transferred from the structure DEMO_CONN in the ABAP Dictionary. The first two columns are lead columns. The corresponding fields are output fields. A title bar, column headers, and a selection column are created. The component MARK of type character with length 1 from structure DEMO_CONN is assigned to the selection column. You can select one column and several lines.
    It has the following flow logic:
    PROCESS BEFORE OUTPUT.
      MODULE status_0100.
      LOOP WITH CONTROL flights.
        MODULE fill_table_control.
    ENDLOOP.
    PROCESS AFTER INPUT.
      MODULE cancel AT EXIT-COMMAND.
      LOOP WITH CONTROL flights.
        MODULE read_table_control.
    ENDLOOP.
      MODULE user_command_0100.
    The system executes a loop at PBO and PAI using the table control FLIGHTS. During the PBO loop, a module is called to fill the table control from table ITAB of the ABAP program. During the PAI loop, a module is called to modify table ITAB.
    Before the PBO loop, in the module STATUS_0100 the current number of lines of the internal table ITAB is placed in component LINES of control structure FLIGHTS. This helps the system to correctly install the scroll bar of the table control.
    During the PBO loop, in the module FILL_TABLE_CONTROL the work area DEMO_CONN is filled with values from the internal table, where the row index corresponds to the current row of the table control.
    During the PAI loop, in the module READ_TABLE_CONTROL the current number of the loop SY-LOOPC in the table control is placed an auxiliary variable. The number is dependent on the size of the screen. The rows of the internal table, whose row index corresponds to the current row of the table control, are overwritten with the contents of the work area DEMO_CONN. User input is transferred from the input fields of the control to the internal table. In particular, the internal table also contains a flag in the column MARK to indicate whether the row of the table control is selected or not.
    After the PAI loop, user input is processed in the module USER_COMMAND. The GUI status SCREEN_100 provides the appropriate function codes. You can scroll line by line or page by page, or Goto the first or last page. You can implement scrolling by setting the component TOP_LINE of control structure FLIGHTS. For page-by-page scrolling the auxiliary variable that is filled in the PAI loop by SY-LOOPC is used as the step size.

  • Regarding the table control in bdc

    Hi Abap Gurus,
    my requirement is how to extend the table control in bdc? i have searched in the sdn but not found the proper code.
    i think we have to use the =P+ code .  if possible post the sample code.

    Use the search tool, or go to [How to scroll a table control?|http://wiki.sdn.sap.com/wiki/display/ABAP/BatchInputFAQ#BatchInputFAQ-Howtoscrollatablecontrol%3F] in [Batch Input FAQ |http://wiki.sdn.sap.com/wiki/display/ABAP/BatchInputFAQ] (not every transaction uses the same code)
    Regards,
    Raymond

  • Regarding Searh option in table control

    Hello,
    I have one table control in which i have taken only one field of 132 length so that user enter the line wise comments in that table control.
    Now i want a search button for that table control so that user can enter any string to search in the table control.
    How to do that as i haven't seen any thing like this even in standard transaction also.
    Please give me some ideas fro doing that.
    with regards,
    nitin

    Hello,
    Thanx for your reply,
    I code like this.
    I_TXTTAB is my table control internal table.
    MODULE SEARCH. is my module for search
    Codes as follow
      CASE OK_CODE.
        WHEN 'FIND'.
          PERFORM SEARCH.
    TAB_SEARCH-TABNAME = 'TLINE'.
      TAB_SEARCH-VALUE = ROLE_TEXT.
      TAB_SEARCH-FIELDNAME = 'TDLINE'.
      APPEND TAB_SEARCH.
      CALL FUNCTION 'POPUP_GET_VALUES'
        EXPORTING
          POPUP_TITLE     = 'Find Text : Comment'(010)
        IMPORTING
          RETURNCODE      = RETURNCODE
        TABLES
          FIELDS          = TAB_SEARCH
        EXCEPTIONS
          ERROR_IN_FIELDS = 1
          OTHERS          = 2.
      IF RETURNCODE = 'A'. EXIT. ENDIF.
      READ TABLE TAB_SEARCH WITH KEY FIELDNAME = 'TDLINE'.
      ROLE_TEXT = TAB_SEARCH-VALUE.
      CLEAR L_TEXT_INPUT.
      L_TEXT_INPUT = TAB_SEARCH-VALUE.
      IF ROLE_TEXT IS INITIAL .
        EXIT.
      ENDIF.
      IF FILE IS NOT INITIAL AND
         I_TXTTAB IS NOT INITIAL.
        DESCRIBE TABLE I_TXTTAB LINES TXT_LINES.
        L_IND = COMMENT-CURRENT_LINE.
        READ TABLE I_TXTTAB INTO W_TXTTAB INDEX L_IND.
        FIND ALL OCCURRENCES OF L_TEXT_INPUT  IN W_TXTTAB IGNORING CASE RESULTS RESULTS.
        IF SY-SUBRC = 0.
          SET CURSOR FIELD 'W_TXTTAB' LINE L_IND.
          FLAG = 'X'.
        ENDIF.
    This code finds the text string but it is not taking my cursor to that particular line item.
    i write this code like this also, but still not getting to the line item
    PROCESS AFTER INPUT.
      LOOP AT I_TXTTAB.
        CHAIN.
          FIELD W_TXTTAB-TDLINE.
          MODULE G_TEXT_MODIFY ON CHAIN-REQUEST.
        ENDCHAIN.
        MODULE SEARCH.
      ENDLOOP.
    With Regards,
    Nitin Malhotra

Maybe you are looking for