sap三种批量导入方法.docx
- 文档编号:27822620
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:10
- 大小:250.18KB
sap三种批量导入方法.docx
《sap三种批量导入方法.docx》由会员分享,可在线阅读,更多相关《sap三种批量导入方法.docx(10页珍藏版)》请在冰豆网上搜索。
sap三种批量导入方法
在SAP项目实施时主要有三种批量导入方法:
LSMW,CATT,BDC
第一种:
LSMW-----LegacySystemMigrationWorkbench.
TheLSMWorkbenchisanR/3basedtoolthatsupportwhentransferringdatafromnon-SAPsystemstoSAPR/3.
T-code:
LSMW
第二种:
CATT
CATT(computeraidedtesttool)screenrecord,systemwillnotcreateprogram.
T-code:
SCAT
第三种:
BDC
Forbatchinputorchange,systemwillcreateprogram,andyoucanchangetheprogram.
T-code:
SHDB
BDC导入
BatchInput是一种数据批量输入SAP系统的辅助程序,SAP系统的资料、格式可以通过BatchInput录入SAP系统
BatchInput的机制是模拟事务处理将数据录入R/3系统
BatchInput类似SAP的CATT,控制性更好,处理能力更强
1、首先我们需要把需要批导入事务的操作步骤记录下来,可以用T-CODE“SHDB”来记录。
在COMMANDLINE中输入“SHDB”。
2、进入TRANSACTIONRECORDER界面
3、点“NEWRECORDER”创建一个记录,现在以修改订单为例,键入记录名“ZAMAO”,输入事务代码“VA02”,
然后“STARTRECORDING”。
4、下面的任务就是记录下修改订单的操作步骤。
5、填入订单号码,按确定
6、现在来增加一下订单的PODATE。
7、填入“,点“保存”。
8、这样就完成了一个最最简单的BDC录取工作,录完之后会出现系统运行的操作的跟踪,包括程序号,屏幕号,字段名,值等等,下面的任务是根据这些写到程序里面以完成SAP自动跑订单修改的这一动作。
9、首先必须定义BDC变量:
*BDCtable
DATA:
t_bdc LIKEbdcdata OCCURS0WITHHEADERLINE,
t_bdcmsgLIKEbdcmsgcoll OCCURS0WITHHEADERLINE.
DATA:
BEGINOFt_logOCCURS0,
information(289)TYPEc, "返回信息
ENDOFt_log.
DATA:
v_modeTYPEcVALUE'N'.
其中TABLEt_bdc中记录的具体的操作步骤,而TABLEt_bdcmsg是记录系统返回的信息,成功与否都记录到自定义的信息表t_log中。
先写个记录BDC的函数:
FORM.fm_set_bdcTABLESt_bdcSTRUCTUREbdcdata
USINGu_signTYPEc
u_par1
u_par2.
CLEAR:
t_bdc.
IFu_sign='X'.
t_bdc-program=u_par1.
t_bdc-dynpro=u_par2.
t_bdc-dynbegin=u_sign.
ELSE.
t_bdc-fnam=u_par1.
t_bdc-fval=u_par2.
ENDIF.
APPENDt_bdc.
ENDFORM.
然后写入T_bdc:
PERFORM.fm_set_bdc:
TABLESt_bdcUSING'X' 'SAPMV45A' '0102',
TABLESt_bdcUSING'' 'BDC_OKCODE' '/00',
TABLESt_bdcUSING'' 'VBAK-VBELN' it_display-vbeln,
TABLESt_bdcUSING'X' 'SAPMV45A' '4001',
TABLESt_bdcUSING''' VBKD-BSTDK' ''.
因为此处是修改操作,所以要切记写入的只是你修改的数据,千万别把订单本来的数据也写入t_bdc,如果写入则会把需要修改的所有订单都该成举例的订单的数据,而我们需要修改的仅仅是增加一个PODATE“。
然后是调用事物代码:
CALLTRANSACTION'VA42'
USINGt_bdc
MODEv_mode"Backgroundperformance
UPDATE'S'"localupdata
MESSAGESINTOt_bdcmsg."allmessagetable
v_mode是显示模式:
“A”表示显示每一步操作步骤,
“N”表示不显示步骤,
“E”表示当出现错误的时候显示出错的位置。
系统信息写入到t_bdc中。
最后是收集系统信息(成功与否,要是失败,失败的原因)并输出到SAP程序屏幕
READTABLEt_bdcmsgWITHKEYmsgtyp='S'
msgid='V1'
msgnr='311'. "批导入成功的标志,可以自己debug表t_bdcmsg中去找.
IFsy-subrcEQ0.
CONCATENATE'订单号码:
'
it_display-vbeln
',项目号:
'
it_display-posnr
'修改成功'INTOt_log.
APPENDt_log.
CLEARt_log.
ELSE.
LOOPATt_bdcmsg.
IFt_bdcmsg-msgtyp='E'
ORt_bdcmsg-msgv1<>''
ORt_bdcmsg-msgv2<>''
ORt_bdcmsg-msgv3<>''
ORt_bdcmsg-msgv4<>''.
MESSAGEIDt_bdcmsg-msgid “收集错误信息,并写入自定义的表t_log中。
TYPE'S'
NUMBERt_bdcmsg-msgnr
WITHt_bdcmsg-msgv1
t_bdcmsg-msgv2
t_bdcmsg-msgv3
t_bdcmsg-msgv4
INTOt_log-information.
CONCATENATE'订单号码:
'
it_display-vbeln
',项目号:
'
it_display-posnr
'出错:
'
t_log-information
INTOt_log-information.
APPENDt_log.
CLEARt_log.
ENDIF.
ENDLOOP.
ENDIF.
LOOPATt_log. "显示出错信息
WRITE:
/t_log-information.
ENDLOOP.
到次一个批导入程序基本完成。
CATT操作具体方式如下:
1、录制CATT(SCAT>TCD,输入事务码,按前台操作方式操作一遍,在需要输入的地方输入相关内容,直至存盘退出;
2、定义相关需输入字段的名字(在SCAT中选中所保存的CATT,点击修改,双击TCD,双击相关条目,双击相关屏幕的字段进行定义,在此过程中对于不需要的屏幕可以跳过,对于需确认的屏幕可以插入OKcode,最后保存,CATT定义即告完成);
3、导出格式文件:
在SCAT中,选中所保存的CATT,执行菜单“转到>变式>输出缺省”,系统会导出一个TXT格式的文件;
4、填写数据到该TXT文件:
用Excel导出上面导出的文件,在第五行以后的相应列逐行输入每行记录的相关内容(Excel的复制类操作不用讲了),对于内容一样的部分可以不输,以默认值的形式(在录制定义CATT时输入或执行CATT时输入),数据输入完成后,将该文件仍保存为txt格式;
5、执行CATT:
在SCAT中,执行所保存的CATT,日志格式及处理方式按需选择,变式选择自文件外部,选择相应的文件,如有必要,在下面的相关字段可以输入缺省值,执行即可。
6、三种处理方式的差别:
前台,逐个数据需要你确认,你可能需要不断点击鼠标或按回车,但较直观,不易出错;后台,自动逐条执行,跳过出错条目,出错条目在日志中会体现;错误:
自动逐条执行,在出错时暂停,等待确认,建议使用此种方式。
LSMW导入
可以在ITPUB下载有关视频资料,由于条件限制,所以不上载到上面来了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sap 批量 导入 方法
