数据导入工具BDC使用方法.doc

上传人:laozhun 文档编号:2396231 上传时间:2023-02-17 格式:DOC 页数:35 大小:1.29MB
返回 下载 相关 举报
数据导入工具BDC使用方法.doc_第1页
第1页 / 共35页
数据导入工具BDC使用方法.doc_第2页
第2页 / 共35页
数据导入工具BDC使用方法.doc_第3页
第3页 / 共35页
数据导入工具BDC使用方法.doc_第4页
第4页 / 共35页
数据导入工具BDC使用方法.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《数据导入工具BDC使用方法.doc》由会员分享,可在线阅读,更多相关《数据导入工具BDC使用方法.doc(35页珍藏版)》请在三一办公上搜索。

1、目 录1.BDC的基本知识21.1BDC概述21.2BDC的处理步骤22.录制BDC模板32.1录制BDC模板32.2BDC模板的编辑42.3制作数据收集文件(数据原文件)72.4数据转换及上载(方法一)82.5数据转换及上载(方法二)202.6数据转换及上载(方法三)232.7数据转换及上载(方法四)272.8几种方法的比较303.BDC的执行及出错处理313.1BDC的执行313.2BDC的日志查看323.3BDC的出错分析343.4BDC运行时,常用的OKCODE351. BDC的基本知识1.1 BDC概述BDC(Batch Input Communication)有时也称为批输入(Ba

2、tch Input),是SAP系统数据传输的主要技术之一,主要用于把数据大量大批输入到SAP系统。1.2 BDC的处理步骤第一步:录制BDC标准命令(BDC模板)第二步:制作数据收集的EXCEL文件(数据原文件)第三步:数据转换,并上载到SAP系统中 常用以下方法:1. WORD邮件合并2. SAP TOOL3. EXCEL宏4. ABAP程序第四步:到批处画面进行执行处理注意:做好的模板,要在测试系统反复测试后,才到生产机进行批量导入执行,否则容易出现大量错误。主数据还好,没用使用前大部分能删除,但业务数据就不行了,只能冲销了。2. 录制BDC模板2.1 录制BDC模板事务码:SHDB进入画

3、面后,点击按钮“New recording”输入以下数据后,回车 Recording(记录名):XXXXXX (由自己指定) Transaction code: PSPO (需要调用的TCODE,这里以创建科目表层科目为例)进入画面后,如同平常创建创建科目表层科目一样处理(注意:尽量不要有多余动作)点击保存后,将自动回到以下画面。 如上图点击保存按钮,然后点击 按扭下载BDC模板到本地电脑中(一般作为文本文件来保存)。2.2 BDC模板的编辑打开BDC模板文件(可以用记事本、EXCEL、WORD来打开),以EXCEL为例,先打开一个新的EXCEL表,把所有单元格设置为文本格式,然后用记事本打开

4、BDC模板,全部选择后复制后把数据全部粘贴到EXCEL中。仔细分析检查一下确认有无需要添加或删除的行。对于“Field name”这列中出现 BDC_SUBSCR 或 BDC_CURSOR这样的数据(如图片中黄颜色行),你可以按行来删除这样的多余命令(注意要按整行来删除)。BDC命令行的解读: 0000TFSP0 : 表示调用TCODE PSP0 BDC_OKCODE =ACC_CRE : 表示点了创建科目按钮 BDC_OKCODE /00 : 表示回车 BDC_OKCODE XXXX : 一般表示为点击XXXX按扭SAPLGL_ACCOUNT_MASTER_MAINTAIN 2001 X :

5、 表示调用程序的2001画面 GLACCOUNT_SCREEN_KEY-SAKNR 160001 : 表示给 字段 赋值16001 (通常表、字段的表示格式为: XXXXXX-ZZZZZ , XXXXXX为表名,ZZZZ为字段名)若原录制的BDC字段不够,需要添加字段,则可在先在SAP前台画面选择中该字段然后点击F1,然后点击 “Technical information”,如下图: (例:添加创建科目表层“损益科目类型”字段,从上图我们可以看到这个字段所属的表为:GLACCOUNT_SCREEN_COA,字段名为:XPLACCT,则在BDC模板中加入以下行:) 0000GLACCOUNT_S

6、CREEN_COA-XPLACCT 对于插入行应该放在哪个屏幕哪一行,你应该找一下附近相关的字段,相近的字段为: “资产负债表类型” (字段名为:GLACCOUNT_SCREEN_COA-XBILK),则这一行可以放到这一行的前面或后面一行。 进一步用图来说明: 修改前: 修改后:(修改部分为黄颜色行) 检查确认后把EXCEL中的BDC模板保存为文本文件。2.3 制作数据收集文件(数据原文件) 充分考虑业务需要及BDC的字段需要,来整理一张EXCEL表来收集数据,如下图为创建科目表层科目所需要的数据。 数据收集表做好以后,交相关业务人员收集填写。交相关人员填写前,最好把数据收集表的填写格式要求

7、做充分说明,比如: 科目组 只能填写:GL、PL, 科目号只能填写10位数以内。2.4 数据转换及上载(方法一)本方法使用WORD邮件合并功能来实现,把每一条数据循环按BDC模板执行。1.用WORD打开 文本文件的BDC模板打开WORD后,点击打开文件按钮,选择路径,注意:指定文件类型为 *.*如上图,选择好指定的文件 如上图,选择 Windows默认, 点击菜单:工具-信函与邮件-邮件合并 点击右下角的:“下一步” 继续点击:“下一步”继续点击:“下一步” 出现上图 “选择数据源” 的对话框时,选择你的数据收集模板文件,然后点击 打开。 出现上图时,注意选择EXCEL表中你的数据在哪个she

8、et表中 出现上图时,点击确认 出现上图时,点击“下一步” 出现 右图中的 “其他项目” 时,就需要对每一个需要替换的字段进行指定。 用鼠标选择中要替换的第一个字段值,(如上图中的科目号,注意要全部选择上),然后点击右边的 “其他项目” 出现上图时,点击 “插入” 按钮,然后 再点击 “关闭”按钮 如上图,一个一个地把要替代的字段全部指定好,并检查确认后,点击“下一步”如上图,点击“下一步” 如上图,直到 找不到 点击“下一步” 时,则选择 “编辑个人信函” 出现上图对话框时,如上图选择“确定” 出现前页WORD画面时,注意翻页查看一下,是不是所有的记录都有了。确认后选择另存为: 如上图,输入

9、文件名,并选择好文件类型(一定要为纯文本) (呵呵,不好意思,手误写错误了文件名,本应该为FSP0_UPLOAD.txt) 出现上图时,选择 “确定”2.上载文件事务码:SHDB 如上图选中一个Recording,点击修改按钮 点击上载按扭 , 并选择相应的上载文件 点击打开按钮,上载文件。 如上图,上载后点击保存按钮 ,然后点击 回到前一画面 如上图,到这一画面后,选择中你的Recording,点击 当弹出对话窗口时,选择“keep session” ,然后点击按扭 ,这样你的BDC就送入BATCH INPUT等待处理了。2.5 数据转换及上载(方法二)本方法使用一个名叫“saptool完全

10、版+().exe”的工具来实现,把每一条数据循环按BDC模板执行。1.数据文件按一定格式整理如上图, (1). 在第一列之前增加一列; (2). 在第一行之前增加九行; (3). 第一行输入的是相应的SAP字段名; (4). 第二行是字段名说明; (5). 第三行是字段类型; (6). 第四行是字段长度; (7). 第五行 至 第七行,可以不填写; (8). 第八行是说明数据是否为必填写,还是可选。 (9). 第九行第一单元格输入“STARTDATA” (10).在全部数据输入后,再下一行的第一单元格输入“ENDDATA” 数据有效行:有效的数据应该放在“STARTDATA”的下一行开始,并且

11、应该在 “ENDDATA”之前的上行止; 数据有效列:从有字段名的第一列开始,到有字段名的最后一列。 当然,你也可以以这种EXCEL的数据表作为数据收集模板。2.数据文件另存为文本文件 方法一:将1中的EXCEL文件另存为 以制表符分隔的文本文件 方法二:将1中的EXCEL有数据的这一个表页全部选中并复制,再打开一个空记事本,将数据粘贴到记事本中,然后保存为文本文件。3.使用SAPTOOL.exe将数据全部套用模板 找到“saptool完全版+().exe” 文件,双击打开。 (1)第一行:选择你的BDC模板 (2)第二行:选择你的数据源,也就是你将EXCEL另存为文本文件的那个文件 (3)第

12、三行:选择生成的上载文件放在哪个文本文件里 (4)第四行:选择运行日志放到哪里(运行出错时注意查看此日志) 全部选择好后,点击 4.使用SAP专门的程序来上载文件事务码: SE38输入程序名:ZSBDC010 然后执行(这是一个开发的程序,需要用它来生成批会话,可通过SE80来生成此程序,上载源代码;保存的时候可以用下载的方式把源代码保存成文本文件) 如上图,选择你要上载的文件,并输入你的session名,然后点击执行按钮这样你的BDC就送入BATCH INPUT等待处理了。2.6 数据转换及上载(方法三)本方法使用excel宏实现,把每一条数据循环按BDC模板执行。1.打开写有宏的EXCEL

13、表,启用宏。 (你若没有这样的文件,可以上网找一找,应该很容易找到的)2.将数据收集表放到“BDC Raw Data”表页 注意:“STARTDATA” 应放在第一单元格 “ENDDATA” 应该放在最后一行数据的下一行的第一个单元格。3.将BDC模板放到到 写有EXCEL宏的文件的“BDC Template” 表页注意: (1)将原BDC文件中的第一行删除(即 有TCODE的那一行) (2)将原来的程序屏幕号 与 “X” 合并到一个单元格 (3)将TCODE写为:TCDE + XXXX(事务码)写到BDC模板数据最后一行的下一行 (4)在TCODE的下一行写入结束标志 “ENDTCDE” (

14、5)模板的行有效范围:第三行 至 TCODE的前 (5)模板的列有效范围:BDC放在A到D的四列中 (6)从E列开始的列:为注释列,放一些注释说明把D列的格式设置为自定义格式: 0;0;对于需要替换的字段,如上图中的D9列,对应的应该是会计科目组,你可进入表页“BDC Raw Data” 查看一下会计科目组在哪一列,若在D列,则此处写入公式:$D$1 这样一个字段一个字段对核对,并指定公式。4.进入“BDC Menu”表页,执行数据转换 点击按钮 “Start BDC Utility”第一行第一个选择框:指定你的BDC数据收集文件在哪个EXCEL文件第一行第二个选择框:指定你的BDC数据收集文

15、件在哪个表页第二行第一个选择框:指定你的BDC模板在哪个EXCEL文件第二行第二个选择框:指定你的BDC模板在哪个表页如上图选择后,点击 按钮:OK , 指定生成的上载文件存放的路径及文件名。5.使用SAP专门的程序来上载文件事务码: SE38输入程序名:ZSBDC010 然后执行 如上图,选择你要上载的文件,并输入你的session名,然后点击执行按钮这样你的BDC就送入BATCH INPUT等待处理了。2.7 数据转换及上载(方法四)本方法使用ABAP/4程序宏实现,把每一条数据循环按BDC模板执行。1.定义一个内表包含data: begin of record occurs 0, anl

16、kl(8), 资产分类 bukrs(4), 公司代码 txt50(50), 资产描述1 txa50(50), 资产描述2 anlhtxt(50), 资产主号说明 sernr(18), 序列号 . end of record.2.定义屏幕选项*at selection-screenat selection-screen on value-request for p_file. call function KD_GET_FILENAME_ON_F4 exporting static = X mask = ,*.*,*.*. changing file_name = p_file.3.文件上载 ca

17、ll function WS_UPLOAD exporting filename = p_file filetype = DAT tables data_tab = record exceptions conversion_error = 1 file_open_error = 2 file_read_error = 3 invalid_type = 4 no_batch = 5 unknown_error = 6 invalid_table_width = 7 gui_refuse_filetransfer = 8 customer_error = 9 others = 10. if sy-

18、subrc 0. message s023 with 上传文件有误。. leave list-processing. endif.5.BDC命令套用 loop at record. perform dynpro using: SAPLAIST 0105 X, ANLA-ANLKL record-anlkl, 资产分类 ANLA-BUKRS 1000, 公司代码 BDC_OKCODE =MAST, SAPLAIST 1000 X, ANLA-ANLN2 0, ANLA-TXT50 record-txt50, 资产描述1 ANLA-TXA50 record-txa50. endloop.6.BDC

19、命令 clear bdcdata. if a ne space. move: a to bdcdata-program, b to bdcdata-dynpro, c to bdcdata-dynbegin. else. move: b to bdcdata-fnam, c to bdcdata-fval. endif. append bdcdata.7.直接送入批处理 call transaction AS91 using bdcdata mode p_tmode. call function TB_MESSAGE_BUILD_TEXT exporting langu = sy-langu

20、msgid = sy-msgid msgno = sy-msgno msgv1 = sy-msgv1 msgv2 = sy-msgv2 msgv3 = sy-msgv3 msgv4 = sy-msgv4 importing text = message-text. move record-txt50 to message-mark. move tabix to message-tabix. append message. clear message.2.8 几种方法的比较方法一(Word邮件合并): 优点:1.容易为用户理解及接受,2.涉及字段较少时,速度快。 缺点: 1.Word邮件合并处理

21、10000以上记录时,速度非常慢 2.字段较多时,替换字段比较麻烦3.对于SAP4.6及以下版本的SAPBDC文件下载打开时用WORD编辑没什么问题,但对于SAP4.7以上版本,则WORD编辑时,版式比较难看,且不整齐,容易编辑出错 4.不能进行逻辑判断方法二(SAP TOOL): 优点:1.源文件套用BDC模板速度快2.可按字段长度检查 是否有字段超出长度 缺点: 1.不允许有不同表但有相同字段,否则出错(导入固定资产就有这样的现象) 2.不能进行逻辑判断方法三(EXCEL 宏): 优点:1.源文件套用BDC模板速度快2.BDC模板可根据需要添加及修改3.可以进行逻辑判断缺点:1. 需要对V

22、B有一定了解 2. 不能修改EXCEL中的格式方法四(ABAP/4程序): 优点:1.源文件套用BDC模板速度快2.BDC模板可根据需要添加及修改3.可以进行逻辑判断缺点:1. 需要ABAP/4人员支持 2. 添加字段时,需要修改程序3. BDC的执行及出错处理3.1 BDC的执行事务码:SM35 选择你的 Session,然后点击 我的建议是:选择后台运行 Background 选择扩展日志 Extended log 然后点击3.2 BDC的日志查看事务码:SM35如上图,选择你的Session,点击 , 再选择是哪次执行的,然后点击查看 1. 总记录有多少,(如: 30 transactions read)2. 共有多少条执行成功,(如:0 transactions processed)3. 多少条记录出错,(如:30 transactions with errors)4. 出错记录是第几条记录 (注意查看Index列) 5. 出错的消息是什么 (注意查看Message列)3.3 BDC的出错分析1.查看LOG中的消息2.通过再次执Session(注意:再次执行只是针对出错部分执行,已执行成功的不再执行),这次选择 前台处理 Process / foreground,通过前台看看是什么错误3.4 BDC运行时,常用的OKCODE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号