数据导入工具_BDC使用方法
BDC导入教程
MSN:ZHANGQIAO243@QQ:183083099导入教程BDC导入教程BDC(Batch Data Conversion):在SAP系统里,由于某种原因,可能需要重复输入数据,(数据不同,但是操作是相同的,典型的情形就是切换系统的时候,旧系统的数据需要导入SAP),大致过程不外乎是这样: 输入一个t-code,进入一个某个屏幕,然后输入一个值(有时还要加上一些附加的checkbox选项等),点执行或者确定按钮,进入另一个屏幕,在某些字段输入值(也可能是标注checkbox选中或者不选中)或者修改这些字段里的值。
然后按“Eneter”……最后按“SAVE”……,一条记录完成了,继续下一条,如此循环。
上面所述的情形,如果让一个“人”来做的话,可能是真是受不了的。
但是对于计算机来说,就很简单了。
SAP通过一个特殊的程序(T-code:SHDB)把用户的一次业务操作的所有过程记录下来。
下面介绍一个简单的BDC导入过程首先在CJ20N中创建项目MSN:ZHANGQIAO243@QQ:183083099新建项目TEST23MSN:ZHANGQIAO243@QQ:183083099MSN:ZHANGQIAO243@QQ:183083099创建WBS,TEST2311,TEST2312,TEST2313选中项目定义,点击编辑-状态-下达,如果不下达会导致后面无法挂接物料MSN:ZHANGQIAO243@QQ:183083099下达后点击保存输入T-CODE:SHDB,进入如下界面MSN:ZHANGQIAO243@QQ:183083099点击,出现如下界面,输入录制的名称和录制的事物代码:CN21MSN:ZHANGQIAO243@QQ:183083099点击进行录制,自动跳转到CN21的界面MSN:ZHANGQIAO243@QQ:183083099输入网络参数文件,网络类型,工厂,MRP控制者后回车进入如下界面MSN:ZHANGQIAO243@QQ:183083099输入需要挂接物料的WBS元素后回车点击,进入如下界面MSN:ZHANGQIAO243@QQ:183083099作业说明中输入变压器采购,回车,然后选中此行项目MSN:ZHANGQIAO243@QQ:183083099点击最下方的,进行物料挂接输入物料号,需求数量MSN:ZHANGQIAO243@QQ:183083099完成后回车MSN:ZHANGQIAO243@QQ:183083099点击确认,进入如下界面MSN:ZHANGQIAO243@QQ:183083099录制的程序就会显示,点击进行导出,存为TXT文件MSN:ZHANGQIAO243@QQ:183083099再点击保存返回到最初的界面MSN:ZHANGQIAO243@QQ:183083099新建EXCEL CN21.XLS,输入你需要导入的数据和名称MSN:ZHANGQIAO243@QQ:183083099将先前存储的TXT用WORD打开选择工具-信函与邮件-邮件合并MSN:ZHANGQIAO243@QQ:183083099点击右键合并的下一步直到第三步MSN:ZHANGQIAO243@QQ:183083099点击浏览导入先前建立的EXCEL文件(就是选择导入的数据源),出现如下图MSN:ZHANGQIAO243@QQ:183083099点击确定点击确定在工具栏点击鼠标右键将邮件合并工具栏显示MSN:ZHANGQIAO243@QQ:183083099从打开的WORD中选择需要替换的字段,这个就需要对字段比较熟悉,知道哪些是需要输入的(可以通过F1帮助查看字段信息,确认需替换的字段的名称)。
批量修改--BDC技术-- SHDB
SAP BDC技术BDC(Batch Data Conversion)在SAP系统里,重复输入数据时,(数据不同,但是操作是相同的,典型的情形就是主数据导入),大致过程不外乎是这样:输入一个t-code,进入一个某个屏幕,然后输入一个值(有时还要加上一些附加的checkbox选项等),点执行或者确定按钮,进入另一个屏幕,在某些字段输入值(也可能是标注checkbox选中或者不选中)或者修改这些字段里的值。
然后按“Eneter”……最后按“SAVE”……,一条记录完成了,继续下一条,如此循环。
如果数据量非常大的话,让一个“人”来做的话,可能是真是受不了的。
但是对于计算机来说,就很简单了。
SAP通过一个特殊的程序(T-code:SHDB)把用户的一次业务操作的所有过程记录下来。
从用户输入transaction code(事务代码),点下“Start Recording”开始,对于用户的来说是一次普通的业务操作,但是SAP却在记录:1.光标放到哪个字段,(在程序中不用改变)2.填入了什么值,(变量,循环中的Internal Table 某个字段)3.点击了什么按钮(在程序中不用改变)本次操作的作为一个“代表”,是一个“模板”,告诉SAP系统以怎样的方式来执行程序,也就是用计算机的语言来描述如果手工操作的话应该是怎样的一个过程。
用BDC技术编程时,有以下几个步骤:1.把外部的数据源(Txt,Excel等)用读进internal table或者用do enddo循环。
2.在循环里,把用SHDB记录的步骤重复执行N次,(N = Dialog屏幕数量)这时实际上并没行完成数据的入,系统只是在“填表”,填一个叫做“BDCData”的Internal Table。
填完bdcdata以后,用call transaction …XXXX‟ using bdc……这个命令来真正的commit动作或者call function 'BDC_Insert'在建立一个session。
sap数据批量导入教程、BDC实例详细讲解步骤
SAP数据批量导入教程文章第59页第4部分为BDC批导入处理教程1.前言1.1.ECATT解释Extended Computer Aided Test Tool(T-code:SECATT)ECATT是SAP自带的功能测试工具,主要目标用来作SAP业务流程的自动化测试,每个测试都会生成一个详细的日志来显示测试流程和测试结果。
和CATT相比,CATT操作简单,类似于BDC的录屏功能,用于常用的简单业务数据导入,基本已被ECATT完全取代。
除了CATT功能之后,ECATT主要应用于基于GUI Windows/Gui Java自动化测试,同时也为外部工具提供了第三方接口(获BC-ECATT授权)。
所有的测试脚本,无论是ECATT自已生成的还是外部工具的他们都应该具有相同的数据对象类型,与SAP结合在一起并保存在相同的位置。
在R/3的功能测试中,ECATT录屏功能简单实用,测试脚本、测试数据、系统数据分别存放,可重复使用,并附有详细测试报告以及纠错功能,作为自带工具简单实用。
对于WEB方面的测试的话就要借用第三方的测试软件,如知名的Mercury的QTP。
1.2.LSMW解释Legacy System Migration Workbench (T-code: LSMW)LSMW, 是SAP推荐用来从旧的系统或非SAP系统把大批量或周期性的数据迁移到SAP的主力工具,类似于ECATT/SCATT,其优点可以在一个Session中处理大批量数据,并灵活易学易用。
如果用BDC和ECATT只能根据定制好的画面输入参数。
一旦没有这个值系统就会报错。
比喻我们根据业务对FI Account Document或者主数据一些参数作了扩展,一旦参数缺失或者不匹配,不得不终止Session,通过SM35手动去更正或者重新录屏。
LSMW具有一般的通用性,他导入模板的设计过程包括15个步骤,每个都是独立的单元并可进行单独的更新和修改,而不影响其它的模块只需作一些调整做出相应mapping,将必要的数据指定对应的字段就可行了,无需额外的编码。
SAPABAPBDC的使用及代码详解
SAPABAPBDC的使用及代码详解
一、SAPABAP和BDC简介
SAP ABAP(Advanced Business Application Programming)是SAP公司开发的一种强大的应用程序开发语言,支持SAP应用程序的开发。
它也是基于关系数据库的4GL语言,主要用于处理事务处理(OLTP),报表和屏幕编程等复杂的应用程序。
批处理数据转换(BDC)是SAP R/3系统中一种通用的数据转换方式。
在运行低效的封闭过程时,可以使用BDC方式来进行数据转换,以减少时间和成本。
二、ABAP语言特征
1、支持循环:ABAP支持多种形式的循环,包括Do -while循环,for循环,while循环,if - elseif - else,case等等,能够很好地满足程序开发的需要。
2、支持函数库:ABAP有许多内置函数,可以帮助开发者更方便地完成程序的开发,如字符串处理,数学计算,日期函数等等。
3、强大的对象模型:ABAP支持基于对象的编程,可以在ABAP中实现面向对象编程,使程序的执行更加安全、高效。
4、支持流程图:ABAP中的流程图语言可以极大地简化编程的难度,使程序更加规范,也更容易阅读、理解和扩展。
三、BDC的原理及程序实现
1、BDC原理:BDC使用了事务处理系统(TPS)的原理,它以一系列交互式程序的形式将外围系统的数据输入系统中,而BDC通过将数据转换成系统可接受的形式,将数据导入系统中。
什么是BDC
BDC(Batch Data Conversion)在SAP系统里,重复输入数据时,(数据不同,但是操作是相同的,典型的情形就是主数据导入),大致过程不外乎是这样:输入一个t-code,进入一个某个屏幕,然后输入一个值(有时还要加上一些附加的checkbox选项等),点执行或者确定按钮,进入另一个屏幕,在某些字段输入值(也可能是标注checkbox选中或者不选中)或者修改这些字段里的值。
然后按“Eneter”……最后按“SAVE”……,一条记录完成了,继续下一条,如此循环。
如果数据量非常大的话,让一个“人”来做的话,可能是真是受不了的。
但是对于计算机来说,就很简单了。
SAP通过一个特殊的程序(T-code:SHDB)把用户的一次业务操作的所有过程记录下来。
从用户输入transaction code(事务代码),点下“Start Recording”开始,对于用户的来说是一次普通的业务操作,但是SAP却在记录:1.光标放到哪个字段,(在程序中不用改变)2.填入了什么值,(变量,循环中的Internal Table 某个字段)3.点击了什么按钮(在程序中不用改变)本次操作的作为一个“代表”,是一个“模板”,告诉SAP系统以怎样的方式来执行程序,也就是用计算机的语言来描述如果手工操作的话应该是怎样的一个过程。
用BDC技术编程时,有以下几个步骤:1.把外部的数据源(Txt,Excel等)用读进internal table或者用do enddo循环。
2.在循环里,把用SHDB记录的步骤重复执行N次,(N = Dialog屏幕数量)这时实际上并没行完成数据的入,系统只是在“填表”,填一个叫做“BDCData”的Internal Table。
填完bdcdata以后,用call transaction ‘XXXX’ using bdc……这个命令来真正的commit动作或者call function 'BDC_Insert'在建立一个session。
SAP BDC批量导入数据
SAP BDC批量導入數據EvansBatch Input(批導入)Batch Input是一種資料批量輸入SAP系統的輔助程式,SAP系統的資料、格式可以通過Batch Input錄入SAP系統Batch Input的機制是類比事務處理將資料錄入R/3系統Batch Input類似SAP的CATT,控制性更好,處理能力更強1、首先我們需要把需要批導入事務的操作步驟記錄下來,可以用T-CODE‚SHDB‛來記錄。
在COMMAND LINE中輸入‚SHDB‛。
2、進入TRANSACTION RECORDER介面3、點‚NEW RECORDER‛創建一個記錄,現在以修改訂單為例,鍵入記錄名‚ZAMAO‛,輸入事務代碼‚VA02‛,然後‚START RECORDING‛。
4、下面的任務就是記錄下修改訂單的操作步驟。
5、填入訂單號碼,按確定6、現在來增加一下訂單的PO DATE。
7、填入‚2006.10.01‛,點‚保存‛。
8、這樣就完成了一個最最簡單的BDC錄取工作,錄完之後會出現系統運行的操作的跟蹤,包括程式號,螢幕號,欄位名,值等等,下面的任務是根據這些寫到程式裏面以完成SAP自動跑訂單修改的這一動作。
9、首先必須定義BDC變數:* BDC tableDATA: t_bdc LIKE bdcdata OCCURS 0 WITH HEADER LINE,t_bdcmsg LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.DATA: BEGIN OF t_log OCCURS 0,information(289) TYPE c, “返回信息END OF t_log.DATA: v_mode TYPE c VALUE …N‟.其中TABLE t_bdc中記錄的具體的操作步驟,而TABLE t_bdcmsg是記錄系統返回的資訊,成功與否都記錄到自定義的資訊表t_log中。
(实施)数据批量导入教程、BDC实例详细讲解步骤.
(实施)数据批量导入教程、BDC实例详细讲解步骤SAP数据批量导入教程文章第59页第4部分为BDC批导入处理教程1.前言1.1.ECATT解释Extended puter Aided Test Tool(T-code:SECATT)ECATT是SAP自带的功能测试工具,主要目标用来作SAP业务流程的自动化测试,每个测试都会生成一个详细的日志来显示测试流程和测试结果。
和CATT相比,CATT操作简单,类似于BDC的录屏功能,用于常用的简单业务数据导入,基本已被ECATT完全取代。
除了CATT功能之后,ECATT主要应用于基于GUI Windows/Gui Java自动化测试,同时也为外部工具提供了第三方接口(获BC-ECATT授权)。
所有的测试脚本,无论是ECATT自已生成的还是外部工具的他们都应该具有相同的数据对象类型,与SAP结合在一起并保存在相同的位置。
在R/3的功能测试中,ECATT录屏功能简单实用,测试脚本、测试数据、系统数据分别存放,可重复使用,并附有详细测试报告以及纠错功能,作为自带工具简单实用。
对于WEB方面的测试的话就要借用第三方的测试软件,如知名的Mercury的QTP。
1.2.LSMW解释Legacy System Migration Workbench (T-code: LSMW)LSMW, 是SAP推荐用来从旧的系统或非SAP系统把大批量或周期性的数据迁移到SAP的主力工具,类似于ECATT/SCATT,其优点可以在一个Session中处理大批量数据,并灵活易学易用。
如果用BDC和ECATT只能根据定制好的画面输入参数。
一旦没有这个值系统就会报错。
比喻我们根据业务对FI Account Document或者主数据一些参数作了扩展,一旦参数缺失或者不匹配,不得不终止Session,通过SM35手动去更正或者重新录屏。
LSMW具有一般的通用性,他导入模板的设计过程包括15个步骤,每个都是独立的单元并可进行单独的更新和修改,而不影响其它的模块只需作一些调整做出相应mapping,将必要的数据指定对应的字段就可行了,无需额外的编码。
{实施数据批量导入教程、BDC实例详细讲解步骤
(实施)数据批量导入教程、BDC实例详细讲解步骤SAP数据批量导入教程文章第59页第4部分为BDC批导入处理教程1.前言1.1.ECATT解释Extended puter Aided Test Tool(T-code:SECATT)ECATT是SAP自带的功能测试工具,主要目标用来作SAP业务流程的自动化测试,每个测试都会生成一个详细的日志来显示测试流程和测试结果。
和CATT相比,CATT操作简单,类似于BDC的录屏功能,用于常用的简单业务数据导入,基本已被ECATT完全取代。
除了CATT功能之后,ECATT主要应用于基于GUI Windows/Gui Java自动化测试,同时也为外部工具提供了第三方接口(获BC-ECATT授权)。
所有的测试脚本,无论是ECATT自已生成的还是外部工具的他们都应该具有相同的数据对象类型,与SAP结合在一起并保存在相同的位置。
在R/3的功能测试中,ECATT录屏功能简单实用,测试脚本、测试数据、系统数据分别存放,可重复使用,并附有详细测试报告以及纠错功能,作为自带工具简单实用。
对于WEB方面的测试的话就要借用第三方的测试软件,如知名的Mercury的QTP。
1.2.LSMW解释Legacy System Migration Workbench (T-code: LSMW)LSMW, 是SAP推荐用来从旧的系统或非SAP系统把大批量或周期性的数据迁移到SAP的主力工具,类似于ECATT/SCATT,其优点可以在一个Session中处理大批量数据,并灵活易学易用。
如果用BDC和ECATT只能根据定制好的画面输入参数。
一旦没有这个值系统就会报错。
比喻我们根据业务对FI Account Document或者主数据一些参数作了扩展,一旦参数缺失或者不匹配,不得不终止Session,通过SM35手动去更正或者重新录屏。
LSMW具有一般的通用性,他导入模板的设计过程包括15个步骤,每个都是独立的单元并可进行单独的更新和修改,而不影响其它的模块只需作一些调整做出相应mapping,将必要的数据指定对应的字段就可行了,无需额外的编码。
数据批量导入教程BDC实例详细讲解步骤
SAP数据批量导入教程文章第59页第4部分为BDC批导入处理教程1.前言1.1.ECATT解释Extended Computer Aided Test Tool(T-code:SECATT)ECATT是SAP自带的功能测试工具,主要目标用来作SAP业务流程的自动化测试,每个测试都会生成一个详细的日志来显示测试流程和测试结果。
和CATT相比,CATT操作简单,类似于BDC的录屏功能,用于常用的简单业务数据导入,基本已被ECATT完全取代。
除了CATT功能之后,ECATT主要应用于基于GUI Windows/Gui Java自动化测试,同时也为外部工具提供了第三方接口(获BC-ECATT授权)。
所有的测试脚本,无论是ECATT自已生成的还是外部工具的他们都应该具有相同的数据对象类型,与SAP结合在一起并保存在相同的位置。
在R/3的功能测试中,ECATT录屏功能简单实用,测试脚本、测试数据、系统数据分别存放,可重复使用,并附有详细测试报告以及纠错功能,作为自带工具简单实用。
对于WEB方面的测试的话就要借用第三方的测试软件,如知名的Mercury的QTP。
1.2.LSMW解释Legacy System Migration Workbench (T-code: LSMW)LSMW, 是SAP推荐用来从旧的系统或非SAP系统把大批量或周期性的数据迁移到SAP的主力工具,类似于ECATT/SCATT,其优点可以在一个Session中处理大批量数据,并灵活易学易用。
如果用BDC和ECATT只能根据定制好的画面输入参数。
一旦没有这个值系统就会报错。
比喻我们根据业务对FI Account Document或者主数据一些参数作了扩展,一旦参数缺失或者不匹配,不得不终止Session,通过SM35手动去更正或者重新录屏。
LSMW具有一般的通用性,他导入模板的设计过程包括15个步骤,每个都是独立的单元并可进行单独的更新和修改,而不影响其它的模块只需作一些调整做出相应mapping,将必要的数据指定对应的字段就可行了,无需额外的编码。
2024版SAP数据批量导入教程与BDC实例详细讲解
SAP数据批量导入教程与BDC实例详细讲解contents •引言•SAP数据批量导入概述•BDC实例详细讲解:准备阶段•BDC实例详细讲解:执行阶段•SAP数据批量导入实践:案例分享•总结与展望目录01引言03实现数据自动化处理通过编写脚本或使用第三方工具,可以实现数据的自动导入和处理,进一步提高工作效率。
01提高数据导入效率通过批量导入,可以快速将大量数据导入SAP 系统,提高数据处理的效率。
02减少手动输入错误手动输入数据容易出错,而批量导入可以大大减少这种错误的发生。
目的和背景教程范围SAP数据导入基本概念:介绍SAP数据导入的相关概念和术语,帮助读者更好地理解后续内容。
第三方工具介绍:介绍一些常用的第三方工具,如SAP Data Services、Winshuttle等,以及它们的特点和使用方法。
BDC(Batch Data Communication)详解:详细讲解BDC的原理、使用方法和最佳实践,包括如何创建BDC会话、编写BDC程序等。
批量导入实例演示:通过具体实例演示如何使用BDC和第三方工具进行SAP数据批量导入,包括数据准备、02SAP数据批量导入概述批量导入的定义与作用定义批量导入是指将大量数据从外部源快速、高效地导入到SAP系统中的过程。
提高数据录入效率通过自动化工具,减少手动录入,加快数据处理速度。
保证数据准确性减少人为错误,确保数据的完整性和准确性。
促进业务连续性支持定期或实时的数据更新,确保系统数据的实时性和一致性。
SAP系统中的批量导入工具BDC(Batch Data Communicati…SAP提供的标准工具,用于批量导入数据。
它允许用户创建事务脚本,模拟用户在前端执行的事务。
LSMW(Legacy System Migrati…用于从非SAP系统迁移数据到SAP系统。
它支持多种数据源格式,并提供数据转换和映射功能。
Data Services(DS)SAP的数据集成工具,提供ETL(提取、转换、加载)功能,支持复杂的数据转换和清洗需求。
数据导入工具_BDC使用方法
目录1.BDC的基本知识 (2)1.1BDC概述 (2)1.2BDC的处理步骤 (2)2.录制BDC模板 (3)2.1录制BDC模板 (3)2.2BDC模板的编辑 (4)2.3制作数据收集文件(数据原文件) (7)2.4数据转换及上载(方法一) (8)2.5数据转换及上载(方法二) (20)2.6数据转换及上载(方法三) (23)2.7数据转换及上载(方法四) (27)2.8几种方法的比较 (30)3.BDC的执行及出错处理 (31)3.1BDC的执行 (31)3.2BDC的日志查看 (32)3.3BDC的出错分析 (34)3.4BDC运行时,常用的OKCODE (35)1.BDC的基本知识1.1BDC概述BDC(Batch Input Communication)有时也称为批输入(Batch Input),是SAP系统数据传输的主要技术之一,主要用于把数据大量大批输入到SAP系统。
1.2BDC的处理步骤第一步:录制BDC标准命令(BDC模板)第二步:制作数据收集的EXCEL文件(数据原文件)第三步:数据转换,并上载到SAP系统中常用以下方法:1.WORD邮件合并2.SAP TOOL3.EXCEL宏4.ABAP程序第四步:到批处画面进行执行处理注意:做好的模板,要在测试系统反复测试后,才到生产机进行批量导入执行,否则容易出现大量错误。
主数据还好,没用使用前大部分能删除,但业务数据就不行了,只能冲销了。
2.录制BDC模板2.1录制BDC模板事务码:SHDB进入画面后,点击按钮“New recording”输入以下数据后,回车Recording(记录名):XXXXXX (由自己指定)Transaction code: PSPO (需要调用的TCODE,这里以创建科目表层科目为例)进入画面后,如同平常创建创建科目表层科目一样处理(注意:尽量不要有多余动作) 点击保存后,将自动回到以下画面。
如上图点击保存按钮,然后点击按扭下载BDC模板到本地电脑中(一般作为文本文件来保存)。
ABAP开发整理-BDC应用
BDC应用BDC 常用于批量导入,批量修改,定制触发某业务,例如符合某条件程序自动创建采购订单等.TCODE :SHDB操作流程:进入SHDB选择New recording内容填写完毕后点击Start Recording进入录制的TOCDE进行录屏,录屏期间注意不要有过多的重复操作,避免后退操作,尽可能的使用点击按钮进入,少使用回车。
业务完毕以后保存进入到Change Recording 界面点保存,然后回退到Recording Overview界面,选中刚刚创建的BDC (ZTEST01)点击Programe(根据需求可以选择Programe、Function Module等).选完以后点源代码进入代码界面.(如果退出了代码编辑界面忘记Program名字可以在SHDB 界面选择goto- > ABAP Editor进入ABAP编辑界面)关键代码如下:这段代码就是模拟操作的执行代码,BDC_DYNPRO 指系统在哪个屏幕,BDC_FIELD指系统的光标在哪个字段,OK_CODE 指系统点哪个按钮.此段代码可以摘出来单独放到其他Program中去执行,也可以在本Program中增加其他逻辑,单独摘出来的时候需要注意定义Include bdcrecx1.若不想用Include就要定义DATA: BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE. 且BDC_DYNPRO 和BDC_FIELD 也要自己实现( 标准里面COPY一个).实例代码这段代码只是执行BDC部分,前期数据整理未贴上FORM process_group .DATA: lv_temp(2) TYPE c."累加变量LOOP AT itab_main1.count2 = count2 + 1.PERFORM bdc_dynpro USING 'SAPLKPP0' '1000'.PERFORM bdc_field USING 'BDC_OKCODE' '==CSPB'.PERFORM bdc_field USING 'KPP1B-ONLY' ''.PERFORM bdc_field USING 'KPP1B-FORPL' 'X'.PERFORM bdc_field USING 'KPP0B-VALUE(01)' itab_main1-versn.PERFORM bdc_field USING 'KPP0B-VALUE(02)' s_perbl-low.PERFORM bdc_field USING 'KPP0B-VALUE(03)' s_perbl-high.PERFORM bdc_field USING 'KPP0B-VALUE(04)' itab_main1-gjahr.PERFORM bdc_field USING 'KPP0B-VALUE(06)' itab_main1-kostl.PERFORM bdc_field USING 'KPP0B-VALUE(07)' space.PERFORM bdc_field USING 'KPP0B-VALUE(08)' space.PERFORM bdc_field USING 'KPP0B-VALUE(09)' itab_main1-kstar .PERFORM bdc_field USING 'KPP0B-VALUE(10)' space.PERFORM bdc_field USING 'KPP0B-VALUE(11)' space.PERFORM bdc_dynpro USING 'SAPLKPP2' '0110'.PERFORM bdc_field USING 'BDC_OKCODE' '==CBUC'.DATA : s TYPE string.DATA : n TYPE string.DATA : temp(3) TYPE n.DATA : count4(2) TYPE n.FIELD-SYMBOLS <fs>.lv_temp = s_perbl-low+1(2).DO .count4 = count4 + 1.s = 'Z-BDC03'.n = 'PERBL'.temp = lv_temp.lv_temp = temp+1(2).CONCATENATE s '('count4')' INTO s.CONCATENATE n lv_temp INTO n.ASSIGN COMPONENT n OF STRUCTURE itab_main1 to <fs>.PERFORM bdc_field USING s <FS>.CLEAR: n,s.lv_temp = lv_temp + 1.IF lv_temp > s_perbl-high.CLEAR count4.CLEAR: lv_temp, temp.EXIT.ENDIF.ENDDO.CALL TRANSACTION 'KP06' USING itab_bdcdata MODE 'E'."根据什么模式执行批量处理(A-显示所有 E-显示错误 N-后台处理 P-后台处理;调试 ) REFRESH itab_bdcdata.ENDLOOP.ENDFORM. " PROCESS_GROUP。
数据导入工具_BDC使用方法
目录1.BDC的基本知识 (2)1.1BDC概述 (2)1.2BDC的处理步骤 (2)2.录制BDC模板 (3)2.1录制BDC模板 (3)2.2BDC模板的编辑 (4)2.3制作数据收集文件(数据原文件) (7)2.4数据转换及上载(方法一) (8)2.5数据转换及上载(方法二) (20)2.6数据转换及上载(方法三) (23)2.7数据转换及上载(方法四) (28)2.8几种方法的比较 (31)3.BDC的执行及出错处理 (32)3.1BDC的执行 (32)3.2BDC的日志查看 (33)3.3BDC的出错分析 (35)3.4BDC运行时,常用的OKCODE (36)1.BDC的基本知识1.1BDC概述BDC(Batch Input Communication)有时也称为批输入(Batch Input),是SAP系统数据传输的主要技术之一,主要用于把数据大量大批输入到SAP系统。
1.2BDC的处理步骤第一步:录制BDC标准命令(BDC模板)第二步:制作数据收集的EXCEL文件(数据原文件)第三步:数据转换,并上载到SAP系统中常用以下方法:1.WORD邮件合并2.SAP TOOL3.EXCEL宏4.ABAP程序第四步:到批处画面进行执行处理注意:做好的模板,要在测试系统反复测试后,才到生产机进行批量导入执行,否则容易出现大量错误。
主数据还好,没用使用前大部分能删除,但业务数据就不行了,只能冲销了。
2.录制BDC模板2.1录制BDC模板事务码:SHDB进入画面后,点击按钮“New recording”输入以下数据后,回车Recording(记录名):XXXXXX (由自己指定)Transaction code: PSPO (需要调用的TCODE,这里以创建科目表层科目为例)进入画面后,如同平常创建创建科目表层科目一样处理(注意:尽量不要有多余动作) 点击保存后,将自动回到以下画面。
如上图点击保存按钮,然后点击按扭下载BDC模板到本地电脑中(一般作为文本文件来保存)。
SAP_ABAP_BDC详细使用
传输数据的过程1.获取要传输的数据(路径+文件名+格式)2.转换数据格式,使其成为系统可接受的格式(Sender Structure →Receiver Sructure)3.传输4.反馈BDC批导入是传递大批量数据到R/3的一项标准技术。
其模拟事务流程传递数据,数据就像在线输入一样进行传递。
该技术的优点是会执行事务的相关检查,因此可以保证数据的一致性。
批导入过程分为两步:1. 创建一个批导入session ,其中包括所有相关的数据。
2. 处理批导入session,将其中包含的数据传入R/3系统。
数据传输工作台只执行第一步。
大多数SAP标准数据传输程序都使用的是批导入技术。
数据传输程序创建一个批导入session,其在迟后一个时间处理。
批导入可以以多种方式执行:•前台•后台•在处理过程中显示错误信息如果想对数据传输进行检查,可以在前台处理批导入或以显示错误信息的方式执行。
如果想传递数据或测试其性能,应该在后台处理。
特点分析简单地讲BDC就是先把相应事务的处理过程录制下来,然后让系统自动执行特定的事务过程,在执行的过程中把需要传输的数据输入进去。
所以可以看出BDC的优点是并不要求使用者对业务知识有多了解,只要相应的过程可以录制下来,就可以反复执行录制的过程,把数据输入系统。
但BDC有一个缺点,就是输入数据时,如果项目栏的记录很多而需要换页时,不同的程序可能换页方式不同,并且不同的显示器所显示的行项目数量也不一样多,会出现执行不下去或者遗漏数据的情况,这个问题比较棘手。
获取源数据一般情况下,在进行传输之前要把数据放入内表●从系统内部获取例如,以ALV形式输出数据后此时,数据存放在与ALV控件相对应的内表中●从系统外部获取CALL FUNCTION’DATA_UPLOAD’把数据由系统外部上传到ABP的内表中,这里的外部数据有严格的格式要求。
如果源数据是存放在EXCEL中,需要将其另存为以Tab键格开的文本文件。
BDC技术 详解
BDC技术详解首先简单解释一下BDC(Batch Data Conversion):在SAP系统里,由于某种原因,可能需要重复输入数据,(数据不同,但是操作是相同的,典型的情形就是切换系统的时候,旧系统的数据需要导入SAP),大致过程不外乎是这样:输入一个t-code,进入一个某个屏幕,然后输入一个值(有时还要加上一些附加的checkbox选项等),点执行或者确定按钮,进入另一个屏幕,在某些字段输入值(也可能是标注checkbox选中或者不选中)或者修改这些字段里的值。
然后按“Eneter”……最后按“SAVE”……,一条记录完成了,继续下一条,如此循环。
上面所述的情形,如果让一个“人”来做的话,可能是真是受不了的。
但是对于计算机来说,就很简单了。
SAP通过一个特殊的程序(T-code:SHDB)把用户的一次业务操作的所有过程记录下来。
从用户输入transaction code(事务代码),点下“Start Recording”开始,对于用户的来说是一次普通的业务操作,但是SAP却在记录:1.光标放到哪个字段,(在程序中不用改变)2.填入了什么值,(变量,循环中的Internal Table 某个字段)3.点击了什么按钮(在程序中不用改变)本次操作的作为一个“代表”,是一个“模板”,告诉SAP系统以怎样的方式来执行程序,也就是用计算机的语言来描述如果手工操作的话应该是怎样的一个过程。
用BDC技术编程时,有以下几个步骤:1.把外部的数据源(Txt,Excel等)用读进internal table或者用do enddo循环。
2.在循环里,把用SHDB记录的步骤重复执行N次,(N = Dialog屏幕数量)这时实际上并没行完成数据的入,系统只是在“填表”,填一个叫做“BDCData”的Internal Table。
填完bdcdata以后,用call transaction …XXXX‟ using bdc……这个命令来真正的commit动作或者call function 'BDC_Insert'在建立一个session。
SAP批量处理BDC使用实例教程
SAP批量处理BDC使用实例教程
1〕输入TCode:SHDB进入BDC录制初始界面,该界面可以实现已创立BDC Session 信息的查看、删除及锁定等操作
2〕单击工具栏Newrecording 按钮创立一个新的BDC,系统将弹出Create Recording 对话框,要求输入记录名称(此名称可以不用Y或Z开头来定义)和录制程序的事务码,本例以创立物料主数据MM01为例。
3〕单击Startrecording 按钮,程序直接跳转到事务码mm01下,
4〕输入自定义的物料名和行业领域,物料类型后,按工具栏的继续按钮,系统将弹出Select View列表,要求选择物料主档中所维护的具体视图,我们选“根本数据1〞,单击继续。
5〕进入物料信息维护界面,维护物料主档数据,我们这里选填了4项。
物料名称,根本计量单位,物料组及普通工程类别组。
6)完成后点保存,界面自动跳转到如下列图界面,红色圈住的地方就是我们需要填值的。
7〕点保存后,点返回,如下列图:
8) 点击工具栏按钮:Program,出现下列图对话框,输入程序名称,注意这里的名称一定要按Z或Y开头命名。
9〕点继续,在下方的对话框中插入标题,然后点击源代码
10〕输入开发类,本例是以STMP开发类。
点击:本地对象
11〕界面转到abap编辑界面
12〕我们对生成的代码稍稍做下修改。
如下
13〕激活运行,单项选择:调用事务,然后执行。
14〕有10个物料成功创立
15〕用Tcode:se12到MARA表里就可以查看刚批量添加的数据了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1.BDC的基本知识 (2)1.1BDC概述 (2)1.2BDC的处理步骤 (2)2.录制BDC模板 (3)2.1录制BDC模板 (3)2.2BDC模板的编辑 (4)2.3制作数据收集文件(数据原文件) (7)2.4数据转换及上载(方法一) (8)2.5数据转换及上载(方法二) (20)2.6数据转换及上载(方法三) (23)2.7数据转换及上载(方法四) (28)2.8几种方法的比较 (31)3.BDC的执行及出错处理 (32)3.1BDC的执行 (32)3.2BDC的日志查看 (33)3.3BDC的出错分析 (35)3.4BDC运行时,常用的OKCODE (36)1.BDC的基本知识1.1BDC概述BDC(Batch Input Communication)有时也称为批输入(Batch Input),是SAP系统数据传输的主要技术之一,主要用于把数据大量大批输入到SAP系统。
1.2BDC的处理步骤第一步:录制BDC标准命令(BDC模板)第二步:制作数据收集的EXCEL文件(数据原文件)第三步:数据转换,并上载到SAP系统中常用以下方法:1.WORD邮件合并2.SAP TOOL3.EXCEL宏4.ABAP程序第四步:到批处画面进行执行处理注意:做好的模板,要在测试系统反复测试后,才到生产机进行批量导入执行,否则容易出现大量错误。
主数据还好,没用使用前大部分能删除,但业务数据就不行了,只能冲销了。
2.录制BDC模板2.1录制BDC模板事务码:SHDB进入画面后,点击按钮“New recording”输入以下数据后,回车Recording(记录名):XXXXXX (由自己指定)Transaction code: PSPO (需要调用的TCODE,这里以创建科目表层科目为例)进入画面后,如同平常创建创建科目表层科目一样处理(注意:尽量不要有多余动作) 点击保存后,将自动回到以下画面。
如上图点击保存按钮,然后点击按扭下载BDC模板到本地电脑中(一般作为文本文件来保存)。
2.2BDC模板的编辑打开BDC模板文件(可以用记事本、EXCEL、WORD来打开),以EXCEL为例,先打开一个新的EXCEL表,把所有单元格设置为文本格式,然后用记事本打开BDC模板,全部选择后复制后把数据全部粘贴到EXCEL中。
仔细分析检查一下确认有无需要添加或删除的行。
对于“Field name”这列中出现 BDC_SUBSCR 或 BDC_CURSOR这样的数据(如图片中黄颜色行),你可以按行来删除这样的多余命令(注意要按整行来删除)。
BDC命令行的解读:0000 T FSP0 : 表示调用TCODE PSP0BDC_OKCODE =ACC_CRE : 表示点了创建科目按钮BDC_OKCODE /00 : 表示回车BDC_OKCODE XXXX : 一般表示为点击XXXX按扭SAPLGL_ACCOUNT_MASTER_MAINTAIN 2001 X : 表示调用程序的2001画面GLACCOUNT_SCREEN_KEY-SAKNR 160001 : 表示给字段赋值16001(通常表、字段的表示格式为: XXXXXX-ZZZZZ , XXXXXX为表名,ZZZZ为字段名)若原录制的BDC字段不够,需要添加字段,则可在先在SAP前台画面选择中该字段然后点击F1,然后点击“Technical information”,如下图:(例:添加创建科目表层“损益科目类型”字段,从上图我们可以看到这个字段所属的表为:GLACCOUNT_SCREEN_COA,字段名为:XPLACCT,则在BDC模板中加入以下行:)0000 GLACCOUNT_SCREEN_COA-XPLACCT对于插入行应该放在哪个屏幕哪一行,你应该找一下附近相关的字段,相近的字段为:“资产负债表类型” (字段名为:GLACCOUNT_SCREEN_COA-XBILK),则这一行可以放到这一行的前面或后面一行。
修改后:(修改部分为黄颜色行)检查确认后把EXCEL中的BDC模板保存为文本文件。
2.3制作数据收集文件(数据原文件)充分考虑业务需要及BDC的字段需要,来整理一张EXCEL表来收集数据,如下图为创建科目表层科目所需要的数据。
数据收集表做好以后,交相关业务人员收集填写。
交相关人员填写前,最好把数据收集表的填写格式要求做充分说明,比如:科目组只能填写:GL、PL…, 科目号只能填写10位数以内。
2.4数据转换及上载(方法一)本方法使用WORD邮件合并功能来实现,把每一条数据循环按BDC模板执行。
1.用WORD打开文本文件的BDC模板打开WORD后,点击打开文件按钮,选择路径,注意:指定文件类型为 *.*如上图,选择好指定的文件如上图,选择 Windows默认,点击菜单:工具->信函与邮件->邮件合并点击右下角的:“下一步”继续点击:“下一步”继续点击:“下一步”出现上图“选择数据源”的对话框时,选择你的数据收集模板文件,然后点击打开。
出现上图时,注意选择EXCEL表中你的数据在哪个sheet表中出现上图时,点击“下一步”出现右图中的“其他项目”时,就需要对每一个需要替换的字段进行指定。
用鼠标选择中要替换的第一个字段值,(如上图中的科目号,注意要全部选择上),然后点击右边的“其他项目”出现上图时,点击“插入”按钮,然后再点击“关闭”按钮如上图,一个一个地把要替代的字段全部指定好,并检查确认后,点击“下一步”如上图,点击“下一步”如上图,直到找不到点击“下一步”时,则选择“编辑个人信函”出现上图对话框时,如上图选择“确定”出现前页WORD画面时,注意翻页查看一下,是不是所有的记录都有了。
确认后选择另存为:如上图,输入文件名,并选择好文件类型(一定要为纯文本)(呵呵,不好意思,手误写错误了文件名,本应该为FSP0_UPLOAD.txt) 出现上图时,选择“确定”2.上载文件事务码:SHDB如上图选中一个Recording,点击修改按钮点击上载按扭,并选择相应的上载文件点击打开按钮,上载文件。
如上图,上载后点击保存按钮,然后点击回到前一画面如上图,到这一画面后,选择中你的Recording,点击当弹出对话窗口时,选择“keep session”,然后点击按扭,这样你的BDC就送入BATCH INPUT等待处理了。
2.5数据转换及上载(方法二)本方法使用一个名叫“saptool完全版+().exe”的工具来实现,把每一条数据循环按BDC模板执行。
1.数据文件按一定格式整理如上图,(1). 在第一列之前增加一列;(2). 在第一行之前增加九行;(3). 第一行输入的是相应的SAP字段名;(4). 第二行是字段名说明;(5). 第三行是字段类型;(6). 第四行是字段长度;(7). 第五行至第七行,可以不填写;(8). 第八行是说明数据是否为必填写,还是可选。
(9). 第九行第一单元格输入“STARTDATA”(10).在全部数据输入后,再下一行的第一单元格输入“ENDDATA”数据有效行:有效的数据应该放在“STARTDATA”的下一行开始,并且应该在“ENDDATA”之前的上行止;数据有效列:从有字段名的第一列开始,到有字段名的最后一列。
2.数据文件另存为文本文件方法一:将1中的EXCEL文件另存为以制表符分隔的文本文件方法二:将1中的EXCEL有数据的这一个表页全部选中并复制,再打开一个空记事本,将数据粘贴到记事本中,然后保存为文本文件。
3.使用SAPTOOL.exe将数据全部套用模板找到“saptool完全版+().exe”文件,双击打开。
(1)第一行:选择你的BDC模板(2)第二行:选择你的数据源,也就是你将EXCEL另存为文本文件的那个文件(3)第三行:选择生成的上载文件放在哪个文本文件里(4)第四行:选择运行日志放到哪里(运行出错时注意查看此日志)全部选择好后,点击4.使用SAP专门的程序来上载文件事务码: SE38输入程序名:ZSBDC010 然后执行如上图,选择你要上载的文件,并输入你的session名,然后点击执行按钮这样你的BDC就送入BATCH INPUT等待处理了。
2.6数据转换及上载(方法三)本方法使用excel宏实现,把每一条数据循环按BDC模板执行。
1.打开写有宏的EXCEL表,启用宏。
(你若没有这样的文件,可以上网找一找,应该很容易找到的)2.将数据收集表放到“BDC Raw Data”表页注意:“STARTDATA”应放在第一单元格“ENDDATA”应该放在最后一行数据的下一行的第一个单元格。
3.将BDC模板放到到写有EXCEL宏的文件的“BDC Template”表页注意:(1)将原BDC文件中的第一行删除(即有TCODE的那一行)(2)将原来的程序屏幕号与“X”合并到一个单元格(3)将TCODE写为:TCDE + XXXX(事务码)写到BDC模板数据最后一行的下一行(4)在TCODE的下一行写入结束标志“ENDTCDE”(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数据收集文件在哪个表页第二行第一个选择框:指定你的BDC模板在哪个EXCEL文件第二行第二个选择框:指定你的BDC模板在哪个表页如上图选择后,点击按钮:OK ,指定生成的上载文件存放的路径及文件名。
5.使用SAP专门的程序来上载文件事务码: SE38输入程序名:ZSBDC010 然后执行如上图,选择你要上载的文件,并输入你的session名,然后点击执行按钮这样你的BDC就送入BATCH INPUT等待处理了。
事务码:SM352.7数据转换及上载(方法四)本方法使用ABAP/4程序宏实现,把每一条数据循环按BDC模板执行。
1.定义一个内表包含data: begin of record occurs 0,anlkl(8), "资产分类bukrs(4), "公司代码txt50(50), "资产描述1txa50(50), "资产描述2anlhtxt(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'exportingstatic = 'X'mask = ',*.*,*.*.'changingfile_name = p_file.3.文件上载call function 'WS_UPLOAD'exportingfilename = p_filefiletype = 'DAT'tablesdata_tab = recordexceptionsconversion_error = 1file_open_error = 2file_read_error = 3invalid_type = 4no_batch = 5unknown_error = 6invalid_table_width = 7gui_refuse_filetransfer = 8customer_error = 9others = 10.if sy-subrc <> 0.message s023 with '上传文件有误。