How to create screen resolution in bdc table control

hi gurus
can anyone suggest me
how to create screen resolution in bdc table control
thanks&regards
mark.

Hi ,
Using CTU_PARAMS table for screen resolution .
For this sample code.
This is for Transation  FB60.
report ZZFB60
       no standard page heading line-size 255.
tables t100.
PARAMETERS : p_file1  like  rlgrap-filename,
             p_doctyp like  RF05A-BUSCS,
             p_invdat like  INVFO-BLDAT,
             p_posdat like  INVFO-BUDAT.
CONSTANTS  :  C_TRANS_FB60(4) VALUE 'FB60'.
*Parameter string for runtime of CALL TRANSACTION
data : l_option type ctu_params,
       l_subrc type sysubrc.
DATA :  l_mstring(150).
data      accnt type char17.
data       : day   type char2,
             month type char2,
             year  type char4,
             date1 type char10,
             date2 type char10.
data      :  cnt(2) TYPE n,
             cnt1 type i,
             fld(25) TYPE c.
data : begin of excel occurs 0,
        fieldname(255) type c,
       end of excel.
DATA:BEGIN OF it_mess OCCURS 0,
         msgtyp(5),
         lms(200),
          msgv1(50),
     END OF it_mess.
data: begin of t_record occurs 0,
         BUKRS(004),
        ACCNT(017),
        XBLNR(016),
        WRBTR1(016),
        WAERS(005),
        SECCO(004) ,
        SGTXT(050),
        HKONT(010),
        WRBTR2(017),
        MWSKZ(002),
        GSBER(004),
        KOSTL(010),
     end of t_record.
*Internal Table for Header Data
DATA :  BEGIN OF t_head OCCURS 0,
        BUKRS(004),      "Company Code
        ACCNT(017),      "Account or Vendor
        XBLNR(016),      "Reference
        WRBTR1(017),     "Amount in document currency
        WAERS(005),      "Currency
        SECCO(004),      "Section Code
        SGTXT(050),      "Text
        END OF t_head.
*Internal table for Item Data
DATA :  BEGIN OF t_item OCCURS 0,
        ACCNT(017),      "Account
        HKONT(010),     "GL Account
        WRBTR2(017),    "Line item Amount in document currency
        MWSKZ(002),     "Tax Code
        GSBER(004),     " Business Area
        KOSTL(010),     "Cost centre
        END OF t_item.
DATA: IT_BDCDATA      LIKE  BDCDATA OCCURS 0 WITH HEADER LINE,
      IT_BDC_MESSAGES LIKE  BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
*include bdcrecx1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.
  PERFORM  file_selection.
  PERFORM  data_upload.
  PERFORM  table_control.
start-of-selection.
l_option-defsize = 'X'.
l_option-dismode = 'A'.
l_option-updmode = 'S'.
day = p_invdat+6(2).
month = p_invdat+4(2).
year =  p_invdat+0(4).
concatenate day month year into date1 SEPARATED BY '.'.
day = p_posdat+6(2).
month = p_posdat+4(2).
year =  p_posdat+0(4).
concatenate day month year into date2 SEPARATED BY '.'.
*perform open_group.
loop at t_head.
CLEAR    IT_BDCDATA.
REFRESH  IT_BDCDATA.
perform bdc_dynpro      using   'SAPLACHD'         '1000'.
perform bdc_field       using   'BDC_OKCODE'        '=ENTR'.
perform bdc_field       using   'BKPF-BUKRS'        t_head-bukrs.
perform bdc_dynpro      using   'SAPMF05A'          '1100'.
perform bdc_field       using   'BDC_OKCODE'        '/00'.
perform bdc_field       using   'RF05A-BUSCS'       p_doctyp.
perform bdc_field       using   'INVFO-ACCNT'       t_head-accnt.
perform bdc_field       using   'INVFO-BLDAT'       date1.
perform bdc_field       using   'INVFO-BUDAT'       date2.
perform bdc_field       using   'INVFO-XBLNR'       t_head-xblnr.
perform bdc_field       using   'INVFO-WRBTR'       t_head-wrbtr1.
perform bdc_field       using   'INVFO-WAERS'       t_head-waers.
perform bdc_field       using   'INVFO-SECCO'       t_head-secco.
perform bdc_field       using   'INVFO-SGTXT'       t_head-sgtxt.
cnt = 1.
cnt1 = 1.
loop at t_item where accnt = t_head-accnt.
*if cnt > 4.
*cnt = 4.
*endif.
if cnt1 gt 1.
CONCATENATE 'ACGL_ITEM-MARKSP(' cnt ')' INTO fld.
perform bdc_field      using   fld                   'X'.
perform bdc_dynpro      using 'SAPMF05A'          '1100'.
perform bdc_field       using 'BDC_OKCODE'        '=0005'.
endif.
perform bdc_dynpro      using 'SAPMF05A'          '1100'.
perform bdc_field       using   'BDC_OKCODE'        '/00'.
CONCATENATE 'ACGL_ITEM-HKONT(' cnt ')' INTO fld.
perform bdc_field       using  fld                t_item-hkont.
CONCATENATE 'ACGL_ITEM-WRBTR(' cnt ')' INTO fld.
perform bdc_field  using       fld                t_item-wrbtr2.
CONCATENATE 'ACGL_ITEM-MWSKZ(' cnt ')' INTO fld.
perform bdc_field       using  fld                t_item-mwskz.
CONCATENATE 'ACGL_ITEM-GSBER(' cnt ')' INTO fld.
perform bdc_field       using  fld                t_item-gsber.
CONCATENATE 'ACGL_ITEM-KOSTL(' cnt ')' INTO fld.
perform bdc_field       using  fld                t_item-kostl.
perform bdc_field      using  'BDC_CURSOR'  fld.
*CONCATENATE 'ACGL_ITEM-MARKSP(' cnt ')' INTO fld.
*perform bdc_field      using   fld                   'X'.
cnt1 = cnt1 + 1.
*cnt = cnt + 1.
*if cnt > 1.
*perform bdc_dynpro      using 'SAPMF05A'          '1100'.
*perform bdc_field       using 'BDC_OKCODE'        '=0005'.
**perform bdc_field       using 'BDC_OKCODE'        '=0006'.
*endif.
endloop.
perform bdc_dynpro      using 'SAPMF05A' '1100'.
perform bdc_field       using 'BDC_OKCODE'
                              '=BS'.
perform bdc_dynpro      using 'SAPMSSY0' '0120'.
perform bdc_field       using 'BDC_OKCODE'
                              '=BU'.
*perform bdc_transaction using 'FB60'.
CALL TRANSACTION C_TRANS_FB60 USING IT_BDCDATA  options from l_option
                             MESSAGES INTO IT_BDC_MESSAGES.
perform error.
perform errordownload.
endloop.
*perform close_group.
*Form  data_upload
FORM data_upload .
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
   FILENAME              =  p_file1
   FILETYPE              = 'DAT'
  TABLES
    DATA_TAB             =  t_record.
ENDFORM.                    " data_upload
*Form  file_selection
FORM file_selection .
CALL FUNCTION 'F4_FILENAME'
    EXPORTING
      program_name  =  syst-cprog
      dynpro_number =  syst-dynnr
      field_name    = 'p_file1'
    IMPORTING
      file_name     =  p_file1.
ENDFORM.                    " file_selection
Form  BDC_DYNPRO
FORM BDC_DYNPRO using program dynpro.
  CLEAR IT_BDCDATA.
  IT_BDCDATA-PROGRAM = PROGRAM.
  IT_BDCDATA-DYNPRO = DYNPRO.
  IT_BDCDATA-DYNBEGIN = 'X'.
  APPEND  IT_BDCDATA.
endform.
*Form  BDC_FIELD
FORM  bdc_field using fnam fval.
  CLEAR  IT_BDCDATA.
  IT_BDCDATA-FNAM = FNAM.
  IT_BDCDATA-FVAL = FVAL.
  APPEND  IT_BDCDATA.
ENDFORM.
Table Control
FORM table_control .
  LOOP AT t_record.
    ON CHANGE OF t_record-accnt.
      MOVE-CORRESPONDING t_record TO t_head.
      APPEND t_head.
    ENDON.
  loop at t_head.
         t_item-accnt   =  t_head-accnt.
         t_item-hkont   =  t_record-hkont.
         t_item-wrbtr2  =  t_record-wrbtr2 .
         t_item-mwskz   =  t_record-mwskz .
         t_item-gsber   =  t_record-gsber .
         t_item-kostl   =  t_record-kostl.
    APPEND t_item.
endloop.
     If t_record-level = 'H'.
         t_head-bukrs   =  t_record-text1.
         t_head-accnt   =  t_record-text2.
         t_head-xblnr   =  t_record-text3.
         t_head-wrbtr1  =  t_record-text4.
         t_head-waers   =  t_record-text5.
         t_head-secco   =  t_record-text6.
         t_head-sgtxt   =  t_record-text7.
      APPEND t_head.
     else.
        t_item-accnt   =  t_head-accnt.
        t_item-hkont   =  t_record-text1.
        t_item-wrbtr2  =  t_record-text2.
        t_item-mwskz   =  t_record-text3.
        t_item-gsber   =  t_record-text4.
        t_item-kostl   =  t_record-text5.
     APPEND t_item.
     endif.
  ENDLOOP.
ENDFORM.
FORM error .
  LOOP AT IT_BDC_MESSAGES.
    IF IT_BDC_MESSAGES-msgtyp = 'E'.
   SELECT single  * FROM t100  WHERE
                                sprsl = it_BDC_MESSAGES-msgspra
                                AND   arbgb = IT_BDC_MESSAGES-msgid
                                AND   msgnr = IT_BDC_MESSAGES-msgnr.
      IF sy-subrc = 0.
        l_mstring = t100-text.
        IF l_mstring CS '&1'.
          REPLACE '&1' WITH IT_BDC_MESSAGES-msgv1 INTO l_mstring.
          REPLACE '&2' WITH IT_BDC_MESSAGES-msgv2 INTO l_mstring.
          REPLACE '&3' WITH IT_BDC_MESSAGES-msgv3 INTO l_mstring.
          REPLACE '&4' WITH IT_BDC_MESSAGES-msgv4 INTO l_mstring.
        ELSE.
          REPLACE '&' WITH IT_BDC_MESSAGES-msgv1 INTO l_mstring.
          REPLACE '&' WITH IT_BDC_MESSAGES-msgv2 INTO l_mstring.
          REPLACE '&' WITH IT_BDC_MESSAGES-msgv3 INTO l_mstring.
          REPLACE '&' WITH IT_BDC_MESSAGES-msgv4 INTO l_mstring.
        ENDIF.
        CONDENSE l_mstring.
        it_mess-msgtyp = IT_BDC_MESSAGES-msgtyp.
        it_mess-lms = l_mstring.
        it_mess-msgv1 = IT_BDC_MESSAGES-msgv1.
        APPEND it_mess.
      ELSE.
        it_mess-msgtyp = IT_BDC_MESSAGES-msgtyp.
        it_mess-lms = l_mstring.
        it_mess-msgv1 = IT_BDC_MESSAGES-msgv1.
        APPEND it_mess.
      ENDIF.
    ENDIF.
  ENDLOOP.
ENDFORM.
form errordownload.
*down the internal table to excel file.
call function 'EXCEL_OLE_STANDARD_DAT'
           EXPORTING
                file_name                 = 'c:/Error.xls'
           TABLES
                data_tab                  = it_mess
                fieldnames                = excel
           EXCEPTIONS
                file_not_exist            = 1
                filename_expected         = 2
                communication_error       = 3
                ole_object_method_error   = 4
                ole_object_property_error = 5
                invalid_filename          = 6
                invalid_pivot_fields      = 7
                download_problem          = 8
                others                    = 9.
endform.
Reward if useful
Regards,
Narasimha
Edited by: narasimha marella on May 13, 2008 12:12 PM

Similar Messages

  • How to handle screen resolution in bdc session method.

    hi all,
    how to handle screen resolution in bdc session method.

    Hello,
    Why do need that for? Is it to add rows on a table control??
    If it does, add new rows by using the add button instead of adding into the table control directly to each row.
    Bye
    Gabriel.

  • How to solve screen resolution in bdc

    hi experts,
    please tell me how to solve screen resolution in bdc.
    regards.
    subhasis

    Hi,
    <b>Pls check other posts in SDN before posting ur thread..there is same thread related to this on this forum on same day.</b>
    Screen resolution means different in the screen display depending on ur system screen resolution.
    suppose ur system resolution is diff and another's system is different then like in Tcode VA01, there will be 3 lineitems and another there will be 5 lineitems ,
    so while doing recording and page down that will bw diff so there will be some problem
    So u have to set the screen resolution as default by using CTU parameters..
    write this code then
    f_option-updmode = 'S'.
    f_option-defsize = 'X'.* f
    _option-dismode = 'N'.
    *call transaction 'VA01' using bdcdata options from f_option messages into bdcerror.
    Hope it helps.
    Regards,
    Sonika

  • How to set screen resolution in BDC

    hi pls give info regarding how to set resolution for screen
    thank you
    Ravi

    hi,
    For screen resolution use ctu_params, with default size
    Data : f_option type ctu_params,
    f_option-updmode = 'S'.
    f_option-defsize = 'X'.
    f_option-dismode = 'N'.
    call transaction 'VA01' using bdcdata options from f_option messages into bdcerror.
    CALL TRANSACTION tcode... OPTIONS FROM opt
    ... OPTIONS FROM opt
    Effect
    Allows you to control processing using the values of the componetns of the structure opt, which must have the ABAP Dictionary type CTU_PARAMS. The components have the following meanings:
    DISMODE
    Display mode (like the MODE addition)
    UPDMODE
    Update mode (like the UPDATE addition)
    CATTMODE
    CATT mode (controls a CATT)
    CATT mode can have the following values:
    ' ' No CATT active
    'N' CATT without single-screen control
    'A' CATT with single-screen control
    DEFSIZE
    Use default window size
    RACOMMIT
    Do not end transaction at COMMIT WORK
    NOBINPT
    No batch input mode (that is, SY-BINPT = SPACE)
    NOBIEND
    No batch input mode after the end of BDC data.
    The components DEFSIZE , RACOMMIT, NOBINPT, and NOBIEND always take the following values:
    'X' Yes
    ' ' No
    If you do not use the OPTIONS FROM addition, the following control parameter settings apply:
    DISMODE
    From addition MODE
    UPDMODE
    From addition UPDATE
    CATTMODE
    No CATT active
    DEFSIZE
    Do not use default window size
    RACOMMIT
    Successful end on COMMIT WORK
    NOBINPT
    Batch input mode active ( SY-BINPT = X
    NOBIEND
    Batch input mode remains active after the BDC data

  • Screen resolution problem in table control

    when i was transfering data in BDC using table control,i got screen resolution problem.
    how to rectify the problem?

    Hi,
    Check this coding.
    WA_CTU_PARAMS type ctu_params.
    WA_CTU_PARAMS-DISMODE = 'N'. "no screen mode
    WA_CTU_PARAMS-UPDMODE = 'S'. "synchronous update
    WA_CTU_PARAMS-NOBINPT = 'X'.
    WA_CTU_PARAMS-NOBIEND = 'X'.
    WA_CTU_PARAMS-DEFSIZE = 'X'. "Default size
    CALL TRANSACTION 'VA01' USING it_bdcdata
    OPTIONS FROM WA_CTU_PARAMS
    MESSAGES INTO it_mesg.
    Default size will play good role in terms of resolution. in one system in table control you can see 10rows, but in others system it will show 20 records. it depends on resolution. but when you set the default size then it will take same (default screen size) in all the systems when you run BDC.
    Hope this resolves your query.
    Reward all the helpful answers.
    Regards

  • How to make screen field enable when table control gives an error

    Hi,
        I had a scneario like when table control data wrong then one parameter of the screen should be enabled for the input, i knew that screen-name will not work since it will have always table control fields only when table control gives an error.
    How to make the other parameter enable when table control throws an error.
    Regards,
    Jaya

    Hi Gobi,
         Thanks for your response, but issue is - how to make other screen fields enable when there was an error in the table control data.
    For table control - lets say we will use the code as i mentioned above.i am sure that we cant write the code for field enable in between loop & endloop.
    as you said if we right outside the loop-endloop, the module wont be triggered when table control throws an error, because that statement was not there in the loop-endloop.
    please let me know if you need any more information on the issue. I hope there is alternative for this in SAP.
    Thanks
    Jaya

  • BDC: Table Control Screen Resolution

    Hi Abapers,
    1.In BDC while handling table control , how to handle screen resolution , that means in some systems i can see 5 item entries , in some systems i can see 10 item entries how to handle this , can u  send the Code relating this.
    With Regards
    Bhaskar Rao.M

    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 two
    BDC - standard screen resolution required?
    https://forums.sdn.sap.com/click.jspa?searchID=739193&messageID=823953
    reward points if found helpful

  • How we will maintain screen resolution for tmaintaining able control in BDC

    how we will maintain screen resolution for tmaintaining able control in BDC. can you give the code or how we have to set it

    Hi,
    You need to use the CTU_PARAM options with the call transaction method.This is used if you would like to do a commit work once call trnasaction is done. This has also got very important property, for example if your Screen resolution is different from others then the screen (Application) will be different that is you'll be having say 5 lines in your screen where as your friend will be having 8 or 10 so your program might fail in this case. If you set variable DEFSIZE as 'X' it will always use the default screen size and hence avoids error.
    Use CALL TRANSACTION 'XXX' OPTIONS FROM w_ctu_params.( type CTU_PARAMS)
    This structure contains the follwing.
    DISMODE : Display mode (like the MODE addition)
    UPDMODE: Update mode (like the UPDATE addition)
    CATTMODE: CATT mode (controls a CATT)
    CATT mode can have the following values:
    ' ' No CATT active
    'N' CATT without single-screen control
    'A' CATT with single-screen control
    DEFSIZE : Use default window size (Here we are handling those transaction by giving default window size)
    RACOMMIT: Do not end transaction at COMMIT WORK
    NOBINPT : No batch input mode (that is, SY-BINPT = SPACE)
    NOBIEND : No batch input mode after the end of BDC data.
    The components DEFSIZE , RACOMMIT, NOBINPT, and NOBIEND always take the following values:
    'X' Yes
    This might help u in better understanding...
    Re: regarding bdc
    Re: ctu_params
    Regards
    Sudheer

  • How to make screen resolution independent in BDC

    How to make screen resolution independent in BDC

    hi
    good
    You need to use the CTU_PARAM structure alon with the call transaction statment.
    **Sturcture of CTU_PARAM
    **DISMODE : Display mode (like the MODE addition 'A' , 'E', 'N')
    **UPDMODE: Update mode (like the UPDATE addition 'S', 'A')
    **DEFSIZE : Use default window size (Here we are handling those transaction by giving default window size)
    **RACOMMIT: Do not end transaction at COMMIT WORK
    **NOBINPT : No batch input mode (that is, SY-BINPT = SPACE)
    **NOBIEND : No batch input mode after the end of BDC data.
    *The components DEFSIZE , RACOMMIT, NOBINPT, and NOBIEND always take the following values:
    'X' Yes
    DATA : L_OPTION TYPE CTU_PARAMS, "Parameter string for runtime of CALL TRANSACTION
    L_SUBRC TYPE SYSUBRC.
    L_OPTION-DEFSIZE = 'X'.
    L_OPTION-DISMODE = P_MODE.
    L_OPTION-UPDMODE = 'S'.
    CALL TRANSACTION 'FK01' "FK01-Vendor master creation
    USING IT_BDCDATA
    MESSAGES INTO IT_MESSTAB
    OPTIONS FROM L_OPTION.
    thanks
    mrutyun^

  • How do I identify OK Code in table control in BDC (scroll up/down)?

    Hi. I have read a lot of very good posts and articles here in the forums about how to work with table controls when writing a BDC program. Unfortunately I haven't found any that address the specific issue that I'm having.
    I'm writing a program to update the line items of a Parked Document using transaction FBV2. I want to be able to insert a row at the end of the previously existing rows regardless of how many there are and I can't seem to figure out the correct OK Codes to scroll up or down, or page up or down within the table control so I can guarantee that I will get to the next available row.
    For example. I have a Parked Document with 13 line items. I would like to insert the new line item as row 14. I know that 10 rows will be displayed at run time on this screen according to my settings in the BDC call and want to scroll down 1 time and then enter the new data on the 4th line on the new set of rows.
    Does anyone have any experience with this, or can someone point me in the right direction where I might find this information?
    Thanks in advance,
    Andy

    Hi
    In my system I can't run that trx, anyway there's any ok-code for the scrolling, you can have only the okcode for the page up/down buttons.
    So you should try to understand how many rows a page can have, so if a page have 10 rows per page and you need to change the row 22, it means you have to simulate to press the page down twice and change the second row of third page.
    If you run your BDC by CALL TRANSACTION u should use the option OPTIONS FROM opt, here you indicate to use the standard size of the dynpro. In this way the size of table control is not screen resolution dependent.
    TABLES CTU_PARAMS.
    CTU_PARAMS-DEFSIZE = 'X'.
    CALL TRANSACTION 'FBV1'  USING ITAB
                                                OPTIONS FROM CTU_PARAMS.
    Max

  • How to do screen resolution in session method

    hi guru how to do screen resolution in session method.
    please tell me.
    regards
    subhasis

    Sometime back this is refered in SDN :
    Check table <i>CTU_PARAMS</i> and field <i>DEFSIZE</i> for setting fixed line of table control.
    CALL TRANSACTION 'VA01' USING it_bdcdata
    OPTIONS FROM OPT
    MESSAGES INTO it_mesg.
    opt of type ctu_params.
    WA_CTU_PARAMS-DISMODE = 'N'. "no screen mode
    WA_CTU_PARAMS-UPDMODE = 'S'. "synchronus update
    WA_CTU_PARAMS-NOBINPT = 'X'.
    WA_CTU_PARAMS-NOBIEND = 'X'.
    WA_CTU_PARAMS-DEFSIZE = 'X'. "Default size
    Default size will play good role in terms of resoultion. in one system in table control you can see 10rows, but in others system it will show 20 records. it depends on resoultion. but when you set the default size then it will take same (default screen size) in all the systems when you run BDC.
    Thanks!!

  • How to create t-code for a table and how to create transaction variant???

    Hi,
    I have created a custom table zsark.
    Now my requirement is : I have to create a transaction variant zsark_var for sm30 and table zsark. I have to disable the output of the first screen. I have to assign the transaction variant to the transaction code of table zsark.
    Now,
    1.     how to create transaction code to a table. Can any one give me the 
                    staps??
    2.     how to create transaction variant for the above requirement???
    Thanks & Regards,
    Sarkar

    Hi
    1 Goto SE93 transaction
    2 Choose 5th option Transaction with parameters
    3 Give transaction : SM30, Check Skip Initial Screen Press Enter
    4 Goto Bottom left corner, click F4 select viewname, on right hand side give table name
    5 Press one more time F4, choose update , mark it X on right side.
    6 save the transaction.
    Thanks
    sandeep
    reward if helpful

  • How to handle screen resolution in session method

    how to handle screen resolution in session method  without bdc_insert .

    Hello,
    Why do need that for? Is it to add rows on a table control??
    If it does, add new rows by using the add button instead of adding into the table control directly to each row.
    Bye
    Gabriel.

  • Controlling Screen Resolution in BDCs

    Hi,
    Can any one explain about the process for Controlling Screen Resolution in BDCs.
    Thanks & Regards,
    Rajesh.

    Hi,
    If u write table control bdc program in 14'' monitor screen, then if the same program u run at different monitor size, then the screen resolution problem comes in to the picture,
    like, u get 5 records in table control in one screen, and some other records in other screen, to avoid this screen resolution problem we use CTU-PARAMS Structure.
    In ur program u have to set
    defsize type ctu_params-defsize value 'X',
    Then u will be free of screen resolution problem.
    Fill the str CTU_PARAMS-defsize = 'X' and pass in CTU stmnt as
    call transaction 'XXX' options using t_bdcdata ctu_params.
    Analysing :
    1. If nothing works, then we have to
    some ifs & buts.
    2. There shall be normally
    2-4 different kinds of resolution
    on various users comptuers.
    3. Based on this,
    we have to know beforehand,
    what will be the number of rows
    in the table control.
    4. The user can be given
    a selection/paraemter
    for resolution
    eg. 800x600
    1024x100
    axb
    etc.
    5. Based on this, we will hardcode
    in the program (based upon our knowledge/recording
    which we have seen and done)
    we will hardcode
    the number of lines
    in the VARIBLE.
    6. Then we can simply use this variable
    for our LOOP and logic purpose.
    7. It will be the responsibiltiy of the
    use to CHOOSE THE CORRECT resolution,
    on the selection-screen.
    For screen resolution use ctu_params, with default size
    Data : f_option type ctu_params,
    f_option-updmode = 'S'.
    f_option-defsize = 'X'.
    f_option-dismode = 'N'.
    call transaction 'VA01' using bdcdata options from f_option messages into bdcerror.
    CALL TRANSACTION tcode... OPTIONS FROM opt
    ... OPTIONS FROM opt
    Effect
    Allows you to control processing using the values of the componetns of the structure opt, which must have the ABAP Dictionary type CTU_PARAMS. The components have the following meanings:
    DISMODE
    Display mode (like the MODE addition)
    UPDMODE
    Update mode (like the UPDATE addition)
    CATTMODE
    CATT mode (controls a CATT)
    CATT mode can have the following values:
    ' ' No CATT active
    'N' CATT without single-screen control
    'A' CATT with single-screen control
    DEFSIZE
    Use default window size
    RACOMMIT
    Do not end transaction at COMMIT WORK
    NOBINPT
    No batch input mode (that is, SY-BINPT = SPACE)
    NOBIEND
    No batch input mode after the end of BDC data.
    The components DEFSIZE , RACOMMIT, NOBINPT, and NOBIEND always take the following values:
    'X' Yes
    ' ' No
    If you do not use the OPTIONS FROM addition, the following control parameter settings apply:
    DISMODE
    From addition MODE
    UPDMODE
    From addition UPDATE
    CATTMODE
    No CATT active
    DEFSIZE
    Do not use default window size
    RACOMMIT
    Successful end on COMMIT WORK
    NOBINPT
    Batch input mode active ( SY-BINPT = X
    NOBIEND
    Batch input mode remains active after the BDC data
    Hope it makes u understand...
    Reagrds,

  • How do we handle BDC table control

    hi sap technical guru,
    PLS suggest me how to handle BDC table control while uploading data to sap R/3
    regards,

    Hi,
    First take BDC recording for required transaction from SHDB then you will find screen field names, screen numbers sequence, According to that pass values to below BDC_DYNPRO and BDC_FIELD forms and append data to BDC table. In my requirement I have done this for VB03 transaction passed values to VB03 transaction from my selection screen.
    *& Report  ZS_VB03_TRANSACTION
    REPORT  ZS_VB03_TRANSACTION.
    TABLES: KOMGG,                        "Dialogkommunikationstab
    T685T,                         "Text zum Konditionsart
    T185F,                         "Folgebildsteurung
    T681,                          "Konditionstabelle
    TMC1T, G000, TPARA.                         "Kurztext zur Konditionstabell
    * Sales Organization                                                   *
    SELECT-OPTIONS S_F001 FOR KOMGG-VKORG.
    *MEMORY ID VKO.
    * Distribution Channel                                                 *
    SELECT-OPTIONS S_F002 FOR KOMGG-VTWEG
    MEMORY ID VTW.
    * Division                                                             *
    SELECT-OPTIONS S_F003 FOR KOMGG-SPART
    MEMORY ID SPA.
    * CustomerHierarchy 01                                                 *
    SELECT-OPTIONS S_F004 FOR KOMGG-HIENR01.
    * Material                                                             *
    SELECT-OPTIONS S_F005 FOR KOMGG-MATNR
    MEMORY ID MAT
    MATCHCODE OBJECT MAT1.
    * Customer                                                             *
    SELECT-OPTIONS S_F006 FOR KOMGG-KUNNR
    MEMORY ID KUN
    MATCHCODE OBJECT DEBI.
    *                       "Selektionsdatum                               *
    SELECTION-SCREEN SKIP 1.
    PARAMETERS SEL_DATE LIKE RV130-DATAM
    DEFAULT SY-DATLO.
    PARAMETERS: r_vb03 TYPE c RADIOBUTTON GROUP rb1 DEFAULT 'X',
    r2 type c RADIOBUTTON GROUP rb1.
    *    *       Batchinputdata of single transaction
    DATA:   BDCDATA LIKE BDCDATA    OCCURS 0 WITH HEADER LINE.
    *       messages of call transaction
    DATA:   MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    data: lv TYPE i.
    data: s1 type KOMGG-VKORG,
    s2 type KOMGG-VKORG.
    START-OF-SELECTION.
    if r_vb03 = 'X'.
    data: num(2) TYPE n VALUE '01',
    lv_string(40) type c,
    lv_s_f001 like s_f001.
    set PARAMETER ID: 'VGK' FIELD 'A001'. "Place ur default value here in A001 place.
    If S_f001-high is INITIAL.
    perform bdc_field       using 'BDC_CURSOR'
    'F001-LOW'.
    perform bdc_field       using 'BDC_OKCODE'
    '=%003'.
    perform bdc_dynpro      using 'SAPLALDB' '3000'.
    perform bdc_field       using 'BDC_OKCODE'
    '=ACPT'.
    perform bdc_field       using 'BDC_CURSOR'
    'RSCSEL-SLOW_I(01)'.
    loop at S_f001 into lv_s_f001.
    CONCATENATE 'RSCSEL-SLOW_I(' num ')' INTO lv_string.
    perform bdc_field       using 'BDC_CURSOR'
    lv_string.
    perform bdc_field       using lv_string
    lv_s_f001-low.
    clear: lv_s_f001, lv_string.
    num = num + 1.
    ENDLOOP.
    clear num.
    perform bdc_dynpro      using 'RV13GAAB' '1000'.
    perform bdc_field       using 'BDC_CURSOR'
    'F002-LOW'.
    ELSE.
    perform bdc_dynpro      using 'RV13GAAB' '1000'.
    perform bdc_field       using 'BDC_CURSOR'
    'F001-LOW'.
    perform bdc_field       using 'F001-LOW' S_f001-low.
    perform bdc_field       using 'F001-HIGH' S_f001-high.
    endif.
    perform bdc_field       using 'F002-LOW' S_F002-low.
    perform bdc_field       using 'F002-HIGH' S_F002-High.
    perform bdc_field       using 'F004-high' S_F004-high.
    perform bdc_field       using 'F005-LOW' S_F005-low.
    perform bdc_field       using 'F003-LOW' S_F003-low.
    perform bdc_field       using 'F003-High' S_F003-high.
    perform bdc_field       using 'F004-LOW' S_F004-low.
    perform bdc_field       using 'F005-high' S_F005-high.
    perform bdc_field       using 'F006-LOW' S_F006-low.
    perform bdc_field       using 'F006-high' S_F006-high.
    call TRANSACTION 'VB03' USING BDCDATA MODE 'E' MESSAGES INTO MESSTAB.
    ENDIF.
    *        Start new screen                                              *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
    CLEAR BDCDATA.
    BDCDATA-PROGRAM  = PROGRAM.
    BDCDATA-DYNPRO   = DYNPRO.
    BDCDATA-DYNBEGIN = 'X'.
    APPEND BDCDATA.
    ENDFORM.
    *        Insert field                                                  *
    FORM BDC_FIELD USING FNAM FVAL.
    CLEAR BDCDATA.
    BDCDATA-FNAM = FNAM.
    BDCDATA-FVAL = FVAL.
    APPEND BDCDATA.
    ENDFORM.

Maybe you are looking for

  • Bootcamp 'Glowing' windows logo freeze after gfx driver install

    Bootcamp 'Glowing' windows logo freeze after gfx driver install Last week suddenly, after having changed or installed nothing, trying to boot into windows resulted in a frozen glowy window logo 'Starting Windows', which resulted in having to format t

  • Order musics by album and then by year

    How can I order my library by albuns and next by year of the album?

  • Powerpoint animation issue

    I'm losing animation on numbers that I have coming in at bookmarked places in a slide. I return to a home page and return to the slide no problem but if I return to homepage then a different slide, then home page and the initial slide...the animated

  • RoboHelp 7 TOC

    How do I set up the Table of contents so the << and >> buttons are available and also the Back button on all inquiries?

  • Num pad doesn't work with Excel.

    The numeric pad behaves like scrolls and page up, page down buttons every time I use Microsoft's Excel. I looked everywhere but i couldn't find a way to change the pad to work with numbers. Its driving me crazy ... G5 Dual 2.3GHz   Mac OS X (10.4.4)