demo创建采购订单自动过账101_第1页
demo创建采购订单自动过账101_第2页
demo创建采购订单自动过账101_第3页
demo创建采购订单自动过账101_第4页
demo创建采购订单自动过账101_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Top:DATA:POHEADERLIKEBAPIMEPOHEADER,EXPPURCHASEORDERLIKEBAPIMEPOHEADER-PO_NUMBER,EXPHEADERLIKEBAPIMEPOHEADER,EXPPOEXPIMPHEADERLIKEBAPIEIKP,RETURNTYPESTANDARDTABLEOFBAPIRET2WITHHEADERLINEPOITEMTYPESTANDARDTABLEOFBAPIMEPOITEMWITHHEADERLINE,POSCHEDULETYPESTANDARDTABLEOFBAPIMEPOSCHEDULEWITHHEADERLINE,W_

2、RETURNLIKELINEOFRETURN,POHEADERXLIKEBAPIMEPOHEADERX,POITEMXTYPESTANDARDTABLEOFBAPIMEPOITEMXWITHHEADERLINE,POSCHEDULEXTYPESTANDARDTABLEOFBAPIMEPOSCHEDULXWITHHEADERLINE,poaccountTYPESTANDARDTABLEOFBAPIMEPOACCOUNTWITHHEADERLINE,poaccountxTYPESTANDARDTABLEOFBAPIMEPOACCOUNTXWITHHEADERLINE.TYPES:BEGINOFty

3、_data,oridTYPEzmmt_mzlog-orid,订单编号唯一ebelnTYPEzmmt_mzlog-ebeln,采购凭证号bukrsTYPEzmmt_mzlog-bukrs,公司代码lifnrTYPEzmmt_mzlog-lifnr,供应商ekorgTYPEzmmt_mzlog-ekorg,采购组织ekgrpTYPEzmmtmzlog-ekgrp,采购组wrbtrTYPEzmmt_mzlog-wrbtr,”总金额SGTXTTYPERESB-SGTXT,ABLADTYPERESB-ABLAD,WEMPF1TYPERESB-WEMPF,ebelpTYPEzmmt_item-ebelp,

4、采购凭证的项目编一matnrTYPEzmmt_item-matnr,物料号PS_PSP_PNRTYPEprps-POSID,werksTYPEzmmtitem-werks,工厂lbTYPEzmmt_item-lb,类别matklTYPEzmmt_item-matkl,物料组MAKTXTYPEMAKT-MAKTX,物料组mengeTYPEzmmtitem-menge,数量netprTYPEzmmt_item-netpr,价格eeindTYPEzmmtitem-eeind,日期zxsjTYPEBEDNR,需求编号存放销售价格zxsjlTYPEAFNAM,申请者存放销售价格2(折前)ENDOFty_

5、data.DATA:wa_docTYPEty_data,gt_docTYPETABLEOFty_data.”完整凭证数据DATAlv_inputTYPEstring.TYPES:BEGINOFty_return,sign(1)TYPEc,data(18)TYPEc,message(100)TYPEc,|errorcode(1)TYPEc,|ENDOFty_returnDATA:wa_returnTYPEty_return,gt_returnTYPETABLEOFty_return.datal_msgTYPEstring.datal_msg1TYPEstring.|datal_msg3TYPEs

6、tring.|datal_msg2TYPEstring.mainFUNCTIONzfun_mzorder* *”本地接口:* IMPORTING* VALUE(INPUT)TYPESTRING* EXPORTING* VALUE(OUTPUT)TYPESTRING* CLEAR:lv_input,gt_doc口,l_msg.DATAls_ekkoTYPEekko.DATA:gv_number_guidTYPEchar20DATA:gs_headerTYPEthead.DATA:gt_ltxtsTYPESTANDARDTABLEOFtline.DATA:lw_ltxtTYPEtline.DATA

7、flagTYPEC.PERFORMfrm_log_record_startINPROGRAMsaplzxml_log_record类型I/OUSINGTZFUN_MZORDER函数名INPUT传入XmlXml2XcommitCHANGINGgv_number_guidIFFOUND.lv_input=INPUT.CALLFUNCTIONZ_XML_TO_INPUTEXPORTINGINPUT=lv_inputTABLESOUTPUT=gt_doc口*抬头DATA:lwa_zmmt_mzlogTYPEzmmt_mzlog,lit_zmmt_mzlogTYPETABLEOFzmmt_mzlogWI

8、THHEADERLINE,”项目lwa_zmmt_itemTYPEzmmt_item,lit_zmmt_itemTYPETABLEOFzmmt_itemWITHHEADERLINE.DATAwa_headTYPEzmmt_mzlog.CLEAR:wa_doc,lwa_zmmt_mzlog,lwa_zmmt_item,lit_zmmt_mzlog,lit_zmmt_item口,poheader,poitem口,poitem,poitemx口,poitemx,poschedule,poschedule口,poschedulex,poschedulex口,flag.IFNOTgt_docISINIT

9、IAL.LOOPATgt_docINTOwa_doc.IFflagISINITIAL.IFwa_doc-mengeEQ0.000flag=X.CONCATENATE物料号wa_doc-matnr对应的数量不允许为0INTOwa_return-MESSAGEENDIF.ENDIF.IFflagISINITIAL.IFwa_doc-netprEQ0.00flag=X.CONCATENATE物料号wa_doc-matnr对应的金额不允许为0INTOwa_return-MESSAGEENDIF.ENDIF.IFNOTwa_doc-oridISINITIAL.lwa_zmmt_mzlog-mandt=s

10、y-mandt.MOVE-CORRESPONDINGwa_docTOlwa_zmmt_mzlogAPPENDlwa_zmmt_mzlogTOlit_zmmt_mzlogENDIF.MOVE-CORRESPONDINGwa_docTOlwa_zmmt_itemCLEAR:wa_doc-orid.lwa_zmmt_item-mandt=sy-mandt.lwa_zmmt_item-orid=lwa_zmmt_mzlog-orid.APPENDlwa_zmmt_itemTOlit_zmmt_itemENDLOOP.排序SORTlit_zmmt_mzlogBYorid.SORTlit_zmmt_ite

11、mBYoridebelp.IFflagISINITIAL.INSERTzmmt_mzlogFROMTABLElit_zmmt_mzlogACCEPTINGDUPLICATEKEYS.CLEARlit_zmmt_mzlogREADTABLElit_zmmt_mzlogINDEX1.SELECTSINGLE*INTOls_ekkoFROMekkoWHEREihrez=lit_zmmt_mzlog-orid.IFsy-subrc0.LOOPATlit_zmmt_mzlogMOVEZP03TOpoheader-doctype.采购凭证类型poheader-comp_codelit_zmmt_mzlog

12、-bukrs公司代码poheader-ref_1=lit_zmmt_mzlog-orid.MOVEsy-datumTOpoheader-creat_date.MOVEsy-unameTOpoheader-created_by.poheader-ref_1=lit_zmmt_mzlog-orid.你的参考* CALLFUNCTIONCONVERSION_EXIT_ALPHA_INPUT* EXPORTING* input=lit_zmmt_mzlog-lifnr* IMPORTING* output=poheader-vendor.供应商poheader-vendor=0000006003MOV

13、E1000TOpoheader-purch_org.采购组织* MOVE001TOpoheader-pur_group.采购组MOVEXTOpoheaderx-doc_type.采购凭证类型MOVEXTOpoheaderx-comp_code.MOVEXTOpoheaderx-creat_date.MOVEXTOpoheaderx-created_by.MOVEXTOpoheaderx-vendor.MOVEXTOpoheaderx-purch_org.MOVEXTOpoheaderx-ref_1.LOOPATlit_zmmt_itemWHEREorid=lit_zmmt_mzlog-orid

14、CALLFUNCTIONCONVERSION_EXIT_ALPHA_INPUTEXPORTINGINPUT=lit_zmmt_item-ebelpIMPORTINGOUTPUT=lit_zmmt_item-ebelp.poitem-po_item=lit_zmmt_item-ebelp.采购凭证的项目编号CALLFUNCTIONCONVERSION_EXIT_ALPHA_INPUTEXPORTINGINPUT=lit_zmmt_item-matnrIMPORTINGOUTPUT=poitem-material.物料编码poitem-plant=litzmmtitem-werks.工厂IFpoh

15、eader-pur_groupISINITIAL.SELECTSINGLEekgrpINTOpoheader-pur_groupFROMt024WHEREektel=lit_zmmt_item-werks.MOVEXTOpoheaderx-pur_group.ENDIF.poitem-quantity=lit_zmmt_item-menge.采购订单数量MOVEsy-datumTOpoitem-price_date.价格确定日期1poitem-net_price=lit_zmmt_item-netpr.poitem-tax_code=J0.销售税代码poitem-calctype=Bpoite

16、m-po_price=2.IF(lit_zmmt_item-werks=2001ORlit_zmmt_item-werks=2046).poitem-acctasscat=P.科目分配类别ELSE.poitem-acctasscat=Q.|ENDIF.READTABLElit_zmmt_mzlogINDEX1.IFlit_zmmt_mzlog-ekorg=FYpoitem-acctasscat=P.|ENDIF.poitem-preq_name=lit_zmmt_item-zxsj1poitem-trackingno=lit_zmmt_item-zxsj.IFlit_zmmt_item-ps_

17、psp_pnrISINITIALANDpoitem-materialCSS9.20131209gaofengCLEARpoitem-acctasscat.ENDIF.IFlit_zmmt_item-werks=2001ANDlit_zmmt_item-ps_psp_pnrISINITIALANDpoitem-materialCSS9.20131206gaofeng成本中心poitem-acctasscat=K.科目分配类别poaccount-costcenter=CC20011002.|poaccountx-costcenter=XELSEIFlit_zmmt_item-werks=2046A

18、NDlit_zmmt_item-ps_psp_pnrISINITIALANDpoitem-materialCSS9.poitem-acctasscat=K.科目分配类别poaccount-costcenter=CC20461001poaccountx-costcenter=X.ENDIF.IFpoitem-materialCSS1CLEARpoitem-acctasscat.|ENDIF.APPENDpoitemCLEARpoitempoitemx-po_item=lit_zmmt_item-ebelp.MOVEXTOpoitemx-material.MOVEXTOpoitemx-plant.

19、MOVEXTOpoitemx-quantity.MOVEXTOpoitemx-price_date.MOVEXTOpoitemx-net_price.MOVEXTOpoitemx-tax_code.poitemx-acctasscat=X.poitemx-calctype=X.poitemx-po_price=X.poitemx-preq_name=X.poitemx-trackingno=X.APPENDpoitemx.CLEARpoitemx.poschedule-po_item=lit_zmmt_item-ebelp.poschedule-delivery_date=lit_zmmt_i

20、tem-eeindAPPENDposchedule.|CLEARposchedule.|poschedulex-po_item=lit_zmmt_item-ebelpMOVEXTOposchedulex-delivery_date.APPENDposchedulex.CLEARposchedulexpoaccount-po_item=lit_zmmt_item-ebelp.poaccount-serial_no=01*poaccount-WBS_ELEMENT=11601130100031.poaccount-wbs_element=lit_zmmt_item-ps_psp_pnrS9IFpo

21、item-materialCSS1ORpoitem-materialCSCLEARpoaccount-wbs_element.ENDIF.APPENDpoaccount.CLEARpoaccount.poaccountx-po_item=lit_zmmt_item-ebelp.poaccountx-serial_no=01poaccountx-wbs_element=X.APPENDpoaccountx.CLEARpoaccountx.|ENDLOOP.CALLFUNCTIONBAPI_PO_CREATE1EXPORTINGpoheader=poheader|poheaderx=poheade

22、rxno_price_from_po=XIMPORTINGexppurchaseorder=exppurchaseorderexpheader=expheaderexppoexpimpheader=exppoexpimpheaderTABLESRETURNRETURNpoitempoitemxPOADDRDELIVERYposcheduleposchedulexpoaccountpoaccountxIFexppurchaseorderREADTABLEreturnWITHKEYtype=E.ifsy-subrc0.|CLEARgt_ltxts.CLEARlwltxt.=poitem=poite

23、mx=poschedule=poschedulex=poaccount=poaccountxISNOTINITIALlw_ltxt-tdformat=*lw_ltxt-tdline=lit_zmmt_mzlog-sgtxt.APPENDlw_ltxtTOgt_ltxts.CLEARlw_ltxt.lw_ltxt-tdformat=*.|lw_ltxt-tdline=lit_zmmt_mzlog-ablad.APPENDlw_ltxtTOgt_ltxts.CLEARlw_ltxt.lw_ltxt-tdformat=*.|lw_ltxt-tdline=lit_zmmt_mzlog-wempf1.A

24、PPENDlw_ltxtTOgt_ltxts.CLEARlw_ltxt.CLEARgs_header.gs_headergs_header-tdobject=EKKO-tdid=F06gs_header-tdspras=1.gs_header-tdname=exppurchaseorder.CALLFUNCTIONSAVE_TEXTEXPORTINGCLIENT=sy-mandtHEADER=gs_header* INSERT=savemode_direct=Xowner_specified=X|* LOCAL_CAT=* IMPORTING* FUNCTION=* NEWHEADER=TAB

25、LESLINES=gt_ltxtsCALLFUNCTIONBAPI_TRANSACTION_COMMITwa_return-SIGN=Ywa_return-DATA=exppurchaseorderwa_return-MESSAGE=数据保存成功.wa_return-errorcode=0APPENDwa_returnTOgt_returnCLEARwa_returnIFlit_zmmt_mzlog-ekorg=FY.DATA:ls_goodsmvt_headerLIKEbapi2017_gm_head_01lv_goodsmvt_codeLIKEbapi2017_gm_code01-MB01

26、READTABLElit_zmmt_mzlogINDEX1.LIKEbapi2017_gm_item_createTYPEbapi2017_gm_item_createO*=DATA:lt_goodsmvt_itemCCURS0WITHHEADERLINE,ls_goodsmvt_itemDATA:lt_goodsmvt_serialnumberumberOCCURS0WITHHEADERLINE,LIKEbapi2017_gm_serialnls_goodsmvt_serialnumberumber.TYPEbapi2017_gm_serialnDATA:lt_mat_returnLIKEb

27、apiret2OCCURS0WITHHEADERLINE.DATA:lv_matdoc_itmTYPEmblpo,lvoutmatdoc-matTYPEbapi2017_gm_head_ret过账日期改ls_goodsmvt_header-pstng_date=sy-datum.ls_goodsmvt_header-docdatesy-datum.ls_goodsmvt_header-pr_unamesy-uname.lv_goodsmvt_code-gm_code01MB01LOOPATlitzmmtitemIFls_goodsmvt_header-pstng_dateISINITIALCA

28、LLFUNCTIONZFUNBUDATINFOEXPORTINGbwkeylitzmmtitem-werksIMPORTINGbudatls_goodsmvt_header-pstng_dateENDIF.lvmatdocitmlitzmmtitem-ebelp收货行项目处理ls_goodsmvt_item-move_type101ls_goodsmvt_item-mvtindB物料ls_goodsmvt_item-po_numberexppurchaseorderls_goodsmvt_item-po_itemlitzmmtitem-ebelpls_goodsmvt_item-wbselem

29、litzmmtitem-ps_psp_pnrLSGOODSMVTITEM-MATERIAL=LSTMPEKPO-MATNR.厂ls_goodsmvt_item-entry_qnt=litzmmtitem-menge.数悬里ls_goodsmvt_item-plantlitzmmtitem-werks.库存地LSGOODSMVTITEM-STGELOC=1001.*点(测试写死)*批次号LSGOODSMVTITEM-BATCH=LSTMPEKPO-CHARG.WBS信息APPENDls_goodsmvt_itemTOlt_goodsmvt_itemLSGOODSMVTSERIALNUMBER-M

30、ATDOCITM=LVMATDOCITM.APPENDLSGOODSMVTSERIALNUMBERTOLTGOODSMVTSERIALNUMBER.LVMATDOCITM=LVMATDOCITM+1.ENDLOOP.收货动作CALLFUNCTIONBAPIGOODSMVTCREATEEXPORTINGgoodsmvt_headerls_goodsmvt_headergoodsmvt_codelv_goodsmvt_codeIMPORTINGmaterialdocumentlvoutmatdocTABLESgoodsmvt_itemlt_goodsmvt_itemgoodsmvt_serialn

31、umberlt_goodsmvt_serialnumberRETURNltmatreturnIFlvoutmatdocISNOTINITIAL*UPDATECOMMITWORKANDWAITLOOPATLTTMPINFODATAINTOLSTMPINFODATA.LSTMPINFODATA-SIGN=Y.LSTMPINFODATA-EBELN=LSTMPINFODATA-EBELN.LSTMPINFODATA-WERKS=LSTMPINFODATA-WERKS.LSTMPINFODATA-MATNR=LSTMPINFODATA-MATNR.APPENDLSTMPINFODATATOGTRETU

32、RN.CLEARLSTMPINFODATA.ENDLOOP.ELSE.ROLLBACKWORK.ENDIF.ENDIF.ELSE.CALLFUNCTIONBAPITRANSACTIONROLLBACKLOOPATRETURN.CALLFUNCTIONFORMAT_MESSAGEEXPORTING*IDlang=sy-langu=RETURN-IDNO=RETURN-NUMBERv1=RETURN-message_v1v2=RETURN-message_v2v3=RETURN-message_v3v4=RETURN-message_v4IMPORTINGmsg=l_msgEXCEPTIONSno

33、t_found=1OTHERS=2.|IFRETURN-ID=BAPIANDRETURNCLEARl_msg.ENDIF.IFRETURN-ID=MEPOANDRETURNCLEARl_msg.ENDIF.CONCATENATEl_msg2l_msgINTOl_msg2-NUMBER=001-NUMBER=000ENDLOOP.wa_return-SIGN=Nwa_return-DATA=.wa_return-MESSAGE=l_msg2wa_return-errorcode=2APPENDwa_returnTOgt_returnCLEARwa_returnENDIF.CLEAR:l_msg.ENDLOOP.ELSE.HDS订单号已经存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论