REPORT Y_RANGE_TABLE_SAMPLE.
*VBAP-ernam
*vbap-kunnr
*vbap-audat
*vbap-auart
*vbap-vkorg.
DATA : lr_ernam TYPE RANGE OF vbak-ernam,
lr_kunnr TYPE RANGE OF vbak-kunnr,
lr_audat TYPE RANGE OF vbak-audat,
lr_auart TYPE RANGE OF vbak-auart,
lr_vkorg TYPE RANGE OF vbak-vkorg.
DATA : ls_ernam LIKE LINE OF lr_ernam,
ls_kunnr LIKE LINE OF lr_kunnr,
ls_audat LIKE LINE OF lr_audat,
ls_auart LIKE LINE OF lr_auart,
ls_vkorg LIKE LINE OF lr_vkorg.
*** append ernam
IF lv_created_by IS NOT INITIAL.
ls_ernam-sign = 'I'.
ls_ernam-option = 'EQ'.
ls_ernam-low = lv_created_by.
APPEND ls_ernam TO lr_ernam.
ENDIF.
IF lv_customer IS NOT INITIAL.
ls_kunnr-sign = 'I'.
ls_kunnr-option = 'EQ'.
ls_kunnr-low = lv_customer.
APPEND ls_kunnr TO lr_kunnr.
ENDIF.
IF lv_doc_date IS NOT INITIAL.
ls_audat-sign = 'I'.
ls_audat-option = 'EQ'.
ls_audat-low = lv_doc_date.
APPEND ls_audat TO lr_audat.
ENDIF.
IF lv_doc_type IS NOT INITIAL.
ls_auart-sign = 'I'.
ls_auart-option = 'EQ'.
ls_auart-low = lv_doc_type.
APPEND ls_auart TO lr_auart.
ENDIF.
IF lv_sales_org IS NOT INITIAL.
ls_vkorg-sign = 'I'.
ls_korg-option = 'EQ'.
ls_vkorg-low = lv_sales_org.
APPEND ls_vkorg TO lr_vkorg.
ENDIF.
IF lr_ernam IS INITIAL AND
lr_erdata IS INITIAL. " AND....
CONTINUE.
ELSE.
SELECT * FROM vbak
iNTO TABLE @DATA(lt_sales_data)
WHERE vblen = p_vblen
AND ernam IN lr_ernam
AND erdat IN lr_erdat.
* AND
ENDIF.
Output :