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( ).