目录
一.需求
采购订单行项目新增”工位编号“字段。其中”工位编号“只展示,不允许做修改。
二.实现
1.增强字段新增
在表EKPO的结构CI_EKPODB中增加增强字段
2.增强点
CMOD:MM06E005
全局定义:
*&---------------------------------------------------------------------*
*& 包含 ZXM06TOP
*&---------------------------------------------------------------------*
TABLES:ci_ekkodb,
ci_ekpodb.
DATA:g_trtyp_c,
g_aktyp_c.
DATA: ekko LIKE ekko,
ekpo LIKE ekpo,
aktyp TYPE c,
no_screen TYPE c.
功能出口:
EXIT_SAPMM06E_016
*&---------------------------------------------------------------------*
*& 包含 ZXM06U41
*&---------------------------------------------------------------------*
MOVE-CORRESPONDING i_ci_ekpo TO ci_ekpodb.
g_aktyp_c = i_aktyp.
EXIT_SAPMM06E_018
*&---------------------------------------------------------------------*
*& 包含 ZXM06U40
*&---------------------------------------------------------------------*
MOVE-CORRESPONDING ci_ekpodb TO e_ci_ekpo.
e_ci_update = 'X'.
屏幕出口:(也就是我们画屏幕的地方)
屏幕111 注意勾选子屏幕
画取屏幕 注意名称:CI_EKPODB-字段
*----------------------------------------------------------------------*
***INCLUDE ZXM06O01.
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_0111 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE status_0111 OUTPUT.
LOOP AT SCREEN.
IF screen-name+0(10) = 'CI_EKPODB-'.
* IF g_aktyp_c = 'A'. "采购订单类型
screen-input = '0'.
MODIFY SCREEN.
* ENDIF.
ENDIF.
ENDLOOP.
ENDMODULE.
增强字段搜索帮助:
1.PROCESS ON VALUE-REQUEST.
PROCESS ON VALUE-REQUEST.
FIELD EKPO-ZZBAUGR MODULE F4_ZZBAUGR_help.
2.引用搜索帮助
最后CMOD激活项目!
三.ME22N展示
四.BAPI增强字段传值
结构增加增强字段:BAPI_TE_MEPOITEM、BAPI_TE_MEPOITEMX
注意:BAPI_TE_MEPOITEMX增强字段类型为BAPIUPDATE
相关部分代码:
DATA: lt_extensionin TYPE TABLE OF bapiparex,
ls_extensionin TYPE bapiparex,
ls_iteme TYPE bapi_te_mepoitem,
ls_itemex TYPE bapi_te_mepoitemx.
*增强字段
ls_iteme-po_item = lv_ebelp.
ls_iteme-zzbaugr = <value>-zzbaugr.
ls_extensionin-structure = 'BAPI_TE_MEPOITEM'.
ls_extensionin+30(960) = ls_iteme.
APPEND ls_extensionin TO lt_extensionin.
CLEAR ls_extensionin.
ls_itemex-po_item = lv_ebelp.
ls_itemex-zzbaugr = abap_true.
ls_itemex-zzbaugr = COND #( WHEN ls_iteme-zzbaugr IS NOT INITIAL THEN abap_true ).
ls_extensionin-structure = 'BAPI_TE_MEPOITEMX'.
ls_extensionin+30(960) = ls_itemex.
APPEND ls_extensionin TO lt_extensionin.
CLEAR ls_extensionin.
CLEAR:ls_iteme,ls_itemex.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader =
poheaderx =
IMPORTING
exppurchaseorder =
tables
return =
poitem =
poitemx =
poaccount =
poaccountx =
poschedule =
poschedulex =
potextheader =
potextitem =
extensionin = lt_extensionin.
总结
相关ME21N采购订单行项目屏幕增强,小傻瓜式步骤。