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

*&---------------------------------------------------------------------*
*&  包括                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、付费专栏及课程。

余额充值