‎2009 Sep 10 8:24 AM
Hi,
i have created an elemnetary serach help in se11.
i used it in my selection screen like this:
PARAMETER p_popul LIKE MY_TABLE-m__filed.
I have to use this parameter in the evenment :
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_doc
Could you explain me please :
when i select p_popul in my matchcode only by clicking, this parameter is always empty in the evenmenet mentioned before.
but when i select p_popul by clicking and after i press enter, this parameter is not empty in the mentioned evenment and contain the value i have selected.
Is it normal? how can i do to have to have p_popul not empty only by clicking selection (without pressing ENTER button).
Best regards
‎2009 Sep 10 8:30 AM
Hi abybak,
<li> You do not need to press ENTER to get p_popul in the event AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_doc .
<li> Use DYNP_VALUES_READ fm to in the event AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_doc like below.
Thanks,Venkat.O REPORT ztest_notepad.
DATA: BEGIN OF it_marc OCCURS 0,
matnr TYPE marc-matnr,
werks TYPE marc-werks,
END OF it_marc.
DATA:it_dynpread TYPE TABLE OF dynpread,
wa_dynpread LIKE LINE OF it_dynpread.
DATA: it_return_tab TYPE ddshretval OCCURS 0,
wa_return LIKE LINE OF it_return_tab.
PARAMETERS:
p_werks TYPE marc-werks,
p_matnr TYPE marc-matnr.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_matnr.
wa_dynpread-fieldname = 'P_WERKS'.
APPEND wa_dynpread TO it_dynpread.
CLEAR wa_dynpread.
"DYNP_VALUES_READ read screen
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TABLES
dynpfields = it_dynpread.
READ TABLE it_dynpread INTO wa_dynpread INDEX 1.
p_werks = wa_dynpread-fieldvalue.
IF it_marc[] IS INITIAL.
SELECT * FROM marc INTO CORRESPONDING FIELDS OF TABLE it_marc WHERE werks = p_werks.
ENDIF.
"F4 help F4IF_INT_TABLE_VALUE_REQUEST
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'MATNR'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'P_MATNR'
value_org = 'S'
TABLES
value_tab = it_marc
return_tab = it_return_tab.
IF sy-subrc EQ 0.
READ TABLE it_return_tab INTO wa_return INDEX 1.
IF sy-subrc EQ 0.
p_matnr = wa_return-fieldval.
ENDIF.
ENDIF.
‎2009 Sep 10 8:30 AM
Hi abybak,
<li> You do not need to press ENTER to get p_popul in the event AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_doc .
<li> Use DYNP_VALUES_READ fm to in the event AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_doc like below.
Thanks,Venkat.O REPORT ztest_notepad.
DATA: BEGIN OF it_marc OCCURS 0,
matnr TYPE marc-matnr,
werks TYPE marc-werks,
END OF it_marc.
DATA:it_dynpread TYPE TABLE OF dynpread,
wa_dynpread LIKE LINE OF it_dynpread.
DATA: it_return_tab TYPE ddshretval OCCURS 0,
wa_return LIKE LINE OF it_return_tab.
PARAMETERS:
p_werks TYPE marc-werks,
p_matnr TYPE marc-matnr.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_matnr.
wa_dynpread-fieldname = 'P_WERKS'.
APPEND wa_dynpread TO it_dynpread.
CLEAR wa_dynpread.
"DYNP_VALUES_READ read screen
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TABLES
dynpfields = it_dynpread.
READ TABLE it_dynpread INTO wa_dynpread INDEX 1.
p_werks = wa_dynpread-fieldvalue.
IF it_marc[] IS INITIAL.
SELECT * FROM marc INTO CORRESPONDING FIELDS OF TABLE it_marc WHERE werks = p_werks.
ENDIF.
"F4 help F4IF_INT_TABLE_VALUE_REQUEST
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'MATNR'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'P_MATNR'
value_org = 'S'
TABLES
value_tab = it_marc
return_tab = it_return_tab.
IF sy-subrc EQ 0.
READ TABLE it_return_tab INTO wa_return INDEX 1.
IF sy-subrc EQ 0.
p_matnr = wa_return-fieldval.
ENDIF.
ENDIF.
‎2009 Sep 10 10:48 AM