Retrieving ALV Grid data by SUBMIT Statement

TYPES:
BEGIN OF lty_rwb2r_business_volume,
num        TYPE wcb_coco_num,
vbeln      TYPE vbeln_vf,
settl_date TYPE wb2_settlement_date,
fkdat      TYPE fkdat,
END OF lty_rwb2r_business_volume.
DATA lt_rwb2r_business_volume TYPE STANDARD TABLE OF lty_rwb2r_business_volume.
DATA ls_rwb2r_business_volume LIKE LINE OF lt_rwb2r_business_volume.

  FIELD-SYMBOLS<lt_pay_data> TYPE ANY TABLE .
FIELD-SYMBOLS<lfs_any> TYPE any.
DATA lr_pay_data TYPE REF TO data.
cl_salv_bs_runtime_info=>set(    EXPORTING display  abap_false
metadata abap_false
data     abap_true ).
CLEAR so_num.
so_numsign ‘I’.
so_numoption ‘EQ’.
so_numlow ls_wbrkcontract.
APPEND so_num.

CLEAR so_type.
so_typesign ‘I’.
so_typeoption ‘EQ’.
so_typelow ‘ZPAC’.
APPEND so_type.

CLEAR so_date.
so_datesign ‘I’.
so_dateoption ‘EQ’.
so_datelow ls_wbrksettlement_date.
APPEND so_date.
SUBMIT rwb2r_business_volume WITH so_num IN so_num
WITH so_type IN so_type
WITH so_date IN so_date
WITH p_bvb 
WITH p_level ‘3’
AND RETURN.
TRY.
cl_salv_bs_runtime_info=>get_data_refIMPORTING r_data lr_pay_data ).
ASSIGN lr_pay_data->TO <lt_pay_data>.
CATCH cx_salv_bs_sc_runtime_info.
MESSAGE ‘Unable to retrieve ALV data from program rwb2r_business_volume’ TYPE ‘E’.
ENDTRY.

cl_salv_bs_runtime_info=>clear_all).

LOOP AT <lt_pay_data> ASSIGNING  <lfs_any>.

MOVE-CORRESPONDING  <lfs_any> TO ls_rwb2r_business_volume .

APPEND ls_rwb2r_business_volume TO lt_rwb2r_business_volume.

ENDLOOP.