Hi guru,
In a report prg there is an event called :
at SELECTION-SCREEN on VALUE-REQUEST FOR <fieldname>.
pls tell me that when i am using a module pool prg how do I
call the above event.
In other words what is the module pool equivalent for the
above event which is used in a report prg.
Hope I am able explain my query.
Answer Posted / saifur rahaman
you need to use FM 'DYNP_VALUES_READ' to read the screen
fields if you are not using OKCODE as ENTER.
For this functional module you need to pass passing the
program name, screen number and get the screen field vale
in dynpfileds table in the PROCESS ON VALUE-REQUEST.
see the sample code below.
PROCESS ON VALUE-REQUEST.
FIELD v_item MODULE f4help_item.
refresh it_dynpfields.
wa_dynpfields-fieldname = 'V_VBELN'.
append wa_dynpfields to it_dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING dyname = sy-repid
dynumb = sy-dynnr
* TRANSLATE_TO_UPPER = ' '
* REQUEST = ' '
* PERFORM_CONVERSION_EXITS = ' '
* PERFORM_INPUT_CONVERSION = ' '
* DETERMINE_LOOP_INDEX = ' '
tables dynpfields = it_dynpfields.
* 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.
LOOP AT it_dynpfields into wa_dynpfields.
IF wa_dynpfields-fieldname = 'V_VBELN'.
V_VBELN = wa_dynpfields-fieldvalue.
ENDIF.
ENDLOOP.
IF NOT v_vbeln IS INITIAL.
SELECT vbeln posnr FROM vbrp INTO TABLE it_posnr WHERE
vbeln = v_vbeln.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
* DDIC_STRUCTURE = ' '
retfield = 'POSNR'
* PVALKEY = ' '
dynpprog = 'Z42778_F4_TEST'
dynpnr = '1000'
dynprofield = 'V_ITEM'
* STEPL = 0
* WINDOW_TITLE =
* VALUE = ' '
value_org = 'S'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* MARK_TAB =
* IMPORTING
* USER_RESET =
TABLES
value_tab = it_posnr.
* FIELD_TAB =
* RETURN_TAB =
* DYNPFLD_MAPPING = v_project
* EXCEPTIONS
* PARAMETER_ERROR = 1
* NO_VALUES_FOUND = 2
* OTHERS = 3
ENDIF.
Is This Answer Correct ? | 4 Yes | 0 No |
Post New Answer View All Answers
Why do we need enhancements?
What is the difference between a pool table and a transparent table?
Mention what is alv programming in abap?
What are the different types of data dictionary objects? : abap data dictionary
What are the types of parameters in the function modules?
What is read line in abap?
how to modify the standard method as per your requirement
what is the difference between hashed & sorted internal tables?
what is the exact code that shoud be implimented in sap note
What is gui status? How to create /edit gui status?
How can we create callable modules of program code within one abap/4 program? : abap modularization
What are the different types of sapscript symbols?
Which type of tables used this buffer?
What is the length of function code at user-command?
How to give programe name as input in BDC report of abap ?