If you use dialog programming and want to use a multiple selection button for one of your screen field (just like...
By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.
if you where doing a "SELECT-OPTION: p_field FOR table-field" in a standard report), this tip is for you. The code was written in 4.6C and should work in earlier versions where this function exists.
- First crate a pushbutton in your screen and call it FCODE_RANGE. Set his attribute as "Output field". Also make sure it as a "Visible Length" of 17 (don't worry it will be automatically shorten during the process).
- Then we need to declare a GLOBAL variable of the same name of your pushbutton: DATA: fcode_range(20).
- We also need to declare a range to pass the data in the multiple selection screens (in this example a range for plants).
RANGES: werks_ran FOR komg-werks.
- Finally we create a form that will execute the COMPLEXE_SELECTIONS_DIALOG function.
DATA: struc_tab_and_field TYPE rstabfield. struc_tab_and_field-fieldname = 'WERKS'. struc_tab_and_field-tablename = 'KOMG'. CALL FUNCTION 'COMPLEX_SELECTIONS_DIALOG' EXPORTING * TITLE = ' ' text = 'Plans' * SIGNED = 'X' * LOWER_CASE = ' ' * NO_INTERVAL_CHECK = ' ' * JUST_DISPLAY = ' ' * JUST_INCL = ' ' * EXCLUDED_OPTIONS = * DESCRIPTION = * HELP_FIELD = * SEARCH_HELP = tab_and_field = struc_tab_and_field TABLES range = werks_ran EXCEPTIONS no_range_tab = 1 cancelled = 2 internal_error = 3 invalid_fieldname = 4 OTHERS = 5. IF sy-subrc <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF. ENDFORM. " CALL_FUNC_MULTIPLE_SELECT