ME21N 采购订单屏幕增强-行项目

本文详细描述了如何在采购订单中新增工位编号字段,包括在表结构中的增强字段添加、CMOD处理、屏幕界面设计以及使用BAPI_TE_MEPOITEM和BAPI_TE_MEPOITEMX进行增强字段的传值过程,以实现ME21N采购订单行项目的屏幕显示增强。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.需求

二.实现

1.增强字段新增

2.增强点

三.ME22N展示

四.BAPI增强字段传值

总结


一.需求

采购订单行项目新增”工位编号“字段。其中”工位编号“只展示,不允许做修改。

二.实现

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采购订单行项目屏幕增强,小傻瓜式步骤。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值