On Value Request Problem
When I use On Value request for sel_op_fielda, I need to validate another field in my selection screen.... ( Sel_op_fieldb-low in case of this example)
It's... not working. When debbuging the Sel_opfieldb keeps comming initial.
Am I forgotting something?
Header line and itab.... both Initial.
I debbuged a standard program and saw it using de Function Indicated by our friend here.
Function: DYNP_VALUES_READ
But still my CN_'s comming Initial.
Code Below:
Data: ti_campos like table of DYNPREAD WITH HEADER LINE,
l_repid like sy-repid.
l_repid = sy-repid.
ti_campos-FIELDNAME = 'CN_PROJN-LOW'.
append ti_campos.
ti_campos-FIELDNAME = 'CN_PROJN-HIGH'.
append ti_campos.
ti_campos-FIELDNAME = 'CN_NETNR-LOW'.
append ti_campos.
ti_campos-FIELDNAME = 'CN_NETNR-HIGH'.
append ti_campos.
ti_campos-FIELDNAME = 'CN_PSPNR-LOW'.
append ti_campos.
ti_campos-FIELDNAME = 'CN_PSPNR-HIGH'.
append ti_campos.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = l_repid
dynumb = sy-dynnr
TRANSLATE_TO_UPPER = ' '
REQUEST = ' '
PERFORM_CONVERSION_EXITS = ' '
PERFORM_INPUT_CONVERSION = ' '
DETERMINE_LOOP_INDEX = ' '
tables
dynpfields = ti_campos
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.
Message was edited by:
Jose Oliveira
Similar Messages
-
AT SELECTION SCREEN OUTPUT ON VALUE REQUESt problem
hi I am fetching the values into second field based on first field by reading them like this
<b>
AT SELECTION-SCREEN ON VALUE-REQUEST FOR ST_NAME.
CLEAR: FIELD_VALUE, DYNPRO_VALUES.
REFRESH DYNPRO_VALUES.
FIELD_VALUE-FIELDNAME = 'EXCH'.
APPEND FIELD_VALUE TO DYNPRO_VALUES.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = SY-CPROG
DYNUMB = SY-DYNNR
TRANSLATE_TO_UPPER = 'X'
TABLES
DYNPFIELDS = DYNPRO_VALUES.
READ TABLE DYNPRO_VALUES INDEX 1 INTO FIELD_VALUE.
IF FIELD_VALUE-FIELDVALUE IS NOT INITIAL.
IF SY-SUBRC = 0 AND FIELD_VALUE-FIELDVALUE = 1.
FIELD_VALUE-FIELDVALUE = 'BSE'.
ELSEIF SY-SUBRC = 0 AND FIELD_VALUE-FIELDVALUE = 2.
FIELD_VALUE-FIELDVALUE = 'NSE'.
ENDIF.
SELECT STOCK ST_NAME
FROM
ZEXCH
INTO TABLE TEMP_ITAB
WHERE EXCH = FIELD_VALUE-FIELDVALUE.
IF SY-SUBRC = 0.
FLAG = 'X'.
ENDIF.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'ST_NAME'
DYNPPROG = SY-CPROG
DYNPNR = SY-DYNNR
DYNPROFIELD = 'ST_NAME'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = TEMP_ITAB.
ENDIF.
</b>
This is working fine, now my requirement is to fetch a value into 3rd field from database table when the user selects a value through 'F4IF_INT_TABLE_VALUE_REQUEST'
Please help me with this, hope u got my problem, i want to know how to continue and fill value into third field after filling the field ST_NAME
points guaranteedHi,
If you have two parameters, you want to display values(f4) in parameter 2
depending on the values entered in parameter 1.
REPORT Z_SRI_HELP_VALUE_FOR_TABLES .
tables tcurt.
DATA DYFIELDS LIKE DYNPREAD OCCURS 1 WITH HEADER LINE.
PARAMETERS: P_WAERS LIKE TCURT-WAERS, "Currency
P_LTEXT LIKE TCURT-LTEXT, "Long Text
P_KTEXT LIKE TCURT-KTEXT. "Short Text
*--- Example of updating value of another field on the screen -
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_WAERS.
CLEAR: DYFIELDS[], DYFIELDS.
*--- select currency
CALL FUNCTION 'HELP_VALUES_GET'
EXPORTING
fieldname = 'WAERS'
tabname = 'TCURT'
IMPORTING
SELECT_VALUE = P_WAERS.
*--- get long text for the selected currency
SELECT SINGLE LTEXT FROM TCURT
INTO DYFIELDS-FIELDVALUE
WHERE SPRAS = SY-LANGU
AND WAERS = P_WAERS.
IF SY-SUBRC <> 0.
CLEAR DYFIELDS-FIELDVALUE.
ENDIF.
*--- update another field
DYFIELDS-FIELDNAME = 'P_LTEXT'.
APPEND DYFIELDS.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
DYNAME = SY-CPROG
DYNUMB = SY-DYNNR
tables
dynpfields = DYFIELDS .
*--- Example of reading value of another field -
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_KTEXT.
*--- read another field
CLEAR: DYFIELDS[], DYFIELDS.
DYFIELDS-FIELDNAME = 'P_WAERS'.
APPEND DYFIELDS.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = SY-CPROG
DYNUMB = SY-DYNNR
TABLES
DYNPFIELDS = DYFIELDS .
READ TABLE DYFIELDS INDEX 1.
*--- get short text and update current field
SELECT SINGLE KTEXT FROM TCURT
INTO P_KTEXT
WHERE SPRAS EQ SY-LANGU
AND WAERS EQ DYFIELDS-FIELDVALUE.
How to add F4 functionality to a paramter variable? Say P_name ie Parameters: P_name like dbtab-fieldname
in At selection-screen on value-request for p_name. How should I add the values john, abraham, linga etc so that these values appear when f4 is pressed on the field in the selection screen?
PARAMETERS: p_name(10).
DATA: BEGIN OF value_tab OCCURS 0,
name(10),
END OF value_tab.
DATA :field_tab LIKE dfies OCCURS 0 WITH HEADER LINE.
DATA : return_tab LIKE ddshretval OCCURS 0 WITH HEADER LINE. DATA : x TYPE string.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_name.
REFRESH value_tab[].
REFRESH field_tab[].
REFRESH return_tab[].
field_tab-fieldname = 'ERNAM'.
field_tab-tabname = 'VBAK'.
APPEND field_tab.
value_tab-name = 'John'.
APPEND value_tab.
value_tab-name = 'Abraham'.
APPEND value_tab.
value_tab-name = 'Lingam'.
APPEND value_tab.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = field_tab-fieldname
TABLES
value_tab = value_tab
field_tab = field_tab
return_tab = return_tab
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc = 0.
p_name = return_tab-fieldval.
ENDIF.
Regards
Sudheer -
Problem in select-options value request
Hi All,
I have one select-option s_opt for vendor description. I want to have value request for both s_opt-low and s_opt-high. For that i have to write the functonal module
at selection-screen on value-request for s_opt-low. and at selection-screen on value-request for s_opt-high. for both or any other procedure.
In s_opt using drop down menu user can enter vendor description up to 10 Char, lower or upper case acceptable, & Wild card .
Can any one help with code for the above two problems.
Assured points.
With thanks in advance.
AshokHi , check the code .
Just populate the itab entries either with a select on lfa1 .
here im populating with sy-index values .
REPORT zforum12.
tables : lfa1.
select-options : so_lifnr FOR lfa1-lifnr.
data: begin of itab_LIFNR occurs 0,
lifnr like lfa1-lifnr,
end of itab_LIFnr.
DATA: ITAB_SELECTED_lifnr TYPE DDSHRETVAL OCCURS 0 WITH HEADER LINE.
initialization.
do 20 times.
move sy-index to itab_lifnr.
append itab_lifnr.
enddo.
at selection-screen on value-request for SO_LIFNR-LOW.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'SO_LIFNR-LOW'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = itab_LIFNR
return_tab = ITAB_SELECTED_LIFNR
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
IF SY-SUBRC eq 0.
READ TABLE ITAB_SELECTED_LIFNR INDEX 1.
MOVE ITAB_SELECTED_LIFNR-FIELDVAL TO SO_LIFNR-LOW.
ELSE.
* MESSAGE ....
ENDIF.
at selection-screen on value-request for SO_LIFNR-HIGH.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'SO_LIFNR-HIGH'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = itab_LIFNR
return_tab = ITAB_SELECTED_LIFNR
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
IF SY-SUBRC eq 0.
READ TABLE ITAB_SELECTED_LIFNR INDEX 1.
MOVE ITAB_SELECTED_LIFNR-FIELDVAL TO SO_LIFNR-HIGH.
ELSE.
* MESSAGE ....
ENDIF.
start-of-selection.
write:/ SO_LIFnr-LOW, SO_LIFNR-HIGH.
regards,
vijay -
Process On Value Request with Search Help Problem
I have a screen with a field that has a custom search help attached to it. I am using Process On Value-Request which ultimately uses function module F4IF_FIELD_VALUE_REQUEST to return the selected value from the search help. The value is then moved to the screen field.
THE PROBLEM: If I enter a value in a field on the screen, then use the search help from a different field the first value I entered gets cleared. Here is a code sample. Any suggestions as to why this is happening?
NOTE: The values that get cleared are fields on the screen that I do not reference at all in user_command_2501.
*****SCREEN 2500 FLOW LOGIC*********
PROCESS BEFORE OUTPUT.
MODULE status_2500.
PROCESS AFTER INPUT.
MODULE user_command_2500.
PROCESS ON VALUE-REQUEST.
FIELD makt-matnr MODULE user_command_2501.
MODULE user_command_2501 INPUT.
ok_code = sy-ucomm.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
searchhelp = 'ZWS_ASSETMATR'
fieldname = ' '
tabname = ' '
TABLES
return_tab = search_itab
EXCEPTIONS
no_values_found = 1.
MOVE search_itab-fieldval TO: makt-matnr.
REFRESH search_itab.
SELECT SINGLE maktg FROM makt INTO crea_description
WHERE matnr = search_itab-fieldval.
MOVE 'I' TO scrn_attr_sw.
sy-ucomm = 'ENTER'.
LEAVE SCREEN.
CALL SCREEN 2500.
ENDMODULE. " user_command_2501 INPUT
Message was edited by: Jason DeLuca
Message was edited by: Jason DeLucaHi Jason
It seems you should first revise your code since your POV is not implemented so good.
Regards
*--Serdar <a href="https://www.sdn.sap.com:443http://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.sdnbusinesscard?u=qbk%2bsag%2bjiw%3d">[ BC ]</a> -
Problem in at selection-screen on value request
hi friends ,
i want to display f4 help for a field in a popup. this i can do, but this popup comes based on values
i entered in other screen fields . but these values are not updated to screen values when i trigger f4.Hi,
DATA: T_DYNPRO TYPE TABLE OF DYNPREAD,
WA_DYNPRO LIKE LINE OF T_DYNPRO,
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_PARAM.
WA_DYNPRO-FIELDNAME = 'Screen Field Name'.
APPEND WA_DYNPRO TO T_DYNPRO.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = SY-REPID
DYNUMB = SY-DYNNR
TRANSLATE_TO_UPPER = 'X'
TABLES
DYNPFIELDS = T_DYNPRO
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.
READ TABLE T_DYNPRO INTO WA_DYNPRO WITH KEY FIELDNAME = 'Screen Field Name'.
TEMP = WA_DYNPRO-FIELDVALUE.
" Select the values based on Temp and populate your internal table for F4 help using the Screen value Temp
"Call 'F4IF_INT_TABLE_VALUE_REQUEST' and display the pop up. -
Problem using At Selection Screen on value request for *"Select Fieldname"*
Hi All,
I Have a requirement of passing mutiple paraters value or selection option values in selection screen.
For Eg :I Have -
*--- Selection Screen
Select-options : s1 for vbak-vbeln ,
s2 for vbap-posnr.
*--- At Selection Screen
At Selection Screen on value request for s1-low.
i need to pass S1-low as well as S2-low ...
i.e first item of the Sales Document.
Value is getting passed in S1-low but not in S2-low
Can anybody help me on this ...
Thanks in Advance ..Hi,
Make use of the FM "F4IF_INT_TABLE_VALUE_REQUEST" for the value request for the first field.
Use the "FIELD_MAPPING" in the tables parameter of the above FM.
Please go through the FM documentation.
Hope this will help you.
Regards,
Smart Varghese -
At selection-screen on value-request
Hi experts,
Pls see the below code.
When ever plant is enterd in screen i have to get material no. and material group based on that plant dynamically.
I am getting F4 list of values for the first one.But For the second one i am not getting.
What may be teh problem?
*& Report ZRA_SELECTIONSCTREEN *
REPORT ZRA_SELECTIONSCTREEN .
tables: mara,marc.
parameters: p_werks like marc-werks,
p_matnr like marC-matnr,
p_matkl like mara-matkl.
data: begin of it_matnr occurs 0,
matnr like mara-matnr,
end of it_matnr.
data: begin of it_matkl occurs 0,
matkl like mara-matkl,
end of it_matkl.
at selection-screen on value-request for p_matnr.
select matnr into table it_matnr from marc where werks = p_werks.
if not it_matnr[] is initial.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
RETFIELD = 'MATNR'
PVALKEY = ' '
DYNPPROG = SY-CPROG
DYNPNR = SY-DYNNR
DYNPROFIELD = 'p_matnr'
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
VALUE_ORG = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
VALUE_TAB = it_matnr
FIELD_TAB =
RETURN_TAB =
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
select matkl from mara into table it_matkl for all entries IN it_matnr
WHERE MATNR = IT_MATNR-MATNR.
if not it_matkl[] is INITIAL.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
RETFIELD = 'MATKL'
PVALKEY = ' '
DYNPPROG = SY-CPROG
DYNPNR = SY-DYNNR
DYNPROFIELD = 'p_matkl'
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
VALUE_ORG = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
VALUE_TAB = IT_MATKL
FIELD_TAB =
RETURN_TAB =
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
Regards
Ravi.hi
good
i tried your report, f4 help is coming for all the fields but dynamic field selection is ot coming because ther eis a prob with your select statment,
you select the data from the database table for the another two fields as the value you r entering for werks(plant).
thanks
mrutyun^ -
Search help multiple values selection problem
Hello Friends,
I am using FM f4_if_int_table_value_request FM to display multiple values on selection screen
in AT-selection-screen on value request event.
Multiple values are getting displayed perfectly .
Then after that I am using DYNP_VALUES_UPDATE FM to return the values back to screen.
But the problem is in the select-option field . It only picks the last value selected.
I have a row:
I EQ 'last value selected from F4 help screen''.
Is there a way to update multiple rows in the select option selection screen field.
Thanks.Hi Suhas,
you may try the following:
TABLES spfli.
SELECT-OPTIONS: s_carrid FOR spfli-carrid.
SELECTION-SCREEN: PUSHBUTTON /1(20) but1 USER-COMMAND carr.
INITIALIZATION.
but1 = 'Choose CARRID(s)'.
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN 'CARR'.
TYPES: t_return_tab TYPE ddshretval.
TYPES: BEGIN OF ty_line,
carrid TYPE spfli-carrid,
carrname TYPE scarr-carrname,
END OF ty_line.
DATA: it_list TYPE STANDARD TABLE OF ty_line,
wa_return_tab TYPE t_return_tab,
i_return_tab TYPE STANDARD TABLE OF t_return_tab,
v_repid TYPE sy-repid,
v_dynnr TYPE sy-dynnr.
v_repid = sy-repid.
v_dynnr = sy-dynnr.
SELECT carrid carrname
FROM scarr
INTO TABLE it_list.
IF sy-subrc = 0.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'CARRID'
dynpprog = v_repid
dynpnr = v_dynnr
* dynprofield = 'S_CARRID-LOW'
value_org = 'S'
multiple_choice = 'X'
TABLES
value_tab = it_list
return_tab = i_return_tab
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc = 0.
s_carrid-sign = 'I'.
s_carrid-option = 'EQ'.
LOOP AT i_return_tab INTO wa_return_tab.
s_carrid-low = wa_return_tab-fieldval.
APPEND s_carrid.
ENDLOOP.
READ TABLE s_carrid INDEX 1.
ENDIF.
ENDIF.
ENDCASE.
What I have done is:
- not linking the result of the F4 search to field S_CARRID-LOW
- inserting this F4 search into event AT SELECTION SCREEN. This allows to see the select-options filled when its contents are actually populated.
I hope this helps. Kind regards,
Alvaro -
How to populate 2 screen-fields with one [ON VALUE-REQUEST FOR input] evnt?
I have a selection screen with 2 text inputs - input1, input2.
For the first one I have an "AT SELECTION-SCREEN ON VALUE-REQUEST FOR input1" event.
I successfully get a value there and that is set to the screen field. But I also want input2 to be automatically populated with a value corresponding to the selected input1 (eg. input1=ID, input2=Name).
I'm able to set input2 ABAP variable but not the screen-element.
(I guess that ON VALUE-REQUEST doesn't fire any events for screen fields update, because if I press ENTER after using my search-help, then input2 is set with the right value)
How to solve the problem?Hi Ramchander,
Actually I used FM F4IF_FIELD_VALUE_REQUEST which doesn't have mapping parameters.
But after your advice I looked through F4IF_INT_TABLE_VALUES_REQUEST and found that it's
DYNP_VALUES_UPDATE FM that solves my task.
Thanks! -
Hallo,
I have the following problem:
I want to jump after a SelectionScreen On Value-Request Block to the SelectionScreen Output Block. But Abap doesn´t go there afterwards.
My "trigger" for the value Request is a normal edit field, so unfortunately I can´t give a User-Command with it.
My intended action is: If I get new information in the value request part, I´d like to set a checkbox initial (remove the check). I can implement this code in the value request block, but it doesn´t work. It only works in the Output Block.
Does somebody have an idea?
TIA and RegardsHi
The event AT SELECTION-SCREEN ON VALUE_REQUEST can update the field managed by the event, if you need to update other field in according to the selected value u need to use the fm DYNP_VALUES_UPDATE:
parameters: p_1,
p_2.
at selection-screen on value-request for p_1.
DATA: DYNAME LIKE D020S-PROG,
DYNUMB LIKE D020S-DNUM,
DYNPFIELDS TYPE TABLE OF DYNPREAD WITH HEADER LINE.
DYNAME = sy-repid.
DYNUMB = sy-dynnr.
DYNPFIELDS-FIELDNAME = 'P_2'.
DYNPFIELDS-FIELDVALUE = 'X'.
APPEND DYNPFIELDS.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
DYNAME = DYNAME
DYNUMB = DYNUMB
TABLES
DYNPFIELDS = DYNPFIELDS.
Max -
AT SELECTION-SCREEN ON VALUE-REQUEST FOR
Experts,
I have two selection parameters on Selection_Screen as subscreen, as below:
Custom Selection Screen 1010
selection-screen begin of screen 1010 as subscreen.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
SELECT-OPTIONS :
s_matnr FOR mara-matnr MODIF ID sc1, "Material
s_grid FOR mara-J_3APGNR MODIF ID sc6, "Grid values "pkb001
SELECTION-SCREEN END OF BLOCK b2.
selection-screen end of screen 1010.
Now i want to populate s_grid (Grid value) based on the values enterd for s_matnr (material ).
but when i want use:
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_grid,
I'm not getting the values eneterd in s_matnr..
is the problem beacuse of subcreen?
Answers are highly appriciated.
Thanks.Yes that is correct, Once I hit enter key, then only the value for s_matnr populates, but it is not a good Idea to expect the user to hit the enter key. is there any way i can imitate/simulate "enter" key in the program?
also I'm using the FM:'DYNP_VALUES_READ' but that is also not getting me any value..
below is the code I'm using,
FORM sub_get_grid .
Refresh: t_mara.
data: lin type i.
data: l_dyname type standard table of dynpread,
w_dynpread type dynpread.
clear w_dynpread.
w_dynpread-fieldname = 'S_MATNR'.
append w_dynpread to l_dyname.
clear w_dynpread.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TABLES
dynpfields = l_dyname.
*Do not allow to select more than 1 material at a time.
SELECT
MARA~MATNR
INTO TABLE t_mara
FROM MARA
WHERE MARA~MATNR IN s_matnr.
describe table t_mara LINES lin.
If lin > 1.
Refresh: s_matnr.
MESSAGE i000 WITH text-033.
LEAVE LIST-PROCESSING.
* LEAVE TO SCREEN 100.
endif.
ENDFORM. -
Processing field on value-request
Hi all
I am working on a module to create a custom input help.This is the code
PROCESS ON VALUE-REQUEST.
FIELD travel_route-fromcity__d MODULE f4_fromcity.
" this is the declaration of travel_route-fromcity__d
DATA travel_route-fromcity__d TYPE zcityname." descr of departure CITY
" zcityname is CHAR 60
My problem is that while processing the module, any value put on the dynpro field is blanked. Is this correct?
If for example, user in field travel_route-fromcity__d put something, I cannot see it in module.
I cannot understand why. I think value present should be passed or anyway present in variable of the report with same name of dynpro element .
Am I missing something?
thanks
GabrieleThe content of field is not automatically passed to program in module pool programming.
Use below or similar code in your module to get value of field on screen.
DATA : lv_VALUE TYPE zcityname ,
lv_field TYPE char40 VALUE 'TRAVEL_ROUTE-FROMCITY__D' .
GET CURSOR FIELD lv_field VALUE lv_land1.
Regards,
Pawan. -
Hi all,
can anyone help me out with the following code in finding F4 help for the fiscal year .
while executing it is going to dump. The problem I fing is with the value_org = 'S'.
thanks....
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_GJAHR.
SELECT DISTINCT GJAHR FROM COSS
INTO CORRESPONDING FIELDS OF TABLE LT_GJAHR
UP TO 10 ROWS.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'GJAHR'
DYNPPROG = SY-REPID
DYNPNR = SY-DYNNR
DYNPROFIELD = 'P_GJAHR'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = LT_GJAHR
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.Check the decleration of LT_GJAHR.
Update: This works fine in my system... except its taking time to get the help..
REPORT zj_test LINE-SIZE 162.
PARAMETER: p_gjahr TYPE vbrk-gjahr.
DATA: BEGIN OF lt_gjahr OCCURS 0,
gjahr TYPE vbrk-gjahr,
END OF lt_gjahr.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_gjahr.
SELECT DISTINCT gjahr FROM coss
INTO TABLE lt_gjahr
UP TO 10 ROWS.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'GJAHR'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'P_GJAHR'
value_org = 'S'
TABLES
value_tab = lt_gjahr
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
ENDIF. -
Error During Creation of Table Value Request /Simple Value Request Express
Hi,
I am on SAP CRM ABAP 7.0 with enhancement pack 2.0.
The requirement is to create a decision table which would have value(search helps) requests for some of the condition columns in it. For example, Value Request for condition column Y would come according to condition column X . As per my understanding,this could only be achieved by maintaining foreign key relationship. So I tried to create a Table Value Request which I could assign in the domain values in the data object of the corresponding condition column.
But,when I am trying to create a Table Value Request or Simple Value Request in BRF+ application, it is throwing an error message "Table FDT_EXPR_1950S is not part of the Customizing object FDT0001 T".
Could you please help me out !!Hi Carsten,
Thanks for your quick response.
Just wondering whether or not I can achieve the requirement without Table Value Request. Do you have any idea on this? -
How to get parameter value from report in event of value-request?
Hi everyone,
The customer want to use particular F4 help on report, but some input value before press enter key are not used in event of "at selection-screen on value-request for xxx", How to get parameter value in this event?
many thanks!
JackYou probably want to look at function module DYNP_VALUES_READ to allow you to read the values of the other screen fields during the F4 event... below is a simple demo of this - when you press F4 the value from the p_field is read and returned in the p_desc field.
Jonathan
report zlocal_jc_sdn_f4_value_read.
parameters:
p_field(10) type c obligatory, "field with F4
p_desc(40) type c lower case.
at selection-screen output.
perform lock_p_desc_field.
at selection-screen on value-request for p_field.
perform f4_field.
*& Form f4_field
form f4_field.
*" Quick demo custom pick list...
data:
l_desc like p_desc,
l_dyname like d020s-prog,
l_dynumb like d020s-dnum,
ls_dynpfields like dynpread,
lt_dynpfields like dynpread occurs 10.
l_dynumb = sy-dynnr.
l_dyname = sy-repid.
*" Read screen value of P_FIELD
ls_dynpfields-fieldname = 'P_FIELD'.
append ls_dynpfields to lt_dynpfields.
call function 'DYNP_VALUES_READ'
exporting
dyname = l_dyname
dynumb = l_dynumb
tables
dynpfields = lt_dynpfields
exceptions
others = 1.
check sy-subrc is initial.
*" See what user typed in P_FIELD:
read table lt_dynpfields into ls_dynpfields
with key fieldname = 'P_FIELD'.
*" normally you would then build your own search list
*" based on value of P_FIELD and call F4IF_INT_TABLE_VALUE_REQUEST
*" but this is just a demo of writing back to the screen...
*" so just put the value from p_field into P_DESC plus some text...
concatenate 'This is a description for' ls_dynpfields-fieldvalue
into l_desc separated by space.
*" Pop a variable value back into screen
clear: ls_dynpfields.
ls_dynpfields-fieldname = 'P_DESC'.
ls_dynpfields-fieldvalue = l_desc.
append ls_dynpfields to lt_dynpfields.
call function 'DYNP_VALUES_UPDATE'
exporting
dyname = l_dyname
dynumb = l_dynumb
tables
dynpfields = lt_dynpfields
exceptions
others = 0.
endform. "f4_field
*& Form lock_p_desc_field
form lock_p_desc_field.
*" Make P_DESC into a display field
loop at screen.
if screen-name = 'P_DESC'.
screen-input = '0'.
modify screen.
exit.
endif.
endloop.
endform. "lock_p_desc_field
Maybe you are looking for
-
Regarding a Change Document Function Module ----- VERY VERY Urgent
I am using a Change Document Function module "CHANGEDOCUMENT_READ". It is taking a long time. I am using the parameters: Start date is the first date of the current month Enddate as last date of the current month Object class as 'MATERIAL' Table Name
-
E-Recruiting important questions
I'm implementing the E-Recruiting and I have two important questions for this Project: 1 - The business want to capture mobility (willingness to relocate / travel) at the time of position application. Is there a standard field for store this informat
-
Single photos printed in iPhoto come out all wrong
I'm trying to print photos from iPhoto. The problem is they come out the wrong size or with the incorrect alignment (or both). I'm printing on an Epson using 4x6 photo paper. After I've believed to set up the size and print quality in the Print dialo
-
Transferring Boris FS plug-ins from CS3 to CS4 - Mac OSX
I purchased Continuum Complete 5 AE for Mac OSX to use the plug-ins for my CS3 versions of After Effects and Premiere Pro. Now that I have CS4 versions of After Effects and Premiere Pro, how do transfer the plug-ins to work with the CS4 versions. Acc
-
Assertion Failed! error when trying to install
I've been trying to get World of Warcraft on my iBook since I bought it in late August, and after just now using a different set of disks I'm convinced that I have a hardware problem. On the same disk (on both copies) I get the error: Assertion Faile