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
How to eliminate duplicate entries in internal tables? : abap data dictionary
What is pretty printer?
What are the basic object types? : sap abap hr
What is the difference between bdc_open_group and bdc_open_dataset. : abap bdc
Explain what is a logical database?
what are the two methods of modifying sap standard tables? : abap data dictionary
What are the events used in interactive reports?
What is meant by read lock? : sap abap data dictionary
Explain what are the problems in processing batch input sessions? How is batch input process different from processing on line?
when do you need to create an internal table with header line ? and with out a header line?
What are the types of data types in the sap abap?
Why do we use Abstract classes give an example from your project?
Explain the table, which contain the details of all the name of the programs and forms?
How do you process errors in session method ? : abap bdc
What are the differences between primary and secondary indexes?