SAP S4 供应商LFA1 BP屏幕增强显示

1 篇文章 0 订阅
本文详细介绍了如何在SAP系统中为表LFA1添加自定义字段,包括在结构中配置、创建函数对象(PBO和PAI)以及设计屏幕、字段组和视图的过程,以便在BP屏幕上显示这些自定义信息。
摘要由CSDN通过智能技术生成

 供应商需要添加自定义的信息,标准的字段无法满足需求,表LFA1添加增强字段,BP屏幕中显示自定义字段。

先看效果

1、输入事务代码 BDT_ANALYZER 打开屏幕控制

2、视图文件夹 CVIV22 下,记下放置的位置(例如 CVIV22 )

2、点击 CVIV87,获取详细信息,并记下以下内容:

应用程序:CVIV

区分类型:1

数据集:CVIV21

首先对表LFA1添加增强字段。

1、SE11进入表LFA1中,把自定义字段添加到结构 INCL_EEW_LFA1 

 2、红框内是我添加的自定义字段。

 

3、同时把字段添加到结构 INCL_EEW_LFA1_X 内,组件类型 BAPIUPDATE 

4、保存并激活。

创建函数对象

1、打开 SE80 创建函数组。

2、创建全局变量。

3、创建 PBO 函数模块

4、输入函数名称和描述。

5、复制以下代码,保存并激活。

FUNCTION zfm_bp_cvi_pbo_zvic01.
*"----------------------------------------------------------------------
*"*"本地接口:
*"----------------------------------------------------------------------

  DATA:
    lt_lfa1         TYPE TABLE OF lfa1,
    table_name_lfa1 TYPE fsbp_table_name VALUE 'LFA1'.

* step 1: request data from xo for dynpro structure
  cvi_bdt_adapter=>data_pbo(
    EXPORTING
      i_table_name = table_name_lfa1
    IMPORTING
      e_data_table = lt_lfa1[]
  ).
  IF lt_lfa1[] IS INITIAL.
    CLEAR gs_lfa1.
  ELSE.
    READ TABLE lt_lfa1 INTO gs_lfa1 INDEX 1.
  ENDIF.



ENDFUNCTION.

6、创建 PAI 函数模块,输入函数名称和描述。

7、复制以下代码,保存并激活。

FUNCTION zfm_bp_cvi_pai_zvic01.
*"----------------------------------------------------------------------
*"*"本地接口:
*"----------------------------------------------------------------------

  DATA: false           TYPE boole-boole  VALUE ' ',
        lt_lfa1         TYPE TABLE OF lfa1,
        table_name_lfa1 TYPE fsbp_table_name VALUE 'LFA1'.

  FIELD-SYMBOLS:  <lfa1>  LIKE LINE OF lt_lfa1.

  CHECK cvi_bdt_adapter=>is_direct_input_active( ) = false.
* step 1: update xo memory from technical screen structure
  cvi_bdt_adapter=>get_current_bp_data(
    EXPORTING
      i_table_name = table_name_lfa1
    IMPORTING
      e_data_table = lt_lfa1[]
  ).

  IF lt_lfa1[] IS INITIAL.
    IF gs_lfa1 IS NOT INITIAL.
      gs_lfa1-lifnr = cvi_bdt_adapter=>get_current_vendor( ).
      APPEND gs_lfa1 TO lt_lfa1.
    ENDIF.
  ELSE.
    READ TABLE lt_lfa1 ASSIGNING <lfa1> INDEX 1.
    <lfa1>-zgylb = gs_lfa1-zgylb.
    <lfa1>-zqdfs = gs_lfa1-zqdfs.
    <lfa1>-zzqqk = gs_lfa1-zzqqk.
    <lfa1>-zgypm = gs_lfa1-zgypm.
    <lfa1>-zfktj = gs_lfa1-zfktj.
  ENDIF.

  cvi_bdt_adapter=>data_pai(
    i_table_name = table_name_lfa1
    i_data_new   = lt_lfa1[]
    i_validate   = false
  ).

* step 2: check fields
  CHECK cvi_bdt_adapter=>get_activity( ) <> cvi_bdt_adapter=>activity_display.

*   SPACE to implement own PAI checks



ENDFUNCTION.

创建屏幕

1、输入屏幕号。

2、填写描述,类型选择子屏幕。

3、点击布局。

4、创建字段文本

5、在 CL 25 的地方创建输入框

6、保存激活。

7、创建 PBO MODULE。

8、双击 pbo 创建 PBO MODULE 程序。

复制以下代码

*&---------------------------------------------------------------------*
*& Module PBO OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE pbo OUTPUT.
  CALL FUNCTION 'BUS_PBO'.
ENDMODULE.

9、创建 PAI MODULE。

10、双击 pai 创建 PAI MODULE 程序。

复制以下代码

*&---------------------------------------------------------------------*
*&      Module  PAI  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE pai INPUT.
  CALL FUNCTION 'BUS_PAI'.
ENDMODULE.

在 BDT 中设置

1、事务代码 BUPT 打开BDT菜单。

2、双击 BUS2 - 字段组 打开字段组设置。

3、添加新条目。

4、输入字段组号,填写描述和功能模块 CVIV_BUPA_EVENT_FMOD2_ENH

5、添加之前屏幕中的字段。

创建视图

1、双击 BUS3 - 视图 打开视图设置。

2、创建一个视图

3、从前边章节获取程序名称、区分类型和数据集,使用“ PAI 函数名称”和“ PBO 函数名称”填入输出前和输入后

4、将字段组分配给视图

将视图分配给Section

1、双击 BUS4 - 部分

2、定位 CVIV22

3、选择 Section 并双击部分 -> 视图

4、新建条目

5、输入前边填写的视图编号,项目编号随意填写

测试

1、事务代码 BP

2、搜索供应商

3、显示供应商

4、选择角色“XX供应商”

5、导航到“供应商:一般数据”选项卡

  • 20
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值