SAP ABAP BDC(批量数据通信)-018

SAP ABAP BDC(批量数据通信)-018

批量输入简介

批处理输入通常用于将数据从非 R/3 系统传输到 R/3 系统或在 R/3 系统之间传输数据。

它是一种数据传输技术,允许您将数据集自动传输到属于事务的屏幕,从而传输到 SAP 系统。批处理输入由批处理输入会话控制。

在本教程中,您将学习:

  • 批量输入简介
  • 批量输入方法
  • 批量输入过程
  • 编写 BDC 程序
  • 创建批处理输入会话
  • 批量输入记录仪

批处理输入会话

将一系列事务调用与输入数据和用户操作组合在一起。批处理输入会话可用于在批处理输入中执行对话事务,其中部分或全部屏幕由会话处理。批处理输入会话作为数据库表存储在数据库中,并且在访问事务时可以在程序中作为内部表使用。

注意事项

  • BDI 通过执行正常的 SAP 事务来工作,就像用户一样,但它会自动执行事务。所有屏幕验证和业务逻辑验证都将在使用批处理数据输入时完成。
  • 它适用于输入大量数据。
  • 无需手动交互

批量输入方法

SAP 提供了两种将旧数据传输到 R/3 系统的基本方法。

  1. 经典批量输入法。
  2. 调用事务方法。

经典批量输入法

在此方法中,ABAP/4 程序将外部数据读取到 SAP 系统并存储在批处理输入会话中。

创建会话后,可以运行会话以在其中执行 SAP 事务。

此方法使用 OPEN、BDC_INSERT 和 BDC_CLOSE BDC_函数模块

批量输入会话可以通过 3 种方式进行处理

  1. 在前景中
  2. 在后台
  3. 在处理过程中,显示错误

如果要测试数据传输,则应在前台或使用错误显示处理批处理输入会话。

如果要执行数据传输或测试其性能,则应在后台处理会话。

关于经典批量输入法的注意事项

  • 同步处理
  • 传输多个事务的数据。
  • 同步数据库更新。
  • 将为每个会话生成一个批处理输入进程日志。
  • 无法并行生成会话。

调用事务方法。

在此方法中,ABAP/4 程序使用 CALL TRANSACTION USING 语句来运行 SAP 事务。

整个批次输入过程在程序中在线进行
在这里插入图片描述

注意事项:

  • 更快的数据处理
  • 异步处理
  • 为单个事务传输数据。
  • 不生成批处理处理日志。

批量输入过程

在这里插入图片描述

您通常会遵守以下步骤序列来为您的组织开发批处理输入

  1. 分析遗留数据。确定如何将要传输的数据映射到 SAP 结构。还要注意必要的数据类型或数据长度转换。
  2. 生成用于导出程序的 SAP 数据结构。
  3. 将数据导出到顺序文件中。请注意,预定义的 SAP 批处理输入程序需要字符格式。
  4. 如果未使用 SAP 提供的 BDC 程序,请对自己的批处理输入程序进行编码。根据情况选择适当的批量输入法。
  5. 处理数据并将其添加到 SAP 系统。
  6. 分析进程日志。对于未创建正确日志的 CALL TRANSACTION 方法,请使用程序收集的消息。
  7. 从过程分析的结果中,对错误数据进行更正和再处理。

编写 BDC 程序

您可以观察以下过程来编写 BDC 程序

  1. 分析事务以处理批量输入数据。
  2. 确定要使用的批量输入法。
  3. 从顺序文件中读取数据
  4. 执行数据转换或错误检查。
  5. 将数据存储在批处理输入结构中,BDCDATA。
  6. 为经典批量输入生成批处理输入会话,或使用 CALL TRANSACTION USING 语句直接处理数据。

批量输入数据结构

批量输入数据结构声明

DATA : BEGIN OF < bdc table>

OCCURS <occurs parameters>.

INCLUDE STRUCTURE BDCDATA.

DATA:END OF <bdc table>.

Field name	Type	Length	DescriptionPROGRAM   	CHAR	8     	Module poolDYNPRO    	NUMC	4     	Dynpro numberDYNBEGIN  	CHAR	1     	Starting a dynpro
FNAM      	CHAR	35    	Field nameFVAL      	CHAR	80    	Field value

特定屏幕的数据中的字段顺序没有任何意义

注意事项

  • 填充 BDC 数据时,请确保考虑用户设置。这与填充涉及数字的字段特别相关(如数量,金额)。用户设置决定了数字的分组字符,例如:根据用户设置,数字五万可以写为50,000.00或50.000,00。
  • 压缩数量和数量字段的 FVAL 字段,使它们左对齐。
  • 请注意,在填充 BDC 数据表时,应将通过 BDC 填充的所有字段视为字符类型字段。
  • 在某些屏幕中,使用 BDC 填充表控件中的值时,必须记下屏幕的默认大小上存在的行数和尽可能多的行的代码。如果必须填充更多行,则必须像手动填充表控件时那样为“向下翻页”功能编写代码。
  • 上述方案中显示的行数将根据用户使用的屏幕大小而有所不同。因此,请始终为标准屏幕尺寸编写代码,并使 BDC 始终以标准屏幕尺寸工作,而不管用户保持其屏幕尺寸如何。

创建批处理输入会话

  1. 使用函数模块BDC_OPEN_GROUP打开批处理输入会话会话。
  2. 对于会话中的每个事务:
  3. 在 BDCDATA 中填充事务中处理的所有屏幕和字段的值。
  4. 将事务转移到具有BDC_INSERT的会话。
  5. 使用BDC_CLOSE_GROUP关闭批处理输入会话

批量输入记录仪

批量输入记录器(系统>服务>批量输入>记录器)记录手动输入的交易,并创建一个批处理输入会话,以后可以使用SM35执行。

在这里插入图片描述

  • 通过从批处理输入初始屏幕中选择“录制”按钮来启动批处理输入记录器。
  • 录制文件名称是用户定义的名称,可以与可从录制文件创建的批处理输入会话名称匹配。
  • 输入 SAP 交易记录并开始过帐该交易记录。
  • 完成过帐 SAP 交易记录后,您可以选择获取交易记录并保存以结束记录,或选择下一个交易记录并过帐另一个交易记录。
  • 保存录制文件后,您可以从录制文件创建批量输入会话和/或从录制文件生成批量输入程序。
  • 现在可以像分析任何其他批处理输入会话一样分析您创建的批处理输入会话。
  • 由批量输入记录器功能生成的程序是数据接口程序员的强大工具。它提供了一个坚实的基础,然后可以根据客户的要求进行更改。
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值