ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:140.67KB ,
资源ID:521974      下载积分:5 金币
已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SAPBDC精华版教材(1).docx)为本站会员(peixunshi0)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(发送邮件至doc331@126.com或直接QQ联系客服),我们立即给予删除!

SAPBDC精华版教材(1).docx

1、BDC技术介绍首先筋单解释一下BDC(BatchDataConversion):在SAP系统里.由于某种原因,可能要宣JUt入敷帚,数据不同,但是黑件是相同的,典型的情形就是切排累腕的H候,旧累优的数据要呼入SAP).大致过程不外乎建这样:输入一个I-COdC.进入一个某个屏幕,然后输入一个值(右时迁要加上一些附加的CheCkboX选项等),点执行或者确定按钮,进入另一个屏幕,在某些字段输入值(也可能是标注CheCkbOX选中或者不选中)或者修改这些字段里的值.然后按“Eneter”最后按“SAVE”.一条记录完成了,继续下一条,如此循环.上面所述的情形,如果让一个“人”来做的话,可能是真是受

2、不了的。但是对于计算机来说,就很简隼了。SAP过一个轿殊的程序(T-Code=SHDB)把用户的一次业务施作的所有过程记录下来.从用户脩入transactioncode(事务代码).点下“StartRecording”开始.对于用户的来说是一次省通的业务操作,但是SAp却在记录:1 .光标放到寿个字段,(在履序中不用改变)2 .填入了什么值.(变量,循环中的IntenUdTab1.e某个字段)3 .点击了什么按钮(在看序中不用改变)本次操作的作为一个“代表.是一个“模板”,告诉SAP系统以怎样的方式来执行程序,也就是用计算机的话育来描述如果手工操作的话应该是怎样的一个过程。用BDC技术揭程时,

3、有以下几个步骤:1 .把外部的It据源(Txt.Exce1.)用读盘interna1.SbIeJt者用doenddo循环.2 .在环里耙用SHDB记录的步*共执行N次,(N=DiaIog界*数量)这片实际上并没行完成数据的入,系林只是在w*,*一个叫做eBDCDatar的InteEnTab1.e.*兆bdcdata以后.Aca1.1.transaction/XXXX,usingbdc这个令来宾正的coadt动作或1.Ieve1.eData输入一个物料后,点击Se1.ectView(三)*BasicData1BwicData2Sa1.es:Sa1.esOxcData1Sa1.es:Sa1.esO

4、xc.Data2Sa1.es:Genera1.ZP1.antDataForeignTrade:ExportDataSa1.esTextMRP*,假设我们只选BasicRata1*和uBasicData然后点击绿色的小勾EntcreMateria1.6000-00001autonaticXep1.enishnentnatexia1.H“辞Basicdata11.豺Basicdata21.Sa1.es:sa1.esoc*11.Sa1.es:5a1.esorc2我们在读物料后面添加一个*,GroupA,描述改为:Basicdata115B&sicdata2jSa1.es:sa1.esoxg.11Sa

5、1.es:sa1.esorgRateria1.600000001autA3txcXep1.emshnentnatea1.(GxoupA)然后点-SAVE,保存这次修改.现在SAP回观了SHDB.DO三QQB先点“SAVE*,保存ReCOrding:ZteSt.然后点*Back*.返回SHDB的第一屏。选中“Ztest”,然后点击“PrograiT.SSAP臼动生成一个程序。在上面的花话框中输入程序的名字注意SRP的命名标准.丫或者Z开头).确认给人再输入一些程序的属性信忠如下:点击aSourceCode”,指定wDeveiopC1.ass等后,就可以进入ABAPEditor,产生如下代码:re

6、jrtZBDCTHSTnostandardpageheading1.ine-size255.inc1.udebdcrecx1.parameters:dataset(132)1.owercase.DONOTCHANGE-thegenerateddatasection-DONOTCHANGE* Ifitisnessesarytochangethedatasectionusetheru1.es:* 1.)Eachdefinitionofafie1.dexistsoftwo1.ines* 2.)Thefirst1.ineshowsexact1.ytheCOnmen1.* ,*datae1.ement:

7、fo1.1.owedwiththedatae1.ement* whichdescribesthefie1.d.* Ifyoudonthaveadatae1.ementusethe* commentwithoutadatae1.ementname* 3.)Thesecond1.ineshowsthefie1.dnameofthe* structure,thefie1.dnamemustconsistof* afie1.dnameandoptiona1.thecharacterand* threenumbersandthefie1.d1.engthinbrackets* 4.)Eachfie1.d

8、mustbetypeC.* *Generateddatasectionwithspecificformatting-DONOTCHANGEdata:beginofrecord.* datae1.ement:MTNRMATNRJ)O1.(018),* datae1.ement:XFE1.DKZSE1.01.002(001),* datae1.ement:XFE1.DKZSE1.j)2J)O3(00D,* datae1.ement:MKTXMAKTX004(040).* datae1.ement:MEINSME1.NSJ)O5(003)、* datae1.ement:MTPOS_MARAMTPOS

9、MARA006(004),* datae1.ement:GEWEIGEWEI_007(003).endofrecord.* *Endgenerateddatasection*start-of-se1ection.performopendatasetusingdataset,performopen_group.do.readdatasetdatasetintorecord.ifsy-subreO0.exit,endif.performbdcdynproperformbdc_fie1.dusingSap1.mgmm,ooeo.usingBDC,CIRSOR,RMMG1-MATNR,.perform

10、bdc_fie1.dusingbdjokcode,=AUSW,.performbdc_fie1.tiusing,RMMG1.-KWTNR,record-MATNR001.performbdc_dynprousingSAP1.MGMMr0070.perforinbdc_fie1.dusingbdjcursor,msiChtausw-Dytxt(02)performbdcfie1.dusingBDCOKCODE=ENTR,.perforinbdc_fie1.dusingMsichtausw-Kzse1.(OI)record-KZSE1._01.002.performbdcfie1.dusing,M

11、SICItTAUSW-KZSE1.(02)record-KZSE1._02003.performbdc_dynprousingSap1.mgmm4004.performbdc_fie1.dusingbdjokcode,=BU,.performbdc_fie1.dusing,BDCC1.iRSORMAKT-MAKTX.performbdc_fie1.dUSing,MKT-MKTXrecord-MAKTX004.performbdc_fie1.dusingMARA-MEINSrecord-MEINS_005.performbdc_fie1.dusing,MR-MTK)SMRArecord-MTPO

12、SMARA006.performbdc_fie1.dusingmrayeweirecord-GEWE1._007.performbdc_transactiorusingMM02.enddo.performc1.ose_group.performc1.osedatasetusingdataset.上面的程序的主旻逻辑为:opendataset”读取外部覆揖源do.“循环perform填充BDCDTA子程序performbdc_transcationendo.C1.osedataset.注去上面的InCIUde程序里有两个要的form* Startnewscreenformbdc_dynprous

13、ingprogramdynpro.c1.earbdcaesstab,名环可以受,但是声典同一嵬要* Batchinputdataofsing1.etransactiondata:abc1.ikebdcdataoccurs0withheader1.ine.* messagesofca1.1.transactiondata:def1.ikebdcsgco1.1.occurs0withheader1.ine.1.ike后面的tab1.etype(这里是一个StniCtUre)是不凭改交的.有两个Hi定动施的fombdc-dynapro和bdc-fi1.d名不同样是任Jt的.便是看序代码应该是相同的,

14、强烈筵议不要改动,因为会给自己添加麻烦)另个还才一个Intema1.Tab1.e或者workarea是用来放从外部读遗耒的数据的.结杓应该和你的外部文件的有相关的字段偌构.一次读进全部的记录禽后循环处理1.oopatinterna1.tab1.eprocessend1.oop.或弄一条一条读进并处能后棚环读下一条do-process-end.其中PrOCe8s分为两个舄彝:1.“克bdcdata表.2.Ca1.1.transactionorCa1.1.FunctionBDJInser返回消息放入Messtab.另外有一个运验之谈:1,最“柴作,的时候,不要有多余的握作,(什么是多余的操作?自

15、己思考吧)如果有,就重新录吧,不然这些掾作也被记录下未,程序每次都要做一些不必要的动作,2、尽量用H标去点击按钮,而不主只是故Enter*.3.光标的位一般也可以不指定,也就是Perftrmbdcfie1.dusinf1.,BDCCURSOR,XXXX-XXXX通常可以不用写.不过,据说有时候去了也会出问题,如上去就没了,这个我就不知道了。呵Batchinput-RecordingWiththerecordingfunctionSAPautomatica1.1.yCdZngenereratetheBDCtab1.e.Findthetransactioncodeforthescreenthaty

16、ouwan,ttorecordOpentransactionSM35-BatchInputPushthebuttonRecordingIntheRecordingscreen,enterthennameyouwanttogivetherecording,anmdpushtheCreatebuttonYouwi1.1.nowbepromptedforthetransactioncode.Enterthetransactioncode.Pushtheenterbutton.Youarenowinthescreenwhereyouenterthetransactions.Entertransacti

17、onsasnorma1.,and1.eavethetransactionwhenfinished.Youwi1.1.nowhenseanoverviewoftherecording.Savetherecording.GobackPushtheOverview(Mountain)button,tosetherecording.Youcanknowgenerateaprogra三(pushtheGenerateprogrambutton)orcreateusession(PushtheCreatesessionbutton).Ifyouhavecreatedasession,gobacktothe

18、initia1.screenofSM35andpushtheOVCrvigbutton.Se1.ectyourbatchinputsession,andprocessiteitherinback-orforeground.Ca1.1.transactionandBatchinput-Exan1.eThisexamp1.eshowshowtouseCa1.ITransaction.IfCa1.1TransactionfaiIs.abatchinputsessioniscreated.DATA:BEGINOFBDCjrABOCCURS0.INC1.UDESTRUCTUREBDCDATA.DATA:

19、EM)OFBDCjAB.FORMCrcatc_Transaction.* Tab1.eformessagesfrnca1.1transaction.Thetab1.eisautomatica1.1.yfi1.1.edwithmessagsfromca1.1transaction.DATABEGINOFIneSSIabOCCURS10.INCI.UDESTRUCTUREbdcmsgco1.1.DATAENDOFmesstab.REFRESHbdc.Ub.* CreatenewdynproPERFORMbdc_newdynproUSING,SAPM1.03T10.参Insertfie1.dsPER

20、FORM1.xic-fie1.dUSINGf1.TAK-BW1.VSfw_screen1.000-io_bw1.s.PERI-ORMbdcfie1.dUSING1.TAP-MA三wscreen1000iomatnr.PERFORMIxijfie1.dUSINGR1.03T-NIMEru_tmpstr.PERFoRMbdcJie1.dUSING1.TRP-CHARGwScreen1.OOOHocharg.PERFORMbdc-fie1.dUSINGBDC.OKCODB=TM,.ndmuchmoreoftheSaBeUsethispartifyouwanttouseca1.1transaction

21、 Ca1.1thetransaction.MessagesfromCa1.1Transactionarestoredinthe*interna1.tah1.e三esstabCA1.I.TRANSACTION,I.T0USINGbdjmbMODE飞UPDATESMESSAGESINTOmesstab.IFsysubrc=0. Ca1.1transactionsuccessfu1.1.getthenumberoftheTransferOrderthat WaScreatedI-OOPATmeSS1.db.IFBsstab-dynumb=0104ANDaesstab-msgnr=016.w_tra

22、nsportorderno=messtab-sv1.ENDIF.END1.OOP.E1.SE. Ca1.1.transaction“id.createabatchinputsessioninstead.Pi-RFORMopcnucroup.PERFORMbdc_insertUSING*1.T0.PERFORMc1.ose_group.ENDIF.ENDFORM.HerearetheStrandardformsusedforca1.1.transactionandbatchinput Startsanewscreen*科我*科*EORMbdc.ncwdynproUSINGprogramdynpr

23、o.C1.EARbdctab.bdc_tab-program=program.1.xic.tab-dynpro=dynpro.bdctab-dynbegi11三X.APPENDbdc-tab.ENDFORM.*)M*)M(* Insertsafie1.dinbdc_tabFORMbdc.fic1.dUSINGfnafva1.C1.EARbdc.tab.bdc_tab-fnam=fnam.bdc_tab-fva1.=fva1.APPENDbdc.tab.ENDFORM.参*京*京*今*京*今*h*京*京*Opensgroup,*,*,*,*参*,*种,*,*,*12RMopen_group.CA

24、1.1.FUNCTIONIW)J0PEN一GROuPEXPORTINGc1.ient三sy-mandtDEST=FI1.1.ERS*group=,ZSM02,Ho1.DDATE=FI1.1.ERSkeep三X*user=Sy-UnameRECORD=E11.1.ER1ImtortingQIDEXCEPTIONSCIienJinVaIid=1dcstination_inva1.id=2group_inva1.id=3group_is_1.ocked=4ho1.ddatc-inva1.id=5interna1._error=6queue_error=7running=8syste_1.ock_crror=9USeJinVa1.id三10OTHERS=11.ENDFORM.*C1.osesgroupar*相FORMc1.osegroup.CA1.1.FUNCTION*BDC_C1.OSE_GRO1.P,EXCEPTIONSnot_opcn=1queueerror=2OTHERS=3.ENDI-ORM.

宁ICP备18001539号-1