You can use SELECT-OPTIONS:
TABLES MARA.
SELECT-OPTIONS:
s_matnr FOR mara-matnr MATCHCODE OBJECT MAT1 ,
s_mtart FOR mara-MTART MATCHCODE OBJECT H_T134 ,
s_mbrsh FOR mara-MBRSH MATCHCODE OBJECT H_T137 ,
s_matkl FOR mara-MATKL MATCHCODE OBJECT H_T023 ,
s_meins FOR mara-MEINS MATCHCODE OBJECT H_T006 .
* [...]
SELECT * FROM MARA where
matnr in s_matnr and
mtart in s_mtart and
mbrsh in s_mbrsh and
matkl in s_matkl and
meins in s_meins.
When you do this, the selection screen allows you to use multiple values and ranges for the data.
If you need single values such as parameter-command, you must set additional options for SELECT-OPTION:
NO INTERVALSto allow only single valuesNO-EXTENSIONto allow only one value.OBLIGATORYif an empty value is unacceptable (as far as I understand your question, you have the opposite situation, so you do not need it).
So your choice:
SELECT-OPTIONS:
s_matnr FOR mara-matnr NO-EXTENSION NO INTERVALS,
s_mtart FOR mara-MTART NO-EXTENSION NO INTERVALS,
s_mbrsh FOR mara-MBRSH NO-EXTENSION NO INTERVALS,
s_matkl FOR mara-MATKL NO-EXTENSION NO INTERVALS,
s_meins FOR mara-MEINS NO-EXTENSION NO INTERVALS.
Note:
MARAshould be defined as TABLEif you useSELECT-OPTIONS- Do you really need
MATCHCODE OBJECT? Usually usage FORalready defines the correct matchcode object (via data item / domain).
Denial of responsibility: