SAPBADI使用增强清单精.docx
- 文档编号:10591017
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:92
- 大小:35.81KB
SAPBADI使用增强清单精.docx
《SAPBADI使用增强清单精.docx》由会员分享,可在线阅读,更多相关《SAPBADI使用增强清单精.docx(92页珍藏版)》请在冰豆网上搜索。
SAPBADI使用增强清单精
1、使用BADI的增强清单..........................................................................................2
1.1.ZMB_MIGO_BADI.........................................................................................2
1.1.1.Method:
PUBLISH_MATERIAL_ITEM...................................................2
1.2.ZMB_RESERVATION_BADI...........................................................................6
1.2.1.
1.3.Method:
DATA_CHECK........................................................................6ZME_HOLD_PO.............................................................................................9
1.3.1.Method:
IS_ALLOWED.........................................................................9
1.4.ZME_PROCESS_PO_CUST...........................................................................10
1.4.1.
1.5.Method:
PROCESS_ITEM...................................................................10ZME_PROCESS_REQ_CUST........................................................................14
1.5.1.Method:
OPEN....................................................................................14
1.5.2.Method:
PROCESS_ITEM.......................................错误!
未定义书签。
1.5.3.Method:
PROCESS_ACCOUNT...............................错误!
未定义书签。
ZME_REQ_POSTED.....................................................................................27
1.6.1.Method:
POSTED................................................................................27
ZMRM_HEADER_CHECK............................................................................29
1.7.1.Method:
HEADERDATA_CHECK........................................................29
使用USER_EXIT的增强清单...........................................................................33Project:
ZMM1外部采购文件审批的增强处理项目.........................................331.6.1.7.2、2.1.
2.1.1.UserExit:
M06E0004...........................................................................33
2.2.Project:
ZMM2采购申请审批的增强处理项目................................................41
2.1.2.UserExit:
M06B0002..........................................................................41
2.3.Project:
ZMM3...............................................................................................41
2.1.3.UserExit:
LMEKO001.........................................................................43
2.1.4.UserExit:
LMEKO002.........................................................................44
2.4.Project:
ZMM5采购文件建立的增强.............................................................44
2.1.5.
2.5.
UserExit:
MM06E005在采购凭证中的客户字段..................................44Project:
ZMM6..............................................................................................512.1.6.UserExit:
MBCF0002物料凭证项目中的段文本..................................51
1、使用BADI的增强清单
1.1.ZMB_MIGO_BADI
1.1.1.Method:
PUBLISH_MATERIAL_ITEM
methodIF_EX_MB_MIGO_BADI~PUBLISH_MATERIAL_ITEM.
dataabc(40)value'(SAPLMIGO)GODYNPRO-DETAIL_TAKE'.data:
texttypestring,
ZGOITEMTYPEGOITEM.
DATAzMETYPEC.
data:
ctr(70).
data:
p_linetypetableofTLINEinitialsize0.
DATAP_INLINEStypetableofTLINEinitialsize0.field-symbols:
assign(abc)to
MOVELS_GOITEMTOZGOITEM.
*---------------------------------------------------------------**检查物料的ABC状态
*----------------------------------------------------------------*IFZGOITEM-EKORG='2000'andZGOITEM-MATNRisnotinitialand(ZGOITEM-BWART='103'orZGOITEM-BWART='101')AND
CALLFUNCTION'Z_MIGO_DIS_MAT'
EXPORTING
zmatnr=ZGOITEM-MATNR
zwerks=ZGOITEM-werks
*CHANGING
*DT=
EXCEPTIONS
CANCELLED=1
NO_VALUES=2
OTHERS=3
.
IFsy-subrc<>0.
*MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-MSGNO
*WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.
ENDIF.
endif.
*---------------------------------------------------------------**对设备备件103收货后是否进行检验结果纪录进行检查
*---------------------------------------------------------------*IFzgoitem-bwart='105'ANDzgoitem-ekorg='2000'
ANDzgoitem-xdetermination=''."库存确定选择才进行判断
IFzgoitem-webre=''.
MESSAGEw000(zz)WITH'非基于收货的发票校验情况下,不确定是否已有检验结果'.ELSE.
*concatenateZGOITEM-LFBNRZGOITEM-LFBJAZGOITEM-LFPOSintoctr.
*CALLFUNCTION'ZTEXT_READ_CHECK'
*EXPORTING
*ID='F00'
*INLINE_COUNT='1'
*LANGUAGE='1'
*NAME=CTR
*OBJECT='MSEG'
**LOCAL_CAT=''
*IMPORTING
**HEADER=
*ME=zME
*TABLES
*INLINES=P_INLINES
*LINES=P_LINE
**EXCEPTIONS
**ID=1
**LANGUAGE=2
**NAME=3
**NOT_FOUND=4
**OBJECT=5
**REFERENCE_CHECK=6
**OTHERS=7
*.
*IFSY-SUBRC<>0.
**MESSAGEIDSY-MSGIDTYPESY-MSGTYNUMBERSY-MSGNO
**WITHSY-MSGV1SY-MSGV2SY-MSGV3SY-MSGV4.
*ENDIF.
*ifzme=1.
*messageI024(zz)withzGOITEM-LFBNRZGOITEM-LFBJAZGOITEM-LFPOS.*LEAVETOTRANSACTION'MIGO'.
*endif.
*clearctr.
*&------------------------------------------------------------*
*&CHANGETHELOGICFORTHERESULTOFQUALITYMAINTAINENCE
*&------------------------------------------------------------*
SELECTSINGLE*FROMzm01_s_103INTOwa_zm01_s_103WHERE
zmblnr=zgoitem-lfbnrAND
zmjahr=zgoitem-lfbjaAND
zzeile=zgoitem-lfpos.
IFsy-subrcNE0.
MESSAGEi024(zz)WITHzgoitem-lfbnrzgoitem-lfbjazgoitem-lfpos.
LEAVETOTRANSACTION'MIGO'.
ENDIF.
ENDIF.
ENDIF.
*---------------------------------------------------------*
*&
*---------------------------------------------------------*
IFzgoitem-bwart='101'ANDzgoitem-ekorg='2000'
ANDzgoitem-pstyp='0'
ANDzgoitem-knttp=''.
MESSAGEi000(zz)WITH'设备备件正常收货请使用移动类型103/105'.
*leavetoscreen2000.
LEAVETOTRANSACTION'MIGO'.
ENDIF.
ENDMETHOD.
1.1.2IF_EX_MB_MIGO_BADI~POST_DOCUMENT
METHODif_ex_mb_migo_badi~post_document.
DATA:
zit_msegTYPELINEOFty_t_mseg,
zis_mkpfTYPEmkpf.
DATA:
wa_msegTYPEmseg.
DATA:
WA_ZMM02TYPEZMM02.
DATA:
MBLNRTYPEMSEG-MBLNR.
DATA:
ZEILETYPEMSEG-ZEILE.
DATA:
MJAHRTYPEMSEG-MJAHR.
DATA:
EBELNTYPEEKPO-EBELN.
DATA:
EBELPTYPEEKPO-EBELP.
BREAKWANGXIANBAO.
****************************************************************
*/对采购订单已经交货完成标志的不允许继续交货进行判断
****************************************************************
*DATA:
zelikzTYPEekpo-elikz.
*LOOPATit_msegINTOzit_msegWHEREBWARTEQ'101'
*ANDWERKSEQ'6000'.
*CLEARZELIKZ.
*SELECTSINGLEelikzINTOzelikzFROMekpoWHEREebeln=ZIT_MSEG-EBELN*ANDebelp=ZIT_MSEG-EBELP.*
*IFzelikz='X'.
*MESSAGEE044(zz)WITHZIT_MSEG-EBELNZIT_MSEG-EBELP.
*LEAVETOTRANSACTION'MIGO'.
*ENDIF.
*
*ENDLOOP.
*
***************************************************/实现让步使用输入采购订单、收货凭证和让步减单价值**************************************************LOOPATit_msegINTOzit_mseg
WHEREbwartEQ'343'
ANDgrundEQ'0001'
ANDwerksEQ'6000'
ANDxautoEQ''.
CALLFUNCTION'ZMM_CALL_ZMM02_MANTAIN'
EXPORTING
smbln=zit_mseg-mblnr
sjahr=zit_mseg-mjahr
smblp=zit_mseg-zeile
matnr=zit_mseg-matnr
bwart=zit_mseg-bwart
menge=zit_mseg-menge
meins=zit_mseg-meins
charg=zit_mseg-charg
IMPORTING
MBLNR=MBLNR
ZEILE=ZEILE
MJAHR=MJAHR
EBELN=EBELN
EBELP=EBELP.
*SELECTSINGLE*INTOWA_ZMM02FROMZMM02
*WHEREMBLNR=MBLNR*ANDMJAHR=MJAHR*ANDZEILE=ZEILE*ANDEBELN=EBELN*ANDEBELP=EBELP
*ANDsmbln=zit_mseg-mblnr*ANDsjahr=zit_mseg-mjahr*ANDsmblp=zit_mseg-zeile.*
*IFSY-SUBRCNE0.
*MESSAGEE016(ZZ)WITHZIT_MSEG-MATNR.*ENDIF.
ENDLOOP.
ENDMETHOD.
1.1.3IF_EX_MB_MIGO_BADI~CHECK_ITEM
METHODif_ex_mb_migo_badi~check_item.
DATA:
zelikzTYPEekpo-elikz.
DATA:
l_po_number(40)TYPEcVALUE'(SAPLMIGO)GOITEM-EBELN'.DATA:
l_po_item(40)TYPEcVALUE'(SAPLMIGO)GOITEM-EBELP'.DATA:
l_bwart(40)TYPEcVALUE'(SAPLMIGO)GOITEM-BWART'.
FIELD-SYMBOLS:
FIELD-SYMBOLS:
FIELD-SYMBOLS:
ASSIGN(l_po_number)TO
ASSIGN(l_po_item)TO
ASSIGN(l_bwart)TO
breakwangxianbao.
*****************************************************************/对采购订单已经交货完成标志的不允许继续交货进行判断
****************************************************************IF
IF
IF
SELECTSINGLEelikzINTOzelikzFROMekpoWHEREebeln=
MESSAGEi044(zz)WITH
LEAVETOTRANSACTION'MIGO'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDMETHOD.
1.2.ZMB_RESERVATION_BADI
1.2.1.Method:
DATA_CHECK
METHODif_ex_mb_reservation_badi~data_check.
DATA:
zresbTYPEresb,
zmarcTYPEmarc,
zrkpfTYPErkpf,
zmaraTYPEmara.
DATA:
zit_changeableTYPEtdtab_c132.
DATA:
zi_new_itemTYPEc.
DATA:
zflagTYPEc.
DATA:
zbdterTYPEresb-bdter.
DATA:
p_atinnTYPEcabn-atinn.
DATA:
zkostlTYPErkpf-kostl.
DATA:
wa_zdepbTYPEzdepb.
DATA:
zusnamTYPEzdepb-usnam.
zresb=is_resb.
zrkpf=is_rkpf.
**********************************************************************
*/对提报成本中心预留的要料计划,控制用户是否有权提报指定成本中心的预留
**********************************************************************
IFzrkpf-bwartEQ'Z09'ORzrkpf-bwartEQ'Z11'ORzrkpf-bwartEQ'Z13'ORzrkpf-bwartEQ'Z15'ORzrkpf-bwartEQ'Z17'ORzrkpf-bwartEQ'Z19'ORzrkpf-bwartEQ'Z10'ORzrkpf-bwartEQ'Z12'ORzrkpf-bwartEQ'Z14'ORzrkpf-bwartEQ'Z16'ORzrkpf-bwartEQ'Z18'ORzrkpf-bwartEQ'Z20'.*breakwangxianbao.
zkostl=zrkpf-kostl+2(4).
zusnam=sy-uname.
SELECTSINGLE*INTOwa_zdepbFROMzdepbWHEREusnam=zusnam
ANDgrpname=zkostl.
IFsy-subrc<>0.
*MESSAGEe041(zz)WITHZUSNAMZRKPF-KOSTL.
ENDIF.
ENDIF.
**********************************************************************
*/对成本中心预留的移动类型进行控制
**********************************************************************
IFzrkpf-bwartEQ'Z09'."主体单位成本中心
breakwangxianbao.
zkostl=zrkpf-kostl+2(4).
IFzkostlNE'6023'ANDZkos
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAPBADI 使用 增强 清单