09-28-2006 1:34 PM
Daer friends,
Facing the problem with BDC Table control resolutions.
i am having 19 recors in my internal table and as per my screen resolutions table control is displaying with 18 rows.
I am using the logic with if lineitem > 18 then page down...its working fine.
but if screen resoluton is chaged to less then 18 (say 14) then it is not working....how to capture the screen resolution dynamicaly? so that i can it with if condition( in place where lineeitem > my screen ressolution)
Thanks
Sridhar
09-28-2006 1:36 PM
Sridhar,
While calling the transaction use call transaction tcode using i_bdcdata options from opt message into i_messages.
data: lws_cnt type char2,
lws_field type char15.
LOOP AT i_invoicing_plan INTO wa_invoicing_plan.
lws_cnt = sy-tabix.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = lws_cnt
IMPORTING
output = lws_cnt .
CONCATENATE 'FPLT-AFDAT(' lws_cnt ')' INTO lws_field.
CONCATENATE wa_invoicing_plan-date+6(2)
wa_invoicing_plan-date+4(2)
wa_invoicing_plan-date+0(4) INTO lws_date
SEPARATED BY '.'.
PERFORM bdc_field USING lws_field lws_date.
CONCATENATE 'FPLT-FPROZ(' lws_cnt ')' INTO lws_field.
lws_perct = wa_invoicing_plan-percentage.
CONDENSE lws_perct.
PERFORM bdc_field USING lws_field lws_perct.
ENDLOOP.
While calling the transaction give like this:
<b>DATA: opt TYPE ctu_params.
opt-dismode = 'N'.
opt-updmode = 'A'.
opt-defsize = 'X'.
CALL TRANSACTION tcode
USING i_bdcdata OPTIONS FROM opt MESSAGES INTO i_messages.
LOOP AT i_messages.
ENDLOOP.</b>
Prakash.
09-28-2006 1:49 PM
Hi,
another way to solve the problem is use the "plus" button.
Usually in standard trasactions u can add new lines (=new positions) just pressing the button with a green plus symbol.
So if u input a value in the second line of the table,and press the button "add line", the value already entered is grey-out and copy on the first row of the table, and u have the second row free to input new data.
In this way, u don't have to count the index of the line, just use alway index 02.
Hope this hints will help u
Bye
Andrea
Pls rewad if it Helps
09-28-2006 2:08 PM
Hello,
A similar case was handlee, check it may help u.
If suppose ur table control fits 7 line items, then u have to handle the records from 8 the record.
For example,
ADD 1 TO w_line_i.
IF w_line_i > 7.
w_line_i = 1.
PERFORM bdc_dynpro USING 'SAPMM07M' '0421'.
PERFORM bdc_field USING 'BDC_OKCODE' '=NP'.
ENDIF.
Set a flag once the line item are greater than 7.
Regards