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
What is a view? : abap data dictionary
How do you use structures in the abap programs?
What is the difference between the function module and a normal abap/4 subroutine? : abap modularization
What is function group?
Can you define a field without a data element?
What are pool tables?
What is open sql vs native sql ?
What are field symbols and field groups? Have you used component idx of structure clause with field groups?
What is asynchronous and synchronous update?
Value table VS check Table.
Fallback class
What is the table buffer? Which type of tables used this buffer?
Normally how many and what files get created when a transaction program is written? what is the XXXXXTOP program?
Do you know any other patterns if yes.. explain
What is Group by in Select statement?