In BDC we need to read screen value of table control
Dear All,
I was doing a feasibility analysis. One BDC is there where we will have to insert records in table control based on some records of 1st column of table control already populated. We are unable to find a way for reading table control. The BDC is generating batch input session. Can you please suggest on this?
Best wishes,
Atanu
Hi Atanu,
with BDC, the only possibility is to do as Klaus suggested: you must replicate the SAP's logic in your program, you must know in advance how SAP fills this field. This is a very well known drawback of BDC. You may use the SQL trace to help you to know which tables are read. Ask functional people to help you.
You may also use SAP GUI scripting, that's another technology (slower I think, and it can only work in dialog). It allows to do different actions between 2 screens. You must program it using OLE, or using external software (VBA for example).
Sandra
Similar Messages
-
Screen value of table control in ME21N tcode condiions tab
Hi ALL,
I have a problem in ME21 Tcode .I want to read screen field value of net price of Screen ME21N tcode conditions tab.
when I change tax code in delivery tab then condition tab values changes according to price procedure.I want to read that conditions tab Net price value nothing but unit price (amount field in screen) and need to do validation .
i used the BADI but could not able to find the screen value using DYNP_VALUES_READ fm.
kindly sugest the solution.
regards,
padmaja.Hi
In BADI ME_PROCESS_PO_CUST, method PROCESS_ITEM or in method CHECK, for interface IF_PURCHASE_ORDER_MM, use method GET_CONDITIONS.
For instance in method CHECK
include mm_messages_mac.
data: header type mepoheader,
items type purchase_order_items,
po_line type mepoitem,
line_item type purchase_order_item,
po_condition type mmpur_tkomv,
header = im_header->get_data( ).
items = im_header->get_items( ).
loop at items into line_item.
po_line = line_item-item->get_data( ).
call method line_item-item->get_conditions
importing
ex_conditions = po_condition.
endloop.
I hope don't forget anything.
I hope this helps you
Regards
Eduardo -
How to find dynamic value(screen value) in table control for current row .
hi to all,
i used table control in my screen. for column no 2 field i was used serrch help. and for column number 3 i used a dynamic help.
in change mode you can change any row for table control.
when i was using search help for a row which was already entered in column no 3 i cannot get any value.
how i can get value of row no 3 and column no 2 value.
thanksTry using like index for the serarch the TC-current_line
-
System error on reading screen values
Hi ABAP'ers!!
When I try to unblock the vendor account in FK05 (unblock in all company codes) I get an error :
System error on reading screen values
Message no. F2 109
Would appreciate your suggestions/inputs!!
Thanks for your time!Hi VR,
in FK05 you cannot unlock vendor.through functionality only u can unblock the vendor.
It display error message.
For these changes ( for blocking / unblocking ) user exit will be triggerd.
Regards,
Narasimha -
Deleting the values from table control
HI,
I need to remove the selected line from the Table control on my screen.
The point is that the Internal table does not have any records,.
for example in the Customer Create screen,
while entering the bank details we will enter it in a tbale contraol.
but the records doesnt exist in the database. but the record gets deleted from the table control only if we press delete button.
please guide me.
please note : I want to delete the record from Table Control on the screen and I dont have any corresponding database records..
regardsHi..
The solution to your problem - deleting values from table control.
Here: it_wizard is the internal table which is holding the value of table control.
wa_wizard is the work are of the internal table it_wizard.
it_delete is the internal table which holds the deleted record of table control.
wa_delete is the work area of the internal table it_delete
Also here the field ZSEL is the character field which is used to select the entire record in the table control.
LOOP AT it_wizard into wa_wizard WHERE zsel = 'X'.
MOVE-CORRESPONDING wa_wizard TO wa_delete.
APPEND wa_delete TO it_delete.
delete table it_wizard from wa_wizard.
DELETE FROM zfin_goods WHERE ZFG = WA_delete-ZFG.
ENDLOOP
if sy-subrc eq 0.
Message 'Delete Successful' type 'S'.
endif.
The above code will delete the record from both the table control.internal table and the database table.
I think this will help you to great extent.
Ward regards,
Bhuvaneswari
Edited by: BHUVANESWARI THIRUNAVUKKARASU on Jan 7, 2009 10:39 AM -
Dynamically changing the value in table control
Hello Every one,
In MD61 transaction table control am trying to change value dynamicaly i.e am trying to change value in table control automaticaly tht value to be captured and i need to show in status bar...
Ex table control field is number: am giving 10,20,30 tht should show in status bar by adding if u enter 10 at status bar it show 10 then when u enter 20 it should add with 10 and give 30 ..
in this way when ever u enter value in filed it should add with the status bar value.Hi!
For conversion you can use the function module
data : w_amt TYPE cms_dte_original_amt,
" Amount
w_conv_amt TYPE cms_dte_conv_amt,
" Converted amount
w_kmein TYPE cms_dte_original_curr,
CALL FUNCTION 'CMS_API_CURR_CONV'
EXPORTING
i_original_curr = w_kmein
i_original_amt = w_amt
i_result_curr = 'INR'
i_rate_type = 'M'
i_conv_date = sy-datum
IMPORTING
e_conv_amt = w_conv_amt.
now accordingly you can move the currency and amount that is changed....
here as you were saying that on f4 after selecting you want the other field to get the value on that currency.....
this work can be done as here....
in this the next field gets populated as the first field gets the value......
refer to it.....
https://wiki.sdn.sap.com/wiki/display/ABAP/GettingainputfieldpopulatedonenteringthevalueinoneInputfield
Regards. -
Retrieving values from table control using DYNP_VALUES_READ
Hi all,
I am trying to retrieve the values from the table control using the FM DYNP_VALUES_READ. I have a situation where user enter values in table control in T.code FB60 in Withholding tab for validation purpose. There i'll have to check based on some entries maintained in SET.
I am unable to get the values when i scroll to the next page in the table control. FM raising an exception invalid_dynprofield.
Expecting reply...You have to populate the dynpfields internal table before calling the function,
data: repid like sy-repid.
dynpfields-fieldname = 'PNAME'.
append dynpfields.
repid = sy-repid.
call function 'DYNP_VALUES_READ'
exporting
dyname = repid
dynumb = sy-dynnr
tables
dynpfields = dynpfields
exceptions
others.
read table dynpfields index 1.
pname = dynpfields-fieldvalue.
Now you will have the field value in pname
Hope this helps
Vinodh Balakrishnan -
How to insert values in table control & how to place listbox in table ctrl
Dear all,
I have created table control in Module pool program. My requirement is first
1)How to place list box in table control
2)Based on listbox selection i have to enter values in table control row..
With Regards,
BaskaranHi Baskaran,
For displaing list box, use FM: VRM_SET_VALUES.
Code like that:
TYPE-POOLS: vrm.
DATA: name TYPE vrm_id,
list TYPE vrm_values,
value LIKE LINE OF list.
PARAMETERS: ps_parm(10) AS LISTBOX VISIBLE LENGTH 15.
Instead of parameter for module pool , you declare data:
AT SELECTION-SCREEN OUTPUT.
name = 'PS_PARM'.
value-key = '3500000002'.
value-text = '3500000002'.
APPEND value TO list.
value-key = '3500000003'.
value-text = '3500000003'.
APPEND value TO list.
name = 'PS_PARM'.
value-key = '3500000004'.
value-text = '3500000004'.
APPEND value TO list.
name = 'PS_PARM'.
value-key = '3000000007'.
value-text = '3000000007'.
APPEND value TO list.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = name
values = list.
make the necesary change for module pool.
Hope this can solve your problems.
Regards,
Tutun -
Screen painter or table control problem
Hi All,
I have created two maintenance views for two custom tables , and two views has been created .
in one view when i excuting sm54 and display i could able to see all the fields in the table control ,
but in the other view i could see only one field very in the table control.
Is this the problem of screen painter with table control , shall i need to intall screen painter again
i am using 4,7 version os sap ,
Regards
subbaHi Chandra,
Thanks for yorr prompt reply and i tried so many times , can i go that particular screen and change
the screen and include all the fields , actually the system proposes the screen when we are creating
the table maintenance generator.
i selected one step and screen proposed by sap in the overview screen as 1 and i have created table maintenance.
Regards
subba -
BDC read screen value and press button
Hi,
How can i read a screen value and press button by BCD??
Regards,
KitHi ,
There is table bdcmsgcoll which holds the values so if do like below you can find out the values
data: it_tab2 type table of bdcmsgcoll with header line.
call transaction 'BGM1' using it_tab3 mode 'E' messages into it_tab2.
now it_tab2 will hold the values and you can check that in debugging mode
do reward if helpful -
Read Screen values in Select options
Hi Experts,
I am using FM 'DYNP_VALUES_READ' for reading the Screen values. The problem is, this FM runs fine for parameters where single value is returned but in case of Select-options where i have ranges, How to use this FM?
Help will be appreciated
Regards
SourabhHi ,
Thanks for your valuable inputs.
I have acheived my requirements with FM 'DYNP_VALUES_READ' itself.
Here is how i have acheived this. I have passed both LOW and HIGH in the internal table it_fieldvalues.As a result i got both the values of the ranges.
REFRESH it_fieldvalues.
it_fieldvalues-fieldname = 'S_AEDAT-LOW'.
APPEND it_fieldvalues.
CLEAR it_fieldvalues.
it_fieldvalues-fieldname = 'S_AEDAT-HIGH'.
APPEND it_fieldvalues.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TRANSLATE_TO_UPPER = 'X'
REQUEST = ' '
PERFORM_CONVERSION_EXITS = ' '
PERFORM_INPUT_CONVERSION = ' '
DETERMINE_LOOP_INDEX = ' '
TABLES
dynpfields = it_fieldvalues
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Regards
Sourabh -
How to read the field value from Table Control
Hello Experts,
I am creating my first Table Control Screen. Basically I have to create a screen (102) with a table control which has 2 fields: A_QTY, B_QTY and 2 Buttons: SAVE, EXIT.
When Clicked on 'SAVE' the data (MATNR) from a previous screen (101) and the data (A_QTY, B_QTY) from the new screen (102) should be saved into a Z-table.
Internal table t_data has 3 fields.
MATNR
A_QTY
B_QTY.
Table Control TC_RACK was declared like this:
controls tc_rack type tableview using screen 0102.
I/0 Fields:
A_QTY type ZQTY.
B_QTY type ZQTY.
The screen Flow Logic:
process before output.
module status_0102.
loop at t_data into w_data with control tc_rack.
endloop.
process after input.
module exit_0102 at exit-command.
loop at tc_rack.
endloop.
module user_command_0102.
module status_0102output.
set pf-status 'STATUS_102'.
set titlebar 'TITLE_102'.
describe table t_rack lines tc_rack-lines.
endmodule. "status_0102 output
process after input.
module user_command_0615 input.
case ok_code.
when 'SAVE_RK'.
when others.
endcase.
endmodule. "user_command_0102 input
Now for eg, when the users enter values for A_QTY and B_QTY like this:
A_QTY B_QTY
1000 2000
3000 4000
How can I read these values and pass them to T_DATA so that I can save it into Z-table?
I greatly appreciate your help.
I've gone through some previously posted threads and could not understand because my knowledge in this area is preliminary.
Thanks a lot.
Could you please let me know
Edited by: dev a on Jan 13, 2010 2:46 PMHi dev a
You should use
DATA: lv_name(30) TYPE c.
FIELD-SYMBOLS: <QTY> type ZQTY.
GET CURSOR FIELD lv_name. "Get the field name in table control
check sy-subrc = 0.
assign (lv_name) to <QTY>. "Here you get the value in <QTY>
check sy-subrc = 0.
Also use <your table control>-current_line to get the table index uo're currently on.
Hint: Do not use GET CURSOR LINE if you want to get table index since this gives you the line relative to dialog screen
Good luck
Dean Q.
Edited by: Dean Q on Jan 13, 2010 11:11 PM -
Screen Resolution in table control bdc
Hi ,
Im working on bdc table control using call transaction method for vk11 and mek1.While uploading data for vk11 for the first time it is taking all the records of the input file and if i do the same for the second time by changing the amount value it is taking only 24 records .(i.e if the input file contains only 24 records it wil update else if it has 25 records or more it not updating even single record and it is showing error " No batch input data for screen sapmv13A ..)...this issue is with the production server......................whereas in development and quality servers there is no problem....................
what migh be the problem and how to solve it?
can anyone plz help me on thisif its a problem in screen resolution then while recording through SHDB mark the check box default size
or
to make the bdc execute in standard screen size check the code below
data x_ctuparams type ctu_params.
x_ctuparams-defsize = 'X'. " This would freeze the resolution in any system
x_ctuparams-dismode = 'N'.
x_ctuparams-updmode = 'S'.
call transaction <TCODE> using it_bdcdata options from x_ctuparams.
So whatever is the screen size of the users front-end, the BDC will execute in standard screen size -
Need to display null values against table
Hi All,
I have one table in which I only need to display null values along with the rest of columns. for example
ename sal date
scott 2000 15/07/06
Michal
now my query should return---
ename sal date
michal
hare krishna
AlokMaybe it is something like this?:
michaels> select column_name || ' contains ' ||
dbms_xmlgen.getxmltype ('select sum(nvl2(' || column_name || ',0,1)) c from ' || table_name ).extract ('//text()').getnumberval() ||
' NULL values' null_columns
from cols
where table_name = 'EMP'
and dbms_xmlgen.getxmltype ('select sum(nvl2(' || column_name || ',0,1)) c from ' || table_name ).extract ('//text()').getnumberval() > 0
NULL_COLUMNS
MGR contains 1 NULL values
COMM contains 10 NULL values -
Reading any value from table into a string (Especially date etc..)
How would I read any value from a table into a string?
Currently doing the following...
data ret_val type string.
select single (wa_map-qes_field) from z_qekko into ret_val
where
angnr = _angnr.
When the source field is a date it bombs though.
The result goes into a BDCDATA-fval.
regards
Dylan.Tried...
1 DATA: lp_data TYPE REF TO DATA.
2 FIELD-SYMBOLS: <value> TYPE ANY.
3 CREATE DATA lp_data LIKE (wa_map-qes_field).
4 ASSIGN lp_data->* TO <value>.
5 SELECT SINGLE (wa_map-qes_field) FROM zquadrem_qekko INTO <value> WHERE angnr = _angnr.
Complains that (wa_map-qes_field) is not defined in line 3.
Think that the bracket thing is only available via SQL.
What about CREATE DATA lp_data type ref to object. ?
Would the above declaration work?
regards
Maybe you are looking for
-
Is there anyone at all here who has successfully compiled and deployed an SSRS custom report item in VS2012? Is there a demo out there that actually works in VS2012? Is there anyone who has actually been able to compile and deploy that apparently o
-
How do I know which bank my bad DIMM is in?
I've run the AHT and it identified a bad DIMM, which I can return to the vendor for replacement. I'm just not sure which of the 2 DIMMS to send them. Here's what the AHT said: 2mem/1/4:DIMM2/J13 Can anyone tell me if this DIMM is in the top bank or t
-
SSL/MSSTD settings Outlook anywhere
All, just want to raise a question, as I noticed a strange behaviour. I have Exchange 2013 with Outlook Anywhare configured in this way: So external and internal hostname is the same, SSL required only from external. Internal connection works just fi
-
Does iOS 5 Give The iPad Siri?
Can I get Siri on my iPad with iOS 5?
-
Editing a note in the iCal bubble.......
Hello All: I am new to iCal and have come across an issue that I cannot explain. I use apple+E to edit an event however, it will not allow me to edit the notes in that event. I have tried what seems like everything and I can edit anything else in the