MIGO抬头屏幕增强
一、增强描述
- 需要再进行物料移动的时候在MIGO抬头加自定义的字段
二、增强步骤
-
创建增强数据表和增强结构
-
创建增强数据存储表
-
创建增强数据结构
-
-
创建增强屏幕
-
新建Function Group,定义全局变量
-
创建数据处理函数
-
ZMM_H_GET_DATA(抬头:从屏幕获取数据)
-
ZMM_H_SET_DATA(抬头:输出数据到屏幕)
-
ZMM_UPDATE_DATA(抬头/行项目:更新数据到数据库)
-
ZMM_SET_GOACTION(抬头/行项目:设置屏幕Action Code)
-
-
-
创建抬头增强屏幕9001
-
创建屏幕
-
创建屏幕字段,屏幕字段名可以根据字典建立
-
创建PBO处理逻辑
-
-
创建BADI实施
-
SE19 创建BADI实施
-
新增实施类属性
-
IF_EX_MB_MIGO_BADI~INIT
METHOD if_ex_mb_migo_badi~init. APPEND gf_class_id TO ct_init. ENDMETHOD.
-
IF_EX_MB_MIGO_BADI~RESET
METHOD if_ex_mb_migo_badi~reset. CLEAR: is_head, g_no_input, g_cancel. ENDMETHOD.
-
IF_EX_MB_MIGO_BADI~POST_DOCUMENT
METHOD if_ex_mb_migo_badi~post_document. IF is_head IS NOT INITIAL. DATA: wa_head TYPE zsmm_h_migo01. wa_head-mandt = sy-mandt. wa_head-mblnr = is_mkpf-mblnr. wa_head-mjahr = is_mkpf-mjahr. wa_head-zzkey = is_head-zzkey. wa_head-zztxt = is_head-zztxt. CALL FUNCTION 'ZMM_UPDATE_DATA' IN UPDATE TASK EXPORTING i_head = wa_head. ENDIF. ENDMETHOD.
-
IF_EX_MB_MIGO_BADI~MODE_SET
METHOD if_ex_mb_migo_badi~mode_set. *------------------------------------------------* " i_action: " A01 = Goods receipt " A02 = Return delivery " A03 = Cancellation " A04 = Display " A05 = Release GR bl.st. " A06 = Subsequent deliv. " A07 = Goods issue " " i_refdoc: " R01 = Purchase order " R02 = Material document " R03 = Delivery note " R04 = Inbound delivery " R05 = Outbound delivery " R06 = Transport " R07 = Transport ID code " R08 = Order " R09 = Reservation " R10 = Other GR *------------------------------------------------* IF i_action = 'A03' OR i_action = 'A04' . g_no_input = abap_true. ENDIF. IF i_action = 'A03'. g_cancel = abap_true. ENDIF. CALL FUNCTION 'ZMM_SET_GOACTION' EXPORTING i_goaction = i_action. ENDMETHOD.
-
IF_EX_MB_MIGO_BADI~STATUS_AND_HEADER
METHOD if_ex_mb_migo_badi~status_and_header. IF is_gohead-mblnr IS NOT INITIAL AND is_gohead-mjahr IS NOT INITIAL AND is_head IS INITIAL. SELECT SINGLE * FROM ztmm_h_migo01 INTO is_head WHERE mblnr = is_gohead-mblnr AND mjahr = is_gohead-mjahr. ENDIF. ENDMETHOD.
-
IF_EX_MB_MIGO_BADI~PBO_HEADER
METHOD if_ex_mb_migo_badi~pbo_header. IF gf_class_id = i_class_id. CALL FUNCTION 'ZMM_H_SET_DATA' EXPORTING i_input = is_head. e_cprog = 'SAPLZMM_G_001'. "'SAPL' + 'FG Name' e_dynnr = '9001'. e_heading = 'Header Addition1'(001). ENDIF. ENDMETHOD.
-
IF_EX_MB_MIGO_BADI~PAI_HEADER
METHOD if_ex_mb_migo_badi~pai_header. DATA: wa_head TYPE zsmm_h_migo01. CALL FUNCTION 'ZMM_H_GET_DATA' IMPORTING e_output = wa_head. is_head = wa_head. ENDMETHOD.
-
-
验证效果
-
增强前
-
增强后
-