




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、接口简单说1在总装车间整车完工下线时(OFF-LINE点)会把完工车辆信CATS,CATS单;对于备件,如果CATS系统进行管理,由需求产生冲;通过接口将零件反冲数量传到SAP的整车反冲库,实现反冲零件从线边库到反冲库的库存转移;由于CATS零件反冲品种及对应数量非常大,而且仅是进行口实现物流与流的集,实现财务的管理及分析;从CATS产生的零件反冲中,通过中间转换程序,取得TACT(TACT为生产节拍,下同)、内外区分、部品编号、当工顺、反冲数量、反冲日期、工厂代码;通过本接口在SAP结算时点,根据整车下线辆份作为结算同步供货件数量依CATSCATS系统中没有这些物料入库信息。基于SAP系统采购结算需要,需根据CATS中的下线反冲线边库存的数据,以及工费及其他领料造成的损坏的数量,在SAP中通过本程序的增强功能,创建23456无78CATSCATSMQMQSAP8二、输入页三、输出页四、程序中使用的表PTCO04PTCO04程序中使用功能模块(FunctionModule)获取数据说3:4input=l_matnroutput= tekomd7:保存日志到透明表8:保存日志到文件9:10:11:删除服务器上的文件12:13:数值类型检测14:检测数据源Original已存E141&Original已存E142:&反冲数量&处理年月日E143:&处理年月日&E144:&工厂代码&Part-NOE145:&Part-NO&E146&Part-NO&的工厂视图不存E148&库存移出数量&BAPIE149S150,成功导入&(SAP工厂&物料号&工厂&物料号&供应商&供应商&创建采购订单失败息:&收货失败:&,已取消采购订单收货失败:&,取消采购订单&:&五、程序流程图<总体流程数据上载数据上载到循环表B对记录增加行A表数据解析到内表定义A:服务器上载数有效性检Y表B循环结SORT表CBY将有效非同步供货件记APPEND至同步供货件数APPEND至表B循环结SORT表CBY将有效非同步供货件记APPEND至同步供货件数APPEND至N的无效信息记录到临时内表作用lt_tep:当内表C中同一个original 下的记录数超过499条时,需进行按499条为一组进行分组,分组后的数据存入lt_temp.将l_te中的数据产生一条SA物料证。循环表C(WHILEC非空
条进行分组到lt_temp的过程参见本流程图STEP203040同同STEP60操作(将C表循环结Lt_tempISNY循环表IFlt_temp记录数于999ANDlt_ 将lt_temp中将lt_temp中的数据调BAPI产生SAP物料凭Y循环内表C结
=?YY11:APPENDCTOlt_temp2:DELETECINDEX1循环表E结结<STEP10详细流程>数据有效性检SelectmatnrfromMarawherematnr=上传数据物料号数量检YN物料是否存YN工厂数据是存在N物料是否存YN工厂数据是存在YN物料工厂数存在YN数量是否有效并不为YYN反冲日期有YYY已存在N子流程结检查入库单据的重复Select*from条件:入库单据号,物料号,工反冲日期检SelectwerksfrommarcWherewerks上传数据工厂andmatnr=上传数据物料SelectwerksfromT001WWherewerks上传数据工厂修改成Y修改成YN所有项次内容到lt_newpo_item结子流程子流程开lt_groupisnot 局部内表定lt_newpo_item需创建订单的项目Lt_gr_item收货项次内容工厂采购组织查询供应商结算期间信息N存在结算期N存在结算期N结算期间记录大于2NY将lt_group数据及错误REFRESHlt_group子流程结存在采购订 YREFRESHlt_group创建订 传入参LOOPLoopNlt_ekpo中已存在此料及价格一致项 订单创建成N子订单创建成N子流程结Callbapi,根将订单、项次内容append将订单及新项次内(累加后的数量)lt_cancel_po_itemLt_group循Lt_group循环结将订单及项次append货数量)append至将订单、项次内容appendNN收货成lt_gr_item及信息写入信息表Y子子流程结信息收集物料凭证信<STEP60详细流程>检查分组数据并产生物料凭证过子流程结子流程结子流程开循环内表lt_temp结N Y循环内表lt_temp结根据lt_temp数据调用BAPI创建物料凭1:BAPI根据lt_temp数据调用BAPI创建物料凭2:转库的源仓库和目的仓库为固定值, 义如1010线边仓库代1020反冲仓库代创建成Y生生成凭证记的入日子流程结六、程序规1;主要变量定义 服务器上载数gt_mov_data1上载数据串解gt_mov_data2单据号及Vin码有效性过滤后的数gt_matlistgt_matlist1gt_matlist2-具有有效采购价格的同步供货件数gt_proc_info导入过程信息收集,最终作为写日志和生成错误文件的数据2;程序结构1;从服务器文件至gt_content2;将gt_content数据根据layout解析、经过PT工厂的气门垫片消耗数据再将数据放到gt_mov_data1frm_resolve_data3;LOOP IF数据有效同步供货件数据APPEND非同步供货件数据APPEND4;frm_business_transact.LOOPATgt_mov_data2IFFrm_create_.对分组数据调用BAPI进行移库处frm_append_info5;frm_business_transact1.frm_get_vendor.,gt_matlistAPPENDfrm_check_price.,gt_matlist1APPENDgt_matlist2frm_po_gr_processLOOP按供应商/工厂/反冲日期将gt_matlist2数据进行分组,当多与499条需对分组数据检查是否已存在符合条件的采购订IF已存创建采购订单,并对这些项目进行收6;将gt_proc_info追加到接口日志文件及日志数据库七、虚拟代PROGRAMID/NAME: DATEWRITTEN:2010-5-AUTHOR'S LASTPROGRAM PROJECT 郑州日产VERSION: INCLUDE: CALLS:(RFCAND TABLE: CHANGE REPORTzpvcoi004MESSAGE-IDNOSTANDARDPAGEHEADING LINE-SIZE193 LINE-COUNT TABLES*BOINCLUDE*EO*&*>_mov_data1:将服务器文件解析后的业务数*>_mov_data2:gt_mov_data1中有效性过滤后数DATA:BEGINOFgt_mov_data1OCCURS0,originaldoc(25)TYPE filename(130)TYPE procurement(1)TYPE processcode(5)TYPE partno(18)TYPEc, "零件编号ty(13)TYPEc, backflusdate(8)TYPEc, "反冲日期nt(4)TYPEc, str_ori(74)TYPEc, alter_(1)TYPE "选配件标bkfpart(18)TYPE lineno(8)TYPEc, ENDOFgt_mov_data1.DATAgw_mov_data1LIKEDATAgt_mov_data2LIKEgt_mov_data1OCCURS0WITHHEADERLINE.DATAgt_co04alterLIKEzpv_t_co04_xpOCCURS0WITHHEADER*>_matlist*>_matlist1*>_matlist2:具有有效采购价格的同步供货件数DATA:BEGINOFgt_matlistOCCURS0,lifnrLIKElfa1- werksLIKEmarc- backflusdate(8)TYPE originaldoc(25)TYPE filename(130)TYPE lgortLIKEt001l- "位matnrLIKEmara- mengeLIKEekpo-menge, menge_originalLIKEekpo-menge,"物料数量netprLIKEekpo-netwr, po_unitLIKEekpo-meins, currLIKEbapimepocond-currencycurr_isoLIKEbapimepocond-currency_iso,"货币ISO代码zzspsgLIKEmarc-zzspsg, str_ori(74)TYPEc, lineno(8)TYPEc, ENDOFgt_matlist1LIKEgt_matlistOCCURS0WITHHEADERLINE,gt_matlist2LIKEgt_matlistOCCURS0WITHHEADERDATA:BEGINOFgt_reserv_resbOCCURS0,matnrLIKEmara-matnr,ebelpLIKEresb-ebelp,werksLIKEekpo-werks,lifnrLIKEekko-lifnr,msg(255)TYPEc,cerr(1)TYPEENDOF*DATA:BEGINOFgt_errcontentOCCURS0,originaldoc(25)TYPE procurement(1)TYPE processcode(5)TYPE partno(18)TYPEc, ty(13)TYPEc, backflusdate(8)TYPEc, nt(4)TYPE "工厂代ENDOFBEGINOFgt_proc_infoOCCURS0,filename(130)TYPE originaldoc(25)TYPE procurement(1)TYPE processcode(5)TYPE partno(18)TYPEc, ty(13)TYPEc, backflusdate(8)TYPEc, nt(4)TYPE "工厂代msgid(1)TYPE message(255)TYPE str_ori(74)TYPE lineno(8)TYPEc, ENDOFgt_proc_info.DATA:BEGINOFgt_mail_contentOCCURS0,field1(10)TYPEc,"消息类型field2(10)TYPEc,"运行日期field3(10)TYPEc,"运行时间field4(20)TYPEc,"程序名称field5(255)TYPEc,ENDOFDATA:g_mail_title(20)TYPE g_dateLIKEsy-datum, g_timeLIKEsy- "程序处理开始时c_log(50)TYPEcVALUECO04的运行日志',c_msgtype(8)TYPEcVALUE'消息类型',c_rundate(8)TYPEcVALUE'运行日期',c_runtime(8)TYPEcVALUE'运行时间',c_programm(8)TYPEcVALUE'程序名称',c_msgdesp(8)TYPEcVALUE'消息描述', TYPEc VALUE'CO04', TYPEt001w-werksVALUE'4010', TYPEt001w-werksVALUE'4040', TYPEt001w-werksVALUE'8929', "ZNA工厂代码C TYPEt001w-werksVALUE'4020', c_lgort_ptzz_frmTYPEt001l-lgortVALUE'5210', c_lgort_ptzz_toTYPEt001l-lgortVALUE "PT铸造车间转入仓库5220-铸冲c_lgort_ptjj_frmTYPEt001l-lgortVALUE'5310', c_lgort_ptjj_toTYPEt001l-lgortVALUE'5320', c_lgort_ptzp_frmTYPEt001l-lgortVALUE'1010', c_lgort_ptzp_toTYPEt001l-lgortVALUE c_lgort_ptcTYPEt001l-lgortVALUE'5220',"PT同步供货件收货仓库-铸造c_lgort_ptmTYPEt001l-lgortVALUE'5320',"PT同步供货件收货仓库-机加c_lgort_ptaTYPEt001l-lgortVALUE'1020',"PPTc_lgort_hd_frmTYPEt001l-lgortVALUE1010',"花都工厂线边仓库代码,c_lgort_hd_toTYPEt001l-lgortVALUE1020',"花都工厂反冲仓库代码,c_lgort_xf_frmTYPEt001l-lgortVALUE1010',"襄樊工厂线边仓库代码,c_lgort_xf_toTYPEt001l-lgortVALUE1020',c_lgort_zna_frmTYPEt001l-lgortVALUE'1010', c_lgort_zna_toTYPEt001l-lgortVALUE c_bapi_mov_typeLIKEbapi2017_gm_item_create-move_typeVALUE'311',"移动类型 LIKEbapi2017_gm_item_create-move_typeVALUE'309',"移动类型 LIKEbapi2017_gm_code-gm_code VALUE'04',"移动GM代码c_ebelpLIKEekpo- VALUEc_lgort_zzsgsgLIKEt001l-c_ekorgLIKEt024e-c_ekgrpLIKEekko-c_ekgrp1LIKEekko-c_matklLIKEeina-c_bukrsLIKEt001k-c_po_doc_typeLIKEekko-c_mvtcodeLIKE"Movementc_gr_mvt_indTYPE LIKEt156-c_datb(2)TYPEc_item_catLIKEbapimepoitem-item_catVALUE "PO*&SELECTION-SCREEN:BEGINOFBLOCKb1WITHFRAME.PARAMETERS:p_fname(128)TYPEcDEFAULT'ZNCO04'.SELECTION-SCREEN:ENDOFBLOCKb1.PERFORMSTART-OF-MOVEp_fnameTOg_filename. PERFORMfrm_get_data. PERFORMfrm_resolve_data. PERFORMfrm_delete_file. 录addedbyterry.wangPERFORM PERFORMfrm_business_transact."业务处理,生成SAP凭证PERFORMfrm_business_transact1."处理同步供货件数据的采购收货PERFORMfrm_save_log. END-OF- Form *&功能说明:对程序中用到的全局变量进行初始 FORMLOOPATSCREEN.IFscreen-nameEQ'P_FNAME'.screen-input='0'.MODIFY*REFRESH REFRESH "接口文件保存数据的内REFRESH REFRESH CLEAR *REFRESH REFRESHgt_mov_data2. Form *&功能说明:解析上传文件中的内容到gt_mov_data1内表 FORMDATA:l_noLIKEekpo-ebelp,l_no2(8)TYPEc.DATAlt_input_contentLIKEgt_input_content.REFRESHgt_mov_data1.REFRESHg_date=sy-datum.g_time=sy-LOOPAT*BeginofinsertionbyZhouHongmingon10.14.2005forskiprecordsinwhichpartnobeginwith'4D'*AccordingtoMr.Tim,ngitbeforeanythingelse.gt_mov_data1-partno=gt_input_content-value+31(18).CONDENSEgt_mov_data1-partnoNO-GAPS.TRANSLATEgt_mov_data1-partnoTOUPPERCASE.IFgt_mov_data1-partno+0(2)='4D'.*Endofinsertionbyl_no=l_no+CONCATENATE'[''L'l_no']'INTOgt_mov_data1-filename=gt_input_content-name.gt_mov_data1-originaldoc=gt_input_content-value+0(25).gt_mov_data1-procurement=gt_input_content-value+25(1).gt_mov_data1-processcode=gt_input_content-value+26(5).gt_mov_data1-partno=gt_input_content-value+31(18).gt_mov_data1-ty=gt_input_content-value+49(13).gt_mov_data1-backflusdate=gt_input_content-value+1(8).gt_mov_data1-nt=gt_input_content-value+70(4).gt_mov_data1-str_ori=gt_input_content-value.gt_mov_data1-lineno=l_no2.APPENDCLEARgt_file_name-filenamegt_input_content-name.COLLECTgt_file_name."存放所有文件的文件名CLEARgt_file_name.ATENDOFCLEARSELECT*INTOTABLEgt_co04alterFROMzpv_t_co04_xp. Form *&功能说明:对上传数据各字段进行有效性检 FORMlt_mov_data1LIKEgt_mov_data1OCCURS0WITHHEADERlt_co04alterLIKEgt_co04alterOCCURS0WITHHEADER TYPEc, TYPE TYPE TYPE TYPELOOPATCONDENSE:gt_mov_data1-gt_mov_data1-backflusdateNO-GAPS.CALLFUNCTION'CONVERSION_EXIT_MATN1_INPUT'input=gt_mov_data1-partnooutput=gt_mov_data1-MODIFYSORTgt_mov_data1BYoriginaldoc.LOOPATgt_mov_data1.*SELECTSINGLE*FROMmaraWHEREmatnrEQgt_mov_data1-partnoANDpstatLIKE'%L%'.IFsy-subrcNE0.PERFORMfrm_build_msgUSINGc_msg_cls_in'145'gt_mov_data1-str_origt_mov_data1-partno''''CHANGINGPERFORMfrm_append_err_dataUSINGl_msggt_mov_data1.CLEARl_msg.*SELECTSINGLE*FROMt001wWHEREwerksEQgt_mov_data1-nt.IFsy-subrcNE0.PERFORMfrm_build_msgUSINGc_msg_cls_in'144'gt_mov_data1-str_origt_mov_data1-nt''''CHANGINGPERFORMfrm_append_err_dataUSINGl_msggt_mov_data1.CLEARl_msg.SELECTSINGLE*FROMmarcWHEREmatnrEQgt_mov_data1-partnoANDwerksEQgt_mov_data1-ntANDlvormNEIFsy-subrcNEPERFORMfrm_build_msgUSINGc_msg_cls_in'146'gt_mov_data1-str_origt_mov_data1-partno''''CHANGINGPERFORMfrm_append_err_dataUSINGl_msggt_mov_data1.CLEARl_msg.*检查反冲数量的PERFORMfrm_dec_checkUSINGgt_mov_data1-tyCHANGINGl_valid_flag.IFl_valid_flagNE'Y'ORgt_mov_data1-tyEQ0.PERFORMfrm_build_msgUSINGc_msg_cls_in'142'gt_mov_data1-str_origt_mov_data1-ty''''CHANGINGPERFORMfrm_append_err_dataUSINGl_msggt_mov_data1.CLEARl_msg.*检查反冲日期的CLEARl_valid_flag.PERFORMfrm_date_checkUSINGgt_mov_data1-backflusdateCHANGINGl_valid_flag.IFl_valid_flagEQ'N'.PERFORMfrm_build_msgUSINGc_msg_cls_in'143'gt_mov_data1-str_origt_mov_data1-backflusdate''''CHANGINGPERFORMfrm_append_err_dataUSINGl_msggt_mov_data1.CLEAR:l_msg,l_valid_flag.*检查original是否重复SELECTSINGLE*FROMzpv_t_docchk1WHEREzkfbhEQc_co04ANDwerksEQgt_mov_data1-ntANDbktxtEQgt_mov_data1-originaldocANDmatnrEQgt_mov_data1-partno.IFsy-subrcEQPERFORMfrm_build_msgUSINGc_msg_cls_in'141'gt_mov_data1-str_origt_mov_data1-originaldoc''''CHANGINGPERFORMfrm_append_err_dataUSINGl_msggt_mov_data1.CLEARl_msg.PERFORMfrm_append_valid_dataUSING Form FORMfrm_append_err_dataUSINGpr_msgpw_mov_data1STRUCTUREMOVE-CORRESPONDINGpw_mov_data1TOgt_proc_info.gt_proc_info-message=pr_msg.gt_proc_info-msgid='E'.APPENDgt_proc_info.CLEAR: Form FORMfrm_append_valid_dataUSINGpw_movdataSTRUCTURESELECTSINGLE*FROMWHEREwerksEQpw_movdata-ntANDmatnrEQpw_movdata-partnoANDzzsgsgEQ'X'.IFsy-subrcEQ0.gt_matlist-lineno=pw_movdata-lineno.gt_matlist-matnr=pw_movdata-partno.gt_matlist-werks=pw_movdata-nt.gt_matlist-menge_original=pw_movdata-ty.****区分PT工厂地byhuanghuibinIFpw_movdata-ntEQc_nt_pt.IFpw_movdata-processcode+2(1)EQgt_matlist-lgort=ELSEIFpw_movdata-processcode+2(1)EQ'M'.gt_matlist-lgort=c_lgort_ptm.gt_matlist-lgort=gt_matlist-lgort=****区分PT工厂地byhuang gt_matlist-lgort=IFmarc-zzspsgEQ'X'.gt_matlist-zzspsg='X'.gt_matlist-backflusdate=pw_movdata-backflusdate.gt_matlist-originaldoc=pw_movdata-originaldoc.gt_matlist-filename=pw_movdata-filename.gt_matlist-str_ori=pw_movdata-str_ori.APPENDCLEARCLEARAPPENDpw_movdataTO Form *&功能说明:把对应上传文件的错误数据生成对应的错误数据文件并放 服务器的出错文 FORMfrm_write_err_fileUSINGDATA:l_subrcLIKEsy-subrc,l_filename(130)TYPEc,l_pfilename(130)TYPElt_errcontentLIKElineOCCURS0WITHHEADER**l_filename=LOOPATgt_proc_infoWHEREfilenameEQpr_filename.gt_proc_info-originaldoc=gt_proc_info-str_ori+0(25).gt_proc_info-procurement=gt_proc_info-str_ori+25(1).gt_proc_info-processcode=gt_proc_info-gt_proc_info-partno=gt_proc_info-str_ori+31(18).gt_proc_info-ty=gt_proc_info-str_ori+49(13).gt_proc_info-backflusdate=gt_proc_info-str_ori+62(8).gt_proc_info-nt=gt_proc_info-str_ori+70(4).MODIFY*IFNOTgt_proc_info[]ISSORTgt_proc_infoBYfilenameoriginaldoc.CLEARgt_proc_info.LOOPATgt_proc_infoWHEREfilenameEQCHECKgt_proc_info-msgidEQMOVE-CORRESPONDINGgt_proc_infoTOgt_errcontent.APPENDgt_errcontent.CLEARCHECKgt_errcontent[]ISNOTINITIAL.lt_errcontent[]=gt_errcontent[].PERFORMfrm_write_err_file_to_srvTABLESUSINGgt_proc_info-filenameCHANGINGl_subrc.REFRESH Form *&功能说明:调用BAPI生成SAP凭 FORMDATAl_countTYPEDATAlt_movdataLIKEgt_mov_data2OCCURS0WITHHEADERIFgt_mov_data2[]ISSORTgt_mov_data2BYREADTABLEgt_mov_data2INDEX1.APPENDgt_mov_data2TOlt_movdata.DELETEgt_mov_data2INDEX1.LOOPATDESCRIBETABLElt_movdataLINESl_count.IFl_countLT499.READTABLElt_movdataINDEXIFlt_movdata-originaldocEQgt_mov_data2-APPENDgt_mov_data2TOPERFORMfrm_create_TABLESlt_movdata.REFRESHlt_movdata.APPENDgt_mov_data2TOPERFORMfrm_create_TABLESlt_movdata.REFRESHlt_movdata.APPENDgt_mov_data2TOIFlt_movdata[]ISNOTPERFORMfrm_create_TABLESlt_movdata.REFRESHlt_movdata. Form *&功能说明:处理同步供货件的采购收货过 FORMPERFORMfrm_get_vendor. PERFORMfrm_check_price. PERFORMfrm_po_gr_process. Form *&功能说明:获取gt_matlist列表中各记录的供应商信息 FORMDATA:BEGINOFlt_vendorOCCURS0,lifnrLIKElfa1-lifnr,ENDOFl_countTYPEi,l_vendor_existTYPEc.LOOPAT*,BOMIFgt_matlist-zzspsgEQSELECTSINGLE*FROMmastWHEREmatnrEQgt_matlist-matnrANDwerksEQIFsy-subrcNEPERFORMfrm_append_infoexUSING'E''943'gt_matlist-werksgt_matlist-matnr''''gt_matlist.IFgt_matlist-zzspsgEQSELECTeina~lifnrINTOCORRESPONDINGFIELDSOFTABLElt_vendorFROMeinaJOINeineONeina~infnrEQeine~infnrWHEREeina~matnrEQgt_matlist-matnrANDeina~loekzNE'X'ANDeine~werksEQgt_matlist-werksANDeine~ekorgEQc_ekorgANDeine~loekzEQ''ANDeine~esokzEQSELECTeina~lifnrINTOCORRESPONDINGFIELDSOFTABLElt_vendorFROMeinaJOINeineONeina~infnrEQeine~infnrWHEREeina~matnrEQgt_matlist-matnrANDeina~loekzNE'X'ANDeine~werksEQgt_matlist-werksANDeine~ekorgEQc_ekorgANDeine~loekzEQ''ANDeine~esokzEQSORTlt_vendorBYDELETEADJACENTDUPLICATESFROMlt_vendorCOMPARINGDESCRIBETABLElt_vendorLINESl_count.IFl_countEQ1.READTABLElt_vendorINDEX1.gt_matlist-lifnr=lt_vendor-lifnr.APPENDgt_matlistTOgt_matlist1.ELSEIFl_countEQPERFORMfrm_append_infoexUSING'E''287'gt_matlist-werksgt_matlist-matnr''''gt_matlist.******begin2006.4.10byhuanghuibinLOOPATSELECTSINGLE*FROMWHEREwerksEQgt_matlist-werksANDmatnrEQgt_matlist-matnrANDlifnrEQIFsy-subrcEQ0.l_vendor_exist='X'.IFl_vendor_existEQgt_matlist-lifnr=zpv_t_co04vendor-lifnr.APPENDgt_matlistTOgt_matlist1.PERFORMfrm_append_infoexUSING'E''288'gt_matlist-werksgt_matlist-matnr''''gt_matlist. 2006.4.10byhuanghuibinREFRESHCLEAR: Form *&功能说明:检查gt_matlist1列表中各记录的价格信息 FORMDATA:l_field_(3)TYPEc,l_msgidTYPEi,l_msg(255)TYPEc,l_countTYPEi,l_item_cat(1)TYPEc,l_mengeLIKEmard-labst,l_netprLIKEekpo-netwr,l_po_unitLIKEekpo-meins,l_currLIKEekomd-koein.DATA:BEGINOFlt_periodOCCURS0,datbLIKEsy-datum,dateLIKEsy-datum,ENDOFlt_period.LOOPATSELECTz_date1ASdatbz_date2ASdate"获取供应商的结算期间信息INTOCORRESPONDINGFIELDSOFTABLElt_periodFROMWHERElifnrEQgt_matlist1-lifnrANDbukrsEQc_bukrsANDekorgEQc_ekorgANDz_dqjsEQ'Y'ANDz_date1LEgt_matlist1-backflusdateANDz_date2GEgt_matlist1-DESCRIBETABLElt_periodLINESl_count.IFl_countEQ'1'.READTABLElt_periodINDEX1.IFgt_matlist1-zzspsgEQl_item_cat=l_item_cat=PERFORMfrm_getinfo_priceUSINGgt_matlist1-CHANGINGl_field_IFl_field_NEPERFORMfrm_append_infoexUSING'E'l_field_gt_matlist1-matnr''''''gt_matlist1-menge=l_menge.gt_matlist1-netpr=l_netpr.gt_matlist1-po_unit=l_po_unit.gt_matlist1-curr=l_curr.APPENDgt_matlist1TOELSEIFl_countEQPERFORMfrm_append_infoexUSING'E''289'gt_matlist1-lifnr''''''PERFORMfrm_append_infoexUSING'E''290'gt_matlist1-lifnr''''''l_field_REFRESH Form *&功能说明:取物料的采购信息记录中的价 FORMfrm_getinfo_price CHANGINGDATA:lt_inf_generalLIKEbapieinaOCCURS0WITHHEADERLINE, LIKEbapireturnOCCURS0WITHHEADERLINE.DATA: TYPEDATA:l_mara_matkl LIKEmara-matkl, LIKEeina-DATA: LIKEekomdOCCURS0WITHHEADERDATA:l_cond_line(5)TYPEn,l_price_text(15)TYPEbapieina-conv_num1,bapieina-conv_den1.SELECTmatklINTOl_mara_matklUPTO1ROWSFROMmaraWHEREmatnrEQ*CALLFUNCTION'BAPI_INFORECORD_GETLIST' = = = =pr_item_cat =pr_werks ='X'inforecord_general=lt_inf_general =DESCRIBETABLElt_inf_generalLINESl_line_num.CASEl_line_num.WHENSELECTSINGLEmatklINTOl_eina_matklFROMeinaWHEREinfnrEQlt_inf_general-IFl_eina_matklISINITIAL.CLEAR:l_mara_matkl.READTABLElt_inf_generalINDEXCALLFUNCTION'ME_GET_INFORECORD_CONDITIONS'i_ekorg=c_ekorgi_esokz=pr_item_cati_infnr=lt_inf_general-info_reci_lifnr=pr_lifnri_matkl=l_mara_matkli_matnr=pr_matnri_werks=pr_werkstekomd=lt_ekomd.l_cond_line=0.IFlt_ekomd[]ISNOTINITIAL.MOVE:'291'TOpr_err_LOOPATlt_ekomdWHEREdatabLEpr_datum1ANDdatbiGEpr_datum1.l_cond_line=l_cond_line+1.MOVE:'Y'TOpr_err_pr_menge1=pr_menge*lt_inf_general-conv_den1/lt_inf_general-conv_num1.pr_netpr=lt_ekomd-kbetr.MOVE:'291'TOpr_err_WHENMOVE:'291'TOpr_err_WHENMOVE:'292'TOpr_err_ Form *&功能说明:根据信息收集表生成日志数据 FORMDATA:l_totalTYPEl_succTYPEi,l_errTYPEDATA:lt_proc_infoLIKEgt_proc_infoOCCURS0WITHHEADERLOOPATgt_proc_info-originaldoc=gt_proc_info-str_ori+0(25).gt_proc_info-procurement=gt_proc_info-str_ori+25(1).gt_proc_info-processcode=gt_proc_info-str_ori+26(5). =gt_proc_info-str_ori+31(18). =gt_proc_info-str_ori+49(13).gt_proc_info-backflusdate=gt_proc_info-str_ori+62(8). =gt_proc_info-str_ori+70(4).IFgt_proc_info-msgidEQ'E'ANDgt_proc_info-messageNECONCATENATEgt_proc_info-message(3)gt_proc_info-linenogt_proc_info-message+3INTOgt_proc_info-message.MODIFYSORTgt_proc_infoBYfilenameoriginaldoc.LOOPATgt_proc_info.ATNEWlt_proc_info[]=DELETElt_proc_infoWHEREfilenameNEgt_proc_info-filename.DESCRIBETABLElt_proc_infoLINESl_total.DELETElt_proc_infoWHEREmsgidEQ'E'.DESCRIBETABLElt_proc_infoLINESl_succ.l_err=l_total-l_succ.PERFORMfrm_add_head1USINGgt_proc_info-PERFORMfrm_statisticUSINGgt_proc_info-filenamel_totall_succIFgt_proc_info-messageNEPERFORMfrm_add_logUSINGgt_proc_info-msgidsy-datumsy-uzeit'frm_save_log'ATENDOFPERFORMfrm_write_err_fileUSINGgt_proc_info-filename.PERFORMfrm_log_end.PERFORMPERFORM " Form *&功能说明:将已处理的数据文件从输 删除并备份到服务器备 FORMDATAl_subrcLIKEsy-subrc.LOOPATgt_file_name.PERFORMfrm_inputback_fileUSINGgt_file_name-filenameCHANGING Form *&功能说明:对分组数据进行检查并生成SAP凭 FORM TABLESpt_movdataSTRUCTURE LIKEbapi2017_gm_head_01, LIKEbapi2017_gm_code,lw_goodsmvt_headretLIKEbapi2017_gm_head_ret,l_materialLIKEbapi2017_gm_head_ret-mat_doc, LIKEbapi2017_gm_head_ret-mat_doc,l_mat LIKEbapi2017_gm_item_createOCCURS0WITHHEADERLINE, LIKEbapiret2OCCURS0WITHHEADERLINE, LIKEbapiret2OCCURS0WITHHEADERDATA:lt_alter_partLIKEgt_mov_data2OCCURS0WITHHEADERLINE.DATA:lt_mov_dataLIKEgt_mov_data2OCCURS0WITHHEADERLINE.DATA:l_msg(255)TYPEl_msg2(255)TYPEl_flag(1)TYPEc,l_lgortfrmLIKEt001l-lgort,l_lgorttoLIKEt001l-lgort,l_postdateLIKEsy-datum,l_doc_yearLIKEbapi2017_gm_head_ret-doc_year,l_originaldocLIKEgt_mov_data1-originaldoc.READTABLEpt_movdataINDEXIFpt_movdata-ntEQc_nt_hd. "IFHDFactoryl_lgortfrm=c_lgort_hd_frm.l_lgortto=IFpt_movdata-ntEQc_nt_xf. "IFXFFactoryl_lgortfrm=c_lgort_xf_frm.l_lgortto=**BOC IFpt_movdata-ntEQc_nt_zna. "IFZNAFactoryl_lgortfrm=c_lgort_zna_frm.l_lgortto=c_lgort_zna_to.**EO READTABLEpt_movdataINDEX1.lw_goodsmvt_header-pstng_date=pt_movdata-backflusdate.lw_goodsmvt_header-doc_date=sy-datum.lw_goodsmvt_header-header_txt=pt_movdata-originaldoc.lw_goodsmvt_code-gm_code=c_gm_code.CLEARLOOPATpt_movdata.IFpt_movdata-ntEQc_IFpt_movdata-processcode+2(1)EQ'A'.l_lgortfrm=c_lgort_zna_frm.l_lgortto=c_lgort_zna_to. =pt_movdata-partno. =pt_movdata-nt. =l_lgortfrm.lt_goodsmvt_item-move_type=c_bapi_mov_type.lt_goodsmvt_item-entry_qnt=pt_movdata-ty.lt_goodsmvt_item-move_stloc=l_lgortto.APPENDlt_goodsmvt_item.CLEARlt_goodsmvt_item.CALLFUNCTION'BAPI_GOODSMVT_CREATE'goodsmvt_header=lw_goodsmvt_header =lw_goodsmvt_codegoodsmvt_headret=lw_goodsmvt_headretmaterial=l_materialmatyear=l_matyear =lt_goodsmvt_item =lt_bapiret2.IFl_materialISINITIAL.ROLLBACKWORK.LOOPATlt_bapiret2WHEREtypeEQCONCATENATEl_msg2lt_bapiret2-message'/'INTOLOOPATl_originaldoc=pt_movdata-PERFORMfrm_build_msgUSINGc_msg_cls_in'149'pt_movdata-str_orilt_bapiret2-idl_msg2''CHANGINGMOVE-CORRESPONDINGpt_movdataTOgt_proc_info.gt_proc_info-msgid='E'.gt_proc_info-message=l_msg.APPENDgt_proc_info.CLEAR: COMMITWORKANDCALLFUNCTION'BA wait= l_postdate=lw_goodsmvt_header-pstng_date.l_doc_year=lw_goodsmvt_headret-doc_year.****begin309byhuanghuibin2006.4.28LOOPATpt_movdataWHEREntEQc_nt_ptANDalter_EQAPPENDpt_movdataTOIFNOTlt_alter_part[]ISINITIAL.READTABLElt_alter_partINDEXlw_goodsmvt_header-pstng_date=lt_alter_part-backflusdate.lw_goodsmvt_header-doc_date=sy-datum.lw_goodsmvt_header-header_txt=lt_alter_part-originaldoc.lw_goodsmvt_code-gm_code=c_gm_code.CLEARLOOPATIFlt_alter_part-processcode+2(1)EQ'C'.l_lgortfrm=c_lgort_ptzz_frm.l_lgortto=c_lgort_ptzz_to.ELSEIFlt_alter_part-processcode+2(1)EQ'M'.l_lgortfrm=c_lgort_ptjj_frm.l_lgortto=ELSEIFlt_alter_part-processcode+2(1)EQ'A'.l_lgortfrm=c_lgort_ptzp_frm.l_lgortto= =lt_alter_part-partno. =lt_alter_part-nt. =l_lgortto.lt_goodsmvt_item-move_type=c_mtype_309. =lt_alter_part-bkfpart.lt_goodsmvt_item-entry_qnt= APPENDlt_goodsmvt_item.CLEARlt_goodsmvt_item.CALLFUNCTION'BAPI_GOODSMVT_CREATE'goodsmvt_header=lw_goodsmvt_header =lw_goodsmvt_codegoodsmvt_headret=lw_goodsmvt_headretmaterial=l_matdoc_309matyear=l_matyear =lt_goodsmvt_item =lt_bapiret2.IFl_matdoc_309ISINITIAL.ROLLBACKWORK.READTABLElt_bapiret2WITHKEYtype=CALLFUNCTION'BAPI_GOODSMVT_CANCEL'material=l_material =l_doc_yeargoodsmvt_pstng_date=l_postdate =lw_goodsmvt_headret =READTABLElt_bapiretWITHKEYtype='E'.IFsy-subrcEQ0.ROLLBACKREADTABLEpt_movdataINDEX1.l_originaldoc=pt_movdata-originaldoc.PERFORMfrm_build_msgUSINGc_msg_cls_in'154'l_originaldocl_materiallt_bapiret-message''CHANGING COMMITWORKANDCALLFUNCTION'BA wait= READTABLEpt_movdataINDEX1.l_originaldoc=pt_movdata-originaldoc.PERFORMfrm_build_msgUSINGc_msg_cls_in'155'l_originaldocl_materiallw_goodsmvt_headret-mat_doc''CHANGINGLOOPATMOVE-CORRESPONDINGpt_movdataTOgt_proc_info.gt_proc_info-msgid='E'.gt_proc_info-message=l_msg.APPENDgt_proc_info.CLEAR: COMMITWORKANDCALLFUNCTION'BA wait= PERFORMfrm_update_customdbTABLESpt_movdataUSINGl_material.LOOPATpt_movdata.l_originaldoc=pt_movdata-originaldoc.ATFIRST.PERFORMfrm_build_msgUSINGc_msg_cls_in'156'l_originaldocl_materiall_matdoc_309''CHANGINGMOVE-CORRESPONDINGpt_movdataTOgt_proc_info.gt_proc_info-msgid='S'.gt_proc_info-message=l_msg.APPENDgt_proc_info.CLEARCLEARPERFORMfrm_update_customdbTABLESpt_movdataUSINGl_material.LOOPATpt_movdata.l_originaldoc=pt_movdata-originaldoc.ATFIRST.PERFORMfrm_build_msgUSINGc_msg_cls_in'150'l_originaldocl_material''''CHANGINGl_msg.MOVE-CORRESPONDINGpt_movdataTOgt_proc_info.gt_proc_info-msgid='S'.gt_proc_info-message=l_msg.APPENDgt_proc_info.CLEARCLEAR****end309byhuanghuibin2006.4.28 " Form *&功能说明:将记录及信息写入信息收集表 FORMfrm_append_infoUSINGpr_msgidpr_parmpw_movdataSTRUCTUREDATA:l_msg(255)TYPEl_parm(74)TYPEl_parm=pw_movdata-MOVE-CORRESPONDINGpw_movdataTOPERFORMfrm_build_msgUSINGc_msg_cls_inpr_msgidl_parmpr_parm''''CHANGINGgt_proc_info-msgid='E'.gt_proc_info-message=l_msg.APPENDgt_proc_info.CLEARCLEAR " Form *&功能说明:将记录及信息写入信息收集表 FORMfrm_append_infoexUSINGpw_movdataSTRUCTUREDATA:l_msg(255)TYPEMOVE-CORRESPONDINGpw_movdataTOPERFORMfrm_build_msgUSINGCHANGINGl_msg.gt_proc_info-msgid=pr_flag.gt_proc_info-message=l_msg.APPENDgt_proc_info. " Form --> <-- FORMfrm_po_gr_processDATA:BEGINOFlt_tmpOCCURS LIKElfa1- LIKEmarc- backflusdate(8)TYPE LIKEmara- TYPE originaldoc(25)TYPE LIKEekpo- LIKEt001l- "位 LIKEekpo- LIKEekpo- LIKEekpo-meins, LIKEbapimepocond-currency, LIKEbapimepocond-currency_iso, LIKEmarc- TYPE TYPEc, ENDOFlt_tmp.DATA:lw_tmpLIKEDATAlt_movdataLIKEgt_matlist2OCCURS0WITHHEADERLINE.DATA:l_countTYPEi,l_end_(1)TYPEc,l_num_qty(13)TYPEc,l_num_qty1(13)TYPEc,l_space_numTYPEi.*CHECKgt_matlist2[]ISNOT**********BO*2005.12.20LOOPATgt_matlist2.MOVE-CORRESPONDINGgt_matlist2TOlt_tmp.APPENDlt_tmp. REFRESHDATA:l_sum_menge LIKEekpo-menge,l_sum_mengeoLIKEekpo-SORTlt_tmpBYlifnrwerksbackflusdatematnrfilenameDESCENDING.LOOPATlt_tmp.lw_tmp=l_sum_menge=l_sum_menge+lw_tmp-menge.l_sum_mengeo=l_sum_mengeo+lw_tmp-menge_original.ATENDOFMOVE-CORRESPONDINGlw_tmpTOgt_matlist2.gt_matlist2-menge=l_sum_menge.gt_matlist2-menge_original=l_sum_mengeo.l_num_qty=l_sum_menge.CONDENSEl_num_qtyNO-GAPS.l_space_num=STRLEN(l_num_qty).l_space_num=13-l_space_num.l_num_qty1+l_space_num=gt_matlist2-str_ori+49(13)=l_num_qty1.APPENDgt_matlist2.CLEAR:SORTgt_matlist2BYlifnrwerksbackflusdate.LOOPATgt_matlist2.APPENDgt_matlist2TOATNEWCLEARl_end_ATENDOFbackflusdate.l_end_='X'.DESCRIBETABLElt_movdataLINESl_count.IFl_countEQ499ORl_end_EQ'X'.PERFORMfrm_deal_groupTABLESlt_movdata.REFRESHlt_movdata. " Form 功能说明:对相同供应商、工厂的一组物料进行一次采购收货处 FORMfrm_deal_groupTABLESpt_movdataSTRUCTUREDATA:l_datbLIKEsy-datum,l_countTYPEi.DATA:l_materialdocuLIKEbapi2017_gm_head_ret-mat_doc.DATA:BEGINOFlt_ebelnOCCURS0,ebelnLIKEekko-ebeln,ENDOFlt_ebeln.READTABLEpt_movdataINDEXSELECTSINGLEz_date1INTOl_datbFROMzpv_t_mme041WHERElifnrEQpt_movdata-lifnrANDbukrsEQc_bukrsANDekorgEQc_ekorgANDz_dqjsEQ'Y'ANDz_date1LEpt_movdata-backflusdateANDz_date2GEpt_movdata-SELECTekko~ebelnINTOTABLEFROMekkoJOINekpoONekko~ebelnEQekpo~ebelnWHEREekko~lifnrEQpt_movdata-lifnrANDekko~bukrsEQc_bukrsANDekko~ekorgEQc_ekorgANDekko~bedatEQl_datbANDekko~loekzEQ''ANDekko~bsartEQANDekpo~werksEQpt_movdata-SORTlt_ebelnBYDELETEADJACENTDUPLICATESFROMlt_ebelnCOMPARINGDESCRIBETABLElt_ebelnLINESl_count.IFl_countEQ0.PERFORMfrm_create_po_grTABLESpt_movdataUSINGl_datbELSEIFl_countEQREADTABLElt_ebelnINDEXPERFORMfrm_change_po_grTABLESpt_movdataUSINGl_datblt_ebeln-LOOPATPERFORMfrm_append_infoexUSING'E''293'pt_movdata-matnrpt_movdata-lifnrl_datb''pt_movdata.CLEAR: " Form *& FORMfrm_create_po_grTABLESpt_movdataSTRUCTUREgt_matlist2USINGpr_datb*创建PODATA:lw_create_wa_header LIKEbapimepoheader,lw_create_wa_headerxLIKE LIKESTANDARDTABLEOFbapimepoitemINITIALSIZE0WITHHEADERLINE, LIKESTANDARDTABLEOFbapimepoitemINITIALSIZE0WITHHEADERLINE, LIKEbapimepoitemxOCCURS0WITHHEADERLINE, LIKEbapimepoitemxOCCURS0WITHHEADERLINE, LIKESTANDARDTABLEOFbapimeposcheduleINITIALSIZE0WITHHEADER LIKEbapimeposchedulxOCCURS0WITHHEADERLINE, L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床营养考试试题及答案
- 企业招聘考试试题及答案
- 新华保险考试试题及答案
- 2025建筑项目调解合同
- 2025-2030中国儿童防脚趾步行靴行业市场发展趋势与前景展望战略研究报告
- 浙江省宁波市2022-2023学年高三下学期4月二模化学 含解析
- 四川省宜宾市叙州区一中2023-2024学年高二12月月考生物 无答案
- 政策导向下的行业安全教育计划
- 湖北省孝感市部分学校2022-2023学年高二下学期期末考试政治试题 无答案
- 激发学生内在动机的班级活动计划
- 二方审核计划
- DB62∕T 3176-2019 建筑节能与结构一体化墙体保温系统应用技术规程
- 优秀病例演讲比赛PPT
- 吉林省矿产资源概况及分布
- 最新肺结核诊断和治疗指南
- 公司员工基本礼仪培训ppt完整版课件
- 工程项目综合应急预案(通用版)
- 半桥LLC谐振变换器设计与仿真
- 常见食物的性味归经附表
- 城市桥梁工程竣工验收
- NB_T 10393-2020《海上风电场工程施工安全技术规范》_(高清最新)
评论
0/150
提交评论