需求:用户给一个FS,里面写参考某某程序,这个程序屏幕选择条件*****(一堆条件),按这意思是一点点梳理这个参考程序。此时作为开发首先想到的就是直接submit获取参考程序的内表数据。此时可能出现的问题是:需不需要展示submit程序屏幕;submit后,新程序ALV不能显示了;
cl_salv_bs_runtime_info=>set( display = abap_false metadata = abap_false data = abap_true ). SUBMIT ****程序 WITH f_werks IN r_werks "工厂 WITH f_lgort IN r_lgort "库存地点 WITH ra_charg = 'X' "批次号 WITH sfstock = 'X' "自有库存 WITH f_sobkz = 'X' "供应商寄售库存 WITH c_stock = 'X' "委外库存 AND RETURN. TRY. " get data from SALV model cl_salv_bs_runtime_info=>get_data_ref( IMPORTING r_data = lo_data ). ASSIGN lo_data->* TO <lt_outtab>. CATCH cx_salv_bs_sc_runtime_info. ENDTRY. cl_salv_bs_runtime_info=>clear_all( ).
最前一段方法代码意思为:该submit在黑暗模式下运行,submit的程序ALV不会被输出到GUI
最后一句就是解决submit程序后ALV不能展示的问题