*&---------------------------------------------------------------------*
*& 包括 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.
*& 包括 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.