CMOD MBCF0002
EXIT EXIT_SAPMM07M_001
INCLUDE ZXMBCU02.
*&---------------------------------------------------------------------*
*& 包含 ZXMBCU02
*&---------------------------------------------------------------------*
DATA:lv_zxh TYPE zppt013-zxh.
DATA:p_zzmjh TYPE zmmt002-zzmjh.
DATA:lv_str1 TYPE zmmt002-zzmjh.
DATA:lv_str2 TYPE zmmt002-zzmjh.
DATA:lv_str3 TYPE zmmt002-zzmjh.
DATA:lv_str4 TYPE zmmt002-zzmjh.
DATA:lv_str5 TYPE zmmt002-zzmjh.
DATA:p_anln1 TYPE anla-anln1.
DATA:auart TYPE auart.
DATA:l_bdmng TYPE bdmng, "需求数
l_enmng TYPE enmng. "提货数
DATA:kostl LIKE usr21-kostl.
DATA:g_matnr LIKE mara-matnr.
DATA:zyxrk TYPE menge_d.
*data:kostl like usr21-kostl.
DATA: l_sgtxt LIKE mseg-sgtxt.
e_sgtxt = i_mseg-sgtxt.
"控制CO11N不能做计划外投料
IF sy-tcode = 'CO11N'
AND i_mseg-rsnum IS INITIAL.
MESSAGE e003(zhele) WITH i_mseg-zeile i_mseg-matnr.
ENDIF.
"控制CO11N不能做计划外投料
"控制素材收货时必须输入模具号
CLEAR:auart.
CLEAR kostl.
SELECT SINGLE kostl INTO kostl FROM usr21 WHERE bname = sy-uname.
IF kostl = ''.
SELECT SINGLE auart FROM aufk INTO auart
WHERE aufnr = i_mseg-aufnr.
IF sy-subrc = 0.
IF ( sy-tcode = 'MIGO'
OR sy-tcode = 'MIGO_GO' )
AND i_mseg-bwart = '101'
AND ( auart = 'LX03' OR auart = 'LX21' OR auart = 'LX22' OR auart = 'LX23' ).
SELECT SINGLE zzmjh INTO p_zzmjh FROM zmmt002 WHERE matnr = i_mseg-matnr .
CONDENSE p_zzmjh NO-GAPS.
SPLIT p_zzmjh AT '/' INTO lv_str1 lv_str2 lv_str3 lv_str4 lv_str5.
* lxf start
* IF i_mseg-sgtxt = lv_str1 OR i_mseg-sgtxt = lv_str2 OR i_mseg-sgtxt = lv_str3 OR i_mseg-sgtxt = lv_str4 OR i_mseg-sgtxt = lv_str5.
* SELECT SINGLE anln1 INTO p_anln1 FROM anla WHERE anlkl = '18010000' AND sernr = i_mseg-sgtxt.
* IF p_anln1 = ''.
* MESSAGE '模具编号没有建立资产编号' TYPE 'E'.
* EXIT.
* ENDIF.
* ELSE .
* MESSAGE '没有在物料主数据里维护相应的模具号' TYPE 'E'.
* EXIT.
* ENDIF.
* lxf end
* SELECT sernr INTO TABLE @DATA(gt_anla)
* FROM anla
* WHERE anlkl = '18010000'
* AND sernr <> ''.
* SHIFT i_mseg-sgtxt LEFT DELETING LEADING space.
* SELECT SINGLE zxh INTO lv_zxh FROM zppt013 WHERE matnr = i_mseg-matnr AND zzmjh = i_mseg-sgtxt AND loekz = ''.
* IF lv_zxh = ''.
* MESSAGE '请输入正确的模具编号' TYPE 'E'.
* EXIT.
* ENDIF.
ENDIF .
* READ TABLE gt_anla INTO DATA(gs_anla)
* WITH KEY sernr = i_mseg-sgtxt.
* IF sy-subrc <> 0.
* MESSAGE '请输入正确的模具编号' TYPE 'E'.
* EXIT.
* ENDIF.
* ENDIF.
ENDIF.
IF ( sy-tcode = 'MIGO'
OR sy-tcode = 'MIGO_GO' )
AND i_mseg-bwart = '102'
AND ( auart = 'LX03' OR auart = 'LX21' OR auart = 'LX22' OR auart = 'LX23' OR auart = 'LX31' OR auart = 'LX32' OR auart = 'LX33' ).
CLEAR l_sgtxt.
SELECT SINGLE sgtxt INTO l_sgtxt FROM mseg WHERE mblnr = i_mseg-smbln.
IF l_sgtxt IS NOT INITIAL.
i_mseg-sgtxt = l_sgtxt.
ENDIF.
ENDIF.
IF sy-mandt EQ '555' OR sy-mandt EQ '800' . "只有和乐控制
IF ( sy-tcode = 'MIGO'OR sy-tcode = 'MIGO_GO' )
AND i_mseg-bwart = '101'
AND ( auart = 'LX01' OR auart = 'LX02' OR auart = 'LX04' OR auart =