BP屏幕增强-KNA1

需求:在角色FLCU01(客户)下增加屏幕页签,效果如下:

第一步:BUS1

第二步:BUS2

第三步:BUS3

第四步:BUS4

第五步:BUS5

第六步:BUS6

第七步:BUSD

第八步:BUS7

注意:必须把新增字段附加到INCL_EEW_KNA1INCL_EEW_KNA1_X(字段长度为1,更新标识)里

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

  DATA:
    LT_KNA1 TYPE TABLE OF KNA1.

* step 1: request data from xo for dynpro structure
  CVI_BDT_ADAPTER=>DATA_PBO(
    EXPORTING
      I_TABLE_NAME = TABLE_NAME_KNA1
    IMPORTING
      E_DATA_TABLE = LT_KNA1[]
  ).
  IF LT_KNA1[] IS INITIAL.
    CLEAR GS_KNA1.
  ELSE.
    READ TABLE LT_KNA1 INTO GS_KNA1 INDEX 1.
  ENDIF.


ENDFUNCTION.

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

  DATA:
      LT_KNA1         TYPE TABLE OF KNA1.
  FIELD-SYMBOLS:
    <KNA1>          LIKE LINE OF LT_KNA1.

  CHECK CVI_BDT_ADAPTER=>IS_DIRECT_INPUT_ACTIVE( ) = FALSE.
* step 1: update xo memory from dypro structure
  CVI_BDT_ADAPTER=>GET_CURRENT_BP_DATA(
    EXPORTING
      I_TABLE_NAME = TABLE_NAME_KNA1
    IMPORTING
      E_DATA_TABLE = LT_KNA1[]
  ).

  IF LT_KNA1[] IS INITIAL.
    IF GS_KNA1 IS NOT INITIAL.
      GS_KNA1-KUNNR = CVI_BDT_ADAPTER=>GET_CURRENT_CUSTOMER( ).
      APPEND GS_KNA1 TO LT_KNA1.
    ENDIF.
  ELSE.
    READ TABLE LT_KNA1 ASSIGNING <KNA1> INDEX 1.
    <KNA1>-ZZMDM = GS_KNA1-ZZMDM.
    <KNA1>-ZZMOV = GS_KNA1-ZZMOV.
    <KNA1>-ZZSAMPLE = GS_KNA1-ZZSAMPLE.
  ENDIF.

  CVI_BDT_ADAPTER=>DATA_PAI(
    I_TABLE_NAME = TABLE_NAME_KNA1
    I_DATA_NEW   = LT_KNA1[]
    I_VALIDATE   = FALSE
  ).


ENDFUNCTION.

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

*  CLEAR: GS_KNA1.
  CALL FUNCTION 'CVIC_BUPA_KNA1_GET'
    IMPORTING
      E_KNA1 = GS_KNA1.

  MOVE-CORRESPONDING GS_KNA1 TO KNA1.

ENDFUNCTION.
 

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

  DATA : LS_KNA1 TYPE KNA1.

  LS_KNA1 = KNA1.
  MOVE-CORRESPONDING GS_KNA1 TO KNA1.

  KNA1-ZZMDM = LS_KNA1-ZZMDM.
  KNA1-ZZMOV = LS_KNA1-ZZMOV.
  KNA1-ZZSAMPLE = LS_KNA1-ZZSAMPLE.

  CALL FUNCTION 'CVIC_BUPA_KNA1_COLLECT'
    EXPORTING
      I_SUBNAME = 'ZCUSTM01'
      I_KNA1    = KNA1.

ENDFUNCTION.

FUNCTION ZSD02_U005.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  EXPORTING
*"     REFERENCE(E_XCHNG) TYPE  BOOLE_D
*"----------------------------------------------------------------------

  IF GS_KNA1-ZZMDM NE KNA1-ZZMDM OR
     GS_KNA1-ZZMOV NE KNA1-ZZMOV OR
     GS_KNA1-ZZSAMPLE NE KNA1-ZZSAMPLE.
    E_XCHNG = 'X'.
  ENDIF.

ENDFUNCTION.

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

  CLEAR: GS_KNA1,KNA1.


ENDFUNCTION.
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值