SAP:SD客户主数据的增强user-exit SAPMF02D .

通过检查系统代码,实现校验客户信息唯一性,确保在不同的交易代码或成本组下,客户名称不重复。

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

*&---------------------------------------------------------------------*
*&  包括                ZXF04U01
*&---------------------------------------------------------------------*
*校验客户信息唯一性 by zhanglin 20101013

DATA: ls_kna1 TYPE kna1.

DATA: l_name1 TYPE kna1-name1.

CHECK sy-tcode = 'XD01' OR sy-tcode = 'XD02'.

l_name1 = i_kna1-name1.

SHIFT l_name1 LEFT DELETING LEADING space.

IF sy-tcode = 'XD01'.
  IF l_name1 IS NOT INITIAL.
    IF i_kna1-kunnr IS NOT INITIAL.
      SELECT SINGLE INTO ls_kna1
      FROM kna1
      WHERE name1 = l_name1
        AND kunnr <> i_kna1-kunnr.
    ELSE.
      SELECT SINGLE INTO ls_kna1
      FROM kna1
      WHERE name1 = l_name1.
    ENDIF.
    IF sy-subrc = 0.
      MESSAGE e000(zsdmsg) WITH i_kna1-name1.
    ENDIF.
  ENDIF.

  IF i_kna1-stceg IS NOT INITIAL.
    IF i_kna1-kunnr IS NOT INITIAL.
      SELECT SINGLE INTO ls_kna1
      FROM kna1
      WHERE stceg = i_kna1-stceg
        AND kunnr <> i_kna1-kunnr.
    ELSE.
      SELECT SINGLE INTO ls_kna1
      FROM kna1
      WHERE stceg = i_kna1-stceg.
    ENDIF.
    IF sy-subrc = 0.
      MESSAGE e001(zsdmsg) WITH i_kna1-stceg.
    ENDIF.
  ENDIF.
ELSE.
  IF l_name1 IS NOT INITIAL.
    SELECT SINGLE INTO ls_kna1
    FROM kna1
    WHERE name1 = l_name1
      AND kunnr <> i_kna1-kunnr.
    IF sy-subrc = 0.
      MESSAGE e000(zsdmsg) WITH i_kna1-name1.
    ENDIF.
  ENDIF.

  IF i_kna1-stceg IS NOT INITIAL.
    SELECT SINGLE INTO ls_kna1
    FROM kna1
    WHERE stceg = i_kna1-stceg
      AND kunnr <> i_kna1-kunnr.
    IF sy-subrc = 0.
      MESSAGE e001(zsdmsg) WITH i_kna1-stceg.
    ENDIF.
  ENDIF.
ENDIF.

IF sy-tcode = 'XD01' OR sy-tcode = 'XD02'.
  IF i_knvv-spart = '01' AND i_kna1-lzone IS INITIAL.
    MESSAGE e005(zsdmsg).
  ENDIF.
ENDIF.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值