1. 事务码cdesk增强主要涉及两个badi :CDESK_TBM_ADDIN
CDESK_TBM_ADDIN 方法 ADD_NEW_FUNCTIONS 新增自定义的按钮,代码实例如下:
DATA ls_menu LIKE LINE OF menu_objects.
CLEAR ls_menu.
ls_menu-tabstrip = 'TSSAP'. "页签
ls_menu-context = 'MATERIAL'. "节点
ls_menu-icon = '@A6@'.
ls_menu-button_btext = '批量创建'.
ls_menu-button_tip = '批量创建物料'.
ls_menu-type = '2'. "工具栏按钮类型
ls_menu-fcode = 'ZBC'. "功能代码 在方法PROCESS_NEW_FUNCTIONS将使用
ls_menu-ctext = '批量创建'.
ls_menu-accelerator = ''.
APPEND ls_menu TO menu_objects.
CDESK_TBM_ADDIN 方法 PROCESS_NEW_FUNCTIONS 定义按钮事件处理逻辑:
DATA ls_document TYPE LINE OF plm_document_tab.
CASE fcode.
WHEN 'ZBC'.
LOOP AT documents INTO ls_document.
IF ls_document-statusintern <> '40'.
MESSAGE e012(zplm).
ENDIF.
ENDLOOP.
WHEN OTHERS.
ENDCASE.
1. CDESK_BADI_MAIN 主要用来增强已有的界面
ON_FUNCTION方法实现对已有按钮事件的增强
DATA ls_document TYPE LINE OF plm_document_tab.
CASE fcode.
WHEN 'CREATE_MAT'.
LOOP AT documents INTO ls_document WHERE statusintern <> '40'.
IF sy-subrc = 0.
MESSAGE e012(zplm).
ENDIF.
ENDLOOP.
ENDCASE.