代码:
FORM frm_user_command USING r_ucomm LIKE sy-ucommrs_selfield TYPE slis_selfield.DATA gv_str TYPE string.
*刷新alvDATA:lob_grid TYPE REF TO cl_gui_alv_grid.CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'IMPORTINGe_grid = lob_grid.CALL METHOD lob_grid->check_changed_data.rs_selfield-refresh = 'X'.rs_selfield-col_stable = 'X'.rs_selfield-row_stable = 'X'.CASE r_ucomm.WHEN '&INTO'.PERFORM frm_bapi_data."批次特性匯入PERFORM frm_bapi_alldata."文件匯入WHEN '&IC1'."页面跳转IF rs_selfield-fieldname = 'AUFNR'.gv_str = rs_selfield-value+0(2).IF gv_str = '45' OR gv_str = '48'."採購單set PARAMETER ID 'BSA' field 'ZNB'.set PARAMETER ID 'BES' field rs_selfield-value.call TRANSACTION 'ME23N'.ELSEIF gv_str = '55'.PERFORM frm_bdcme39 USING rs_selfield-value.ELSE."訂單PERFORM frm_bdcco03 USING rs_selfield-value.ENDIF.ELSEIF rs_selfield-fieldname = 'MBLNR'.IF rs_selfield-value IS NOT INITIAL.PERFORM frm_bdcmbl USING rs_selfield-value.ENDIF.ENDIF.ENDCASE.rs_selfield-refresh = 'X'.
"宽度自适应gt_layo-cwidth_opt = 'X'.CALL METHOD lob_grid->set_frontend_layoutEXPORTINGis_layout = gt_layo.CALL METHOD lob_grid->refresh_table_display " 功能A: 基本显示EXCEPTIONSfinished = 1OTHERS = 2.CALL METHOD lob_grid->refresh_table_display.
ENDFORM.
注意:刷新时,工具栏会再次出现,可以设置gt_layo的参数no_toolar来去掉工具栏
使用SET PARAMETER和CALL TRANSACTION语句跳转:
案例一:
CASE r_ucomm.WHEN '&INTO'.PERFORM frm_bapi_data."批次特性匯入PERFORM frm_bapi_alldata."文件匯入WHEN '&IC1'."页面跳转IF rs_selfield-fieldname = 'AUFNR'.gv_str = rs_selfield-value+0(2).IF gv_str = '45' OR gv_str = '48'."採購單set PARAMETER ID 'BSA' field 'ZNB'.set PARAMETER ID 'BES' field rs_selfield-value.call TRANSACTION 'ME23N'.ELSEIF gv_str = '55'.PERFORM frm_bdcme39 USING rs_selfield-value.ELSE."訂單PERFORM frm_bdcco03 USING rs_selfield-value.ENDIF.ELSEIF rs_selfield-fieldname = 'MBLNR'.IF rs_selfield-value IS NOT INITIAL.PERFORM frm_bdcmbl USING rs_selfield-value.ENDIF.ENDIF.ENDCASE.
MIGO时需要通过函数MIGO_DIALOG进行跳转
CALL FUNCTION 'MIGO_DIALOG'EXPORTINGI_ACTION = 'A04'I_REFDOC = 'R02'I_MBLNR = '4900000324'I_MJAHR = '2018'EXCEPTIONSILLEGAL_COMBINATION = 1OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.