关于 SAP BMBC 批次查询结果 BADI - BIC_ADDITIONAL_DATA 的案例

简介: 关于 SAP BMBC 批次查询结果 BADI - BIC_ADDITIONAL_DATA 的案例

在 SAP 中,BADI(Business Add-In)是一种用户扩展点,可以使用它来插入我们自己的业务逻辑,而不会影响到标准的应用程序。在 ABAP 中,我们经常需要使用 BADI 来满足特定的业务需求。在本文中,我们将介绍一个关于 BMBC 批次查询结果 BADI - BIC_ADDITIONAL_DATA 的案例。


BMBC 是 SAP 的一个标准交易代码,用于批次查询。在查询结果中,我们可能需要显示一些额外的数据,这就需要使用 BIC_ADDITIONAL_DATA BADI。该 BADI 的定义如下:

INTERFACE IF_EX_BIC_ADDITIONAL_DATA.
  METHODS ADDITIONAL_DATA
    IMPORTING
      VALUE(I_BATCHES) TYPE BICSDATA
    EXPORTING
      VALUE(E_ADD_DATA) TYPE BICS_ADD_DATA.
ENDINTERFACE.

在使用这个 BADI 时,我们需要创建一个实现(Implementation),并在实现中编写我们的业务逻辑。


现在,假设我们的业务需求是这样的:在 BMBC 批次查询结果中,我们需要显示每个批次的创建日期和创建者。这些信息在标准的查询结果中并没有显示,所以我们需要使用 BADI 来实现这个需求。


首先,我们需要创建一个 BADI 实现。在 SE18 交易代码中输入 BIC_ADDITIONAL_DATA,然后选择 创建实现。给新的实现命名,比如 ZBIC_ADDITIONAL_DATA,并为其创建一个实现类,比如 ZCL_BIC_ADDITIONAL_DATA。


在 ZCL_BIC_ADDITIONAL_DATA 类中,我们需要重写 ADDITIONAL_DATA 方法。在该方法中,我们将查询数据库,获取批次的创建日期和创建者,然后添加到 E_ADD_DATA 导出参数中。代码如下:


CLASS ZCL_BIC_ADDITIONAL_DATA DEFINITION.
  PUBLIC SECTION.
    INTERFACES IF_EX_BIC_ADDITIONAL_DATA.
ENDCLASS.
CLASS ZCL_BIC_ADDITIONAL_DATA IMPLEMENTATION.
  METHOD IF_EX_BIC_ADDITIONAL_DATA~ADDITIONAL_DATA.
    DATA: lt_mchb TYPE TABLE OF mchb,
          ls_mchb TYPE mchb,
          lt_add_data LIKE E_ADD_DATA.
    LOOP AT I_BATCHES ASSIGNING FIELD-SYMBOL(<fs_batch>).
      SELECT SINGLE * FROM mchb INTO ls_mchb WHERE charg = <fs_batch>-batch.
      IF sy-subrc = 0.
        APPEND INITIAL LINE TO lt_add_data ASSIGNING FIELD-SYMBOL(<fs_add_data>).
        <fs_add_data>-batch = ls_mchb-charg.
        <fs_add_data>-creation_date = ls_mchb-ersda.
        <fs_add_data>-created_by = ls_mchb-ernam.
      ENDIF.
    ENDLOOP.
    E_ADD_DATA = lt_add_data.
  ENDMETHOD.
ENDCLASS.

以上就是 BIC_ADDITIONAL_DATA BADI 的一个实现案例。在这个案例中,我们使用 BADI 在 BMBC 批次查询结果中添加了额外的数据。这个案例展示了在 ABAP 中,如何使用 BADI 来满足特定的业务需求。


上面是 ChatGPT 4.0 的回复结果,可惜根据群友反馈,不能用:


edb962c6342c7cec29f4d48e896db9dd_format,png.png


ee533c744bfbe00d11859b954a018331_format,png.png

相关文章
|
4月前
|
BI
SAP ABAP 显式增强技术之 New BAdI 的技术原理介绍试读版
SAP ABAP 显式增强技术之 New BAdI 的技术原理介绍试读版
22 0
|
4月前
|
BI
123. SAP ABAP 显式增强技术之 New BAdI 的技术原理介绍
123. SAP ABAP 显式增强技术之 New BAdI 的技术原理介绍
29 1
|
8月前
|
Web App开发 XML 开发者
我的 SAP 技术交流群里的真实案例,看样子 ChatGPT 能帮我回答不少问题了
我的 SAP 技术交流群里的真实案例,看样子 ChatGPT 能帮我回答不少问题了
140 0
|
3月前
|
存储 数据库
如何查询 SAP ABAP 系统做过的基于源代码的增强信息试读版
如何查询 SAP ABAP 系统做过的基于源代码的增强信息试读版
19 0
|
4月前
|
BI
SAP ABAP 显式增强技术之 New BAdI 的实战介绍 - 如何创建和激活增强实现试读版
SAP ABAP 显式增强技术之 New BAdI 的实战介绍 - 如何创建和激活增强实现试读版
21 0
|
4月前
|
BI
124. SAP ABAP 显式增强技术之 New BAdI 的实战介绍 - 如何创建和激活增强实现
124. SAP ABAP 显式增强技术之 New BAdI 的实战介绍 - 如何创建和激活增强实现
25 0
|
7月前
|
JavaScript 容器
SAP UI5 控件聚合属性 Aggregation 的概念和具体使用案例
SAP UI5 控件聚合属性 Aggregation 的概念和具体使用案例
35 1
|
8月前
|
Web App开发 JSON 前端开发
授人以渔 - 如何自行查询任意 SAP UI5 控件属性的文档和技术实现细节试读版
授人以渔 - 如何自行查询任意 SAP UI5 控件属性的文档和技术实现细节试读版
38 0
|
8月前
|
Web App开发 前端开发 开发者
SAP UI5 FlexBox Layout 布局的概念和具体使用案例介绍试读版
SAP UI5 FlexBox Layout 布局的概念和具体使用案例介绍试读版
46 0
|
8月前
|
存储 SQL JSON
SAP ABAP 系统进行数据库表查询的几种常用方法的试读版
SAP ABAP 系统进行数据库表查询的几种常用方法的试读版
66 0