SAP HANA BP标准页签中增强字段(演示供应商采购视图增强)(上篇:代码)

1、BP默认增强字段结构:

BUT000:INCL_EEW_BUT000-CL_EEW_BUT000,INCL_EEW_BUT000-CL_EEW_BUT000_X

KNA1:INCL_EEW_KNA1,INCL_EEW_KNA1_X

KNB1:INCL_EEW_KNB1,INCL_EEW_KNB1_X

KNVV:INCL_EEW_KNVV,INCL_EEW_KNVV_X

LFA1:INCL_EEW_LFA1,INCL_EEW_LFA1_X

LFB1:INCL_EEW_LFB1,INCL_EEW_LFB1_X

LFM1:INCL_EEW_LFM1,INCL_EEW_LFM1_X

 2、进入BP界面,打开至想要增强的页签;

3、在输入框输入:BDT_ANALYZER,回车后显示BP当前界面的BDT分析;如想把增强字段放在币种这一块,那么BP部分就是CVIV71;

4、展开CVIV71,可以看到‘条件’这部分视图信息;

5、点击查看‘采购订单货币’,可以看到字段的应用程序、区分类型、数据集及其他信息,增强字段需参考这部分信息;

6、SE11供应商采购组织字段增强(LFM1:INCL_EEW_LFM1,INCL_EEW_LFM1_X)

INCL_EEW_LFM1:

INCL_EEW_LFM1_X:组件类型是BAPIUPDATE 

 LFM1:

7、SE80创建函数组

8、增加全局变量

保存: 

TABLES:lfm1.
DATA:gs_lfm1 TYPE lfm1.

9、创建PBO模块

 PBO增加代码:

  DATA:
    lt_lfm1           TYPE TABLE OF lfm1,
    table_name_lfm1   TYPE fsbp_table_name VALUE 'LFM1',
    lv_purchasing_org TYPE ekorg.

* step 1: request data from xo for dynpro structure
  lv_purchasing_org = cvi_bdt_adapter=>get_current_purchasing_org( ).
  IF lv_purchasing_org IS INITIAL.
    CLEAR gs_lfm1.
  ELSE.
    cvi_bdt_adapter=>data_pbo_with_purchasing_org(
    EXPORTING
      i_table_name = table_name_lfm1
    IMPORTING
      e_data_table = lt_lfm1[]
      ).
    READ TABLE lt_lfm1 INTO gs_lfm1
    WITH KEY ekorg = lv_purchasing_org.
    IF sy-subrc <> 0.
      CLEAR gs_lfm1.
    ENDIF.
  ENDIF.

 增加全局变量

DATA: false           TYPE boole-boole  VALUE ' ',
      lt_lfm1         TYPE TABLE OF lfm1,
      table_name_lfm1 TYPE fsbp_table_name VALUE 'LFM1',
      lv_purchasing_org TYPE ekorg.

 10、创建PAI模块

 PAI:

  FIELD-SYMBOLS:
  <lfm1>          LIKE LINE OF lt_lfm1.


  CHECK cvi_bdt_adapter=>is_direct_input_active( ) = false.
  CHECK cvi_bdt_adapter=>get_current_purchasing_org( ) IS NOT INITIAL.
* step 1: update xo memory from dypro structure
  cvi_bdt_adapter=>get_current_bp_porg_data(
  EXPORTING
    i_table_name = table_name_lfm1
  IMPORTING
    e_data_table = lt_lfm1[]
    ).

  IF gs_lfm1 IS NOT INITIAL.
    IF lt_lfm1[] IS INITIAL.
      gs_lfm1-lifnr = cvi_bdt_adapter=>get_current_vendor( ).
      gs_lfm1-ekorg = cvi_bdt_adapter=>get_current_purchasing_org( ).
      APPEND gs_lfm1 TO lt_lfm1.
    ELSE.
      READ TABLE lt_lfm1 ASSIGNING <lfm1> INDEX 1.
      <lfm1>-ztrans = gs_lfm1-ztrans.
    ENDIF.
  ENDIF.

  cvi_bdt_adapter=>data_pai_with_purchasing_org(
  i_table_name = table_name_lfm1
  i_data_new   = lt_lfm1[]
  i_validate   = false
  ).

11、新增屏幕9001

 

 屏幕布局增加字段:

12、屏幕9001增加标准PBO和PAI调用

① 创建PBO:显示

双击pbo,创建模块:

输入代码: 

CALL FUNCTION 'BUS_PBO'.

② 创建PAI:输入

双击pai,创建模块:

 输入代码:

CALL FUNCTION 'BUS_PAI'.

 到此增强代码部分完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值