SAP 批量数据维护工具总结(BDC/CATT/LSMW)

BDC批量数据导入

BDC(Batch Data Communication),是SAP系统数据传输的主要技术之一,主要用于把数据大量大批输入到SAP系统。但是对速度又要求不高的数据传输。

BDC方法与ABAP编程的关系密切,因此相对于LSMW、CATT等其他数据传输方式,BDC方法更灵活。

BDC是模拟屏幕操作(与按键精灵相似),记录相关屏幕出现顺序和处理过程,产生数据录入的格式文件,通过调整数据文件后,再运行BDC产生ABAP程序,最后可能生成的ABAP程序进行修改,得到最终的数据录入代码片断。

BDC录屏操作步骤

1、SM35(包含SHDB)录屏操作

  • 创建事务记录

输入事务码MB21,点击“开始记录”将会跳转到MB21维护界面

回车

 最后保存

生成录屏记录

保存记录

  • 生成程序

 

回车生成程序源代码

编辑服务器端上生成的测试数据文件

  • 查看服务器上的测试文件

在SM35界面上,点击SHDB,在SHDB操作界面,打开文件监视器

SAP会为每个文件夹存放的路径定义一个“目录参数的名称”,如用户所创建的文件存放在SAP应用服务器的“DIR_SAPUSERS”下

双击进去就会看到创建的文件”MB21_FILE“

双击该文件,即可查看该文件的内容,内容就是上面录屏时界面上录入的数据

  • CG3Y—修改测试文件数据

修改好后,再通过CG3Z将文件上传到服务器上

执行录入程序

CG3Y、CG3Z文件每行字符超长问题

CG3Y  DOWNLOAD服务器文件(如果是ASC模式下载,每行只能256个字符,解决方案是函数C13Z_FILE_DOWNLOAD_ASCII的L_DATA_TAB改为TYPE STRING)

CG3  ZUPLOAD本地文件到服务器中(如果是ASC模式上传,每行只能256个字符,解决方案是函数C13Z_FILE_UPLOAD_ASCII的L_DATA_TAB改为TYPE STRING)

不带测试数据文件

如果在生成代码时选择的是“从记录中传输”,则生成的代码非常简单,但较之上面需要修改很多才能使用:

生成程序代码

从本地读取测试数据文件

从前面生成的程序来看,引用了系统标准的Include程序bdcrecx1,这里可以将BDC处理的核心代码拷贝出来,如存放到一个自定义的Include文件zbdcrecx1中,自定义程序中不再考虑DataSet及BDC Group的方法,主要需要拷贝的内表定义包括BDCDATA、MESSTAB;需要拷贝的Form如下:

可以自定义程序执行表格数据通过BDC批量导入

DATA:   bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE."用来存储屏幕字段参数值,传递录屏参数

DATA:   messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE."记录执行BDC过程中产生的消息

*-------------------------------------------------------*

* Start new screen                                              

*-----------------------------------------------------*

FORM bdc_dynpro USING program dynpro.

  CLEAR bdcdata.

  bdcdata-program  = program.

  bdcdata-dynpro   = dynpro.

  bdcdata-dynbegin = 'X'.

  APPEND bdcdata.

ENDFORM.

*--------------------------------------------------------*

*   Insert field 

*-----------------------------------------------------------*

FORM bdc_field USING fnam fval.

    CLEAR bdcdata.

    bdcdata-fnam = fnam.

    bdcdata-fval = fval.

    APPEND bdcdata.

ENDFORM.

执行就会批量创建相应录屏数据。

CATT批量数据维护(SCAT、SCEM)

CATT 全称 Computer Aided Test Tool(计算机辅助测试工具),也是批量数据维护工具。与BDC类似的是,CATT的数据操作也是通过录制屏幕的方式来实现的,但是有自己的优势:

BDC导入本地数据需要通过辅助开发程序来实现,而CATT则可以直接读取本地文件;

 BDC读取文件到内存后再进行处理,可以方便地通过ABAP代码来实现数据的检查或者转换,但是CATT则是比较直接的数据录入,相比之下,BDC的控制会更加灵活。

l  CATT操作简单,可以由模块顾问录制好后再提供给用户直接使用,只需要用户按顾问提供的测试数据模板文件提供数据即可

若是基本的数据录入或修改的话,CATT实现起来会更加的简单

示例操作:

SCAT—创建

点击“保存”按钮后,再修改“类型”为“C CATT”类型(注:如果不先保存,直接选 C CATT 时会报错):

保存后,再输入SCEM事务码,操作界面与SCAT基本类似

进入MB21事务代码页面,直接操作录入保存后会回到SCEM界面

点击“结束并应用”按钮

双击屏幕字段值都进行如下调整

SCEM操作完后,保存所有,然后再回到SCAT界面,并执行“导出”,将会导出本地数据录入模板

导入的文件为Txt文件,可以使用Excel打开进行维护,新增的数据必须按文件中的位置来填写

测试文件修改好后,进入执行界面:

预留单就创建成功。

LSMW批导创建(请查看单独笔记)

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 首先,您可以使用ABAP语言来编写一个程序,用于将物料主数据批量导入系统。具体步骤如下: 1. 创建一个程序,设置输入和输出参数,并确定相应的数据结构。 2. 创建一个SQL语句,从Excel文件中读取物料主数据,并将其转换为ABAP内部表。 3. 使用ABAP指令将物料主数据从内部表中读取,并将其存储在系统中。 4. 使用ABAP指令检查物料主数据的正确性。 5. 将物料主数据成功导入系统后,使用ABAP指令将其保存到相应的文件中。 ### 回答2: 使用ABAP语言编写物料主数据批量导入程序可以使用SAP内置的功能模块和数据对象来实现。 首先,我们可以创建一个ABAP报表程序,在其中定义所需的变量和数据对象。例如,我们可以使用内置的数据对象LFA1来表示供应商主数据,以及信息记录对象MAKT来表示物料描述。 接下来,我们可以使用内置的功能模块如BDC_OPEN_GROUP和BDC_INSERT来打开一个BDC(事务数据转换)会话组,并插入事务数据。 在导入过程中,我们可以使用内置的函数模块如LSMW_OBJECT_READ、LSMW_DATA_READ和LSMW_DATA_WRITE来读取、处理和写入数据。 对于物料主数据批量导入,我们可以先使用每个物料的一般信息(如物料号、物料类型、基本计量单位等)创建一个转换对象。然后,通过设置字段映射和转换规则来映射输入数据SAP系统中物料主数据字段之间的关系。最后,将导入的数据写入SAP系统中。 在整个导入过程中,我们可以使用内置的函数模块如BDC_CLOSE_GROUP来关闭BDC会话组,并提交数据。 另外,我们还可以使用BAPI_MATERIAL_SAVEDATA或BAPI_MATERIAL_MAINTAINDATA等内置的BAPI(业务应用编程接口)函数模块来实现物料主数据批量导入。这些函数模块可以通过传递参数和结构体来实现物料主数据的创建、修改和删除等操作。 总之,通过使用ABAP语言编写物料主数据批量导入程序,我们可以利用SAP内置的功能模块和数据对象来实现高效、可靠和准确的物料主数据导入。 ### 回答3: ABAP语言可以用来写一个物料主数据批量导入的程序。 首先,我们可以利用ABAP的数据导入技术,使用OPEN DATASET语句打开一个文本文件。然后,通过读取该文本文件的每一行,我们可以逐行解析物料主数据的信息。在解析过程中,我们可以使用字符串操作函数和正则表达式来提取需要的字段,如物料编码、物料描述、价格等。 接下来,我们可以使用INSERT语句将解析到的物料主数据插入到物料主数据表中。在插入之前,我们可以使用SELECT语句检查物料主数据表中是否已存在相同的物料编码,以避免重复插入。 除了插入物料主数据,我们还可以在导入过程中进行一些额外的逻辑处理。例如,我们可以使用条件语句判断物料主数据是否符合一些特定条件,如价格是否大于一定阈值、描述是否包含特定关键词等。根据判断的结果,我们可以选择不插入或者标记异常的物料主数据。 在导入完成后,我们可以关闭文本文件,并进行一些后续处理。例如,我们可以输出导入结果的日志信息,统计成功和失败的记录数等数据。此外,我们还可以将导入结果保存到一个报表或者发送邮件给相关人员。 综上所述,使用ABAP语言编写一个物料主数据批量导入的程序可通过数据导入、解析、插入和逻辑处理等步骤完成,同时可以进行后续处理和结果输出。这样的程序可以大大提高物料主数据导入的效率和准确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值