DATA bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
DATA messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
SELECT-OPTIONS: s_bukrs FOR anla-bukrs DEFAULT '5700',
s_anlkl FOR anla-anlkl DEFAULT 'Z411'.
FIELD-SYMBOLS: <lt_data> TYPE STANDARD TABLE.
DATA ls_data TYPE REF TO data.
CALL METHOD cl_salv_bs_runtime_info=>set
EXPORTING
display = abap_false
metadata = abap_false
data = abap_true.
*AR01
*方式1 用Submit调用 选择屏幕字段可以在标准屏幕F1或者/H查找
SUBMIT rabest_alv01
WITH bukrs IN s_bukrs
WITH so_anlkl IN s_anlkl
WITH berdatum = '20231031'
WITH bereich1 = '01'
WITH srtvr = '0001'
WITH xeinzel = 'X'
WITH p_grid = 'X'
AND RETURN .
*方式2 用BDC调用替代Submit
*PERFORM bdc_dynpro USING 'RABEST_ALV01' '1000'.
*PERFORM bdc_field USING 'BDC_CURSOR'
* 'P_GRID'.
*PERFORM bdc_field USING 'BDC_OKCODE'
* '=ONLI'.
*PERFORM bdc_field USING 'BUKRS-LOW'
* '5700'.
*PERFORM bdc_field USING 'SO_ANLKL-LOW'
* 'Z411'.
*PERFORM bdc_field USING 'BERDATUM'
* '20231031'.
*PERFORM bdc_field USING 'BEREICH1'
* '01'.
*PERFORM bdc_field USING 'SRTVR'
* '0001'.
*PERFORM bdc_field USING 'XEINZEL'
* 'X'.
*PERFORM bdc_field USING 'P_GRID'
* 'X'.
*
*
*CALL TRANSACTION 'AR01' USING bdcdata
* MODE 'N'
* UPDATE 'S'
* MESSAGES INTO messtab.
*
*
TRY.
CALL METHOD cl_salv_bs_runtime_info=>get_data_ref
IMPORTING
r_data = ls_data.
ASSIGN ls_data->* TO <lt_data>.
CATCH cx_salv_bs_sc_runtime_info.
MESSAGE '没有满足条件的数据' TYPE 'E'.
ENDTRY.
cl_salv_bs_runtime_info=>clear_all( ).