探索文件适配器
学习目标
在 SAP 应用程序接口框架中使用文件适配器,配置源结构和目标结构。
文件适配器
使用 SAP 应用程序接口框架,您可以导入和处理文件。可以使用上传文件的报表来上传文件。要能够上传文件,必须满足以下前提条件:
与文件结构匹配的 RAW 结构/DDIC 结构: 创建表示文件结构的 DDIC 结构。该结构必须包含与文件字段匹配的结构。如果文件包含条目表,则 DDIC 结构必须包含一个表,其行类型为包含文件字段的结构。该结构在 SAP 应用程序接口框架接口中用作原始(RAW)结构。
由系统中的处理功能定义的 SAP 结构: 创建或重复使用 SAP 结构。SAP 应用程序接口框架内的后续处理决定是创建还是重复使用 SAP 结构。
一个 SAP 应用程序接口框架接口: 设置接口引擎。应用程序引擎和持久性引擎设置为 XML。选择引擎设置为索引表,日志记录引擎使用应用程序日志。
定义结构映射和操作: 将 RAW 映射到 SAP 结构,触发后续处理结构,并触发后续处理。
一个文件适配器配置: 创建文件适配器配置。上传文件没有默认设置。要从系统读取文件,所需的最少信息是文件类型、文件内容和文本类型。要将文件映射到接口,需要结构名称和字段名称,即上传期间文件内容移动到的位置。
导入的文件会生成一条或多条 SAP 应用程序接口框架消息。文件内容到一条或多条 SAP 应用程序接口框架消息的映射取决于文件适配器配置、接口/结构设置以及上传参数。
源结构
每个 SAP 应用程序接口框架接口都需要源 DDIC 结构和目标 DDIC 结构。文件没有对应的 DDIC 结构。您如何创建此结构?
创建源结构的步骤
1. 检查文件和内容
文件中的数据以何种形式存在?文件包含的是数据表还是仅包含单条记录?各个字段有多长?文件中的数据以何种形式存在?文件包含的是数据表还是仅包含单条记录?各个字段有多长?
2. 创建对应的 DDIC 结构
如果文件包含数据表,则 DDIC 结构需要一个表来存储文件中的不同条目。行类型由文件的不同字段定义。
根据所使用的原始(RAW)结构,SAP 应用程序接口框架会创建一条或多条消息。如果文件包含数据表,并且原始结构与带有相应表类型的表相似,则 SAP 应用程序接口框架每个文件仅创建一条消息。如果原始结构是与文件的一行相似的结构,则它会为所选文件中的每一行创建一条新消息。
示例
该文件包含一个带有 ID、名称和城市的表。ID 长度为六个字符。名称长度可以为 30 个字符,城市长度可以为 60 个字符。在这种情况下,源结构必须包含一个含有不同条目的表。该表由文件的不同字段定义。
行类型是一个具有以下字段的结构:ID Char 6、Name Char 30 和 City Char 60。该结构用作表的行类型。然后将该表包含到源结构中。
如何为文件适配器创建 RAW 结构
观看此演示,获取为文件适配器场景做准备的分步指南。它涵盖创建 CSV 文件、用特定数据条目填充该文件,以及为系统中的高效数据处理设置原始结构、表类型和根结构。
视频:本节含 SAP 官方视频(视频 ID
1_p3nvc4j7),需在 learning.sap.com 在线观看。
目标结构
要确定正确的目标结构,您必须查看 SAP 系统中处理该文件的功能。要得到正确的目标结构,必须分析处理功能/BAPI。目标结构必须包含后续处理所需的表/结构。
目标结构必须包含消息的后续处理中所需要的表/结构。
确定定义正确目标结构所需的参数。
创建对应的 DDIC 结构。将处理功能/BAPI 中用作参数的所有必需结构/表添加到目标结构中。
将处理功能/BAPI 中用作参数的所有必需结构/表添加到目标结构中。
示例
用于处理客户的 BAPI 1 需要一个包含客户信息的表。BAPI 2 需要一个包含城市信息的表。
客户表和城市表这两个参数都必须是目标结构的一部分。在此示例中,目标结构必须包含一个用于客户的表。行类型由处理功能/BAPI 参数的数据类型定义。除了客户表之外,它还必须包含第二个用于城市的表。同样,行类型由处理功能/BAPI 参数的数据类型定义。
如何为 SAP 应用程序接口结构接口创建 SAP 结构
观看此演示,使用 'BAPI_MATERIAL_SAVEDATA' 功能处理物料数据,并创建一个包含物料描述和物料表的新 SAP 结构。
视频:本节含 SAP 官方视频(视频 ID
1_68zxkykp),需在 learning.sap.com 在线观看。
文件上传选项
在 SAP 应用程序接口框架中,有两个不同的报表可用于上传文件:
文件上传: 此事务允许您从应用程序服务器或本地 PC 上传单个文件。它面向必须手动上传文件的用户。该报表提供在上传后显示文件的选项,以便用户可以查看其内容。此外,如果您使用扁平结构,则可以在数据传递到 SAP 应用程序接口框架之前显示结果结构。这样,您就可以看到数据是如何从文件映射到文件适配器配置中所指定的结构的。 事务代码:/AIF/LFA_UPLOAD_FILE
从服务器批量上传文件: 此事务允许您从应用程序服务器上传多个文件。该报表可以计划为常规作业,以便从预定义路径读取数据并将其传递到 SAP 应用程序接口框架。文件读取后会被移动到应用程序服务器上的一个新文件夹中,以避免再次读取相同的文件。该文件夹也可以指定。 事务代码:/AIF/LFA_CHECK_SEND
文件适配器配置
要上传文件,您必须指定:
文件适配器配置、目录或逻辑文件,即上传文件的来源。
以行数计的块大小。
一个运行时配置组。
文件适配器配置:
文件适配器配置定义将文件上传到 SAP 应用程序接口框架时使用哪些设置。例如,它定义文件类型以及上传的文件移动到的结构。
以行数计的块大小:
如果您的文件包含多个数据集,您可以指定有多少行传递到一条消息。如果不指定块大小,则整个文件内容会作为一条消息发送。
示例:您有一个包含 1,000 个数据集的文件。
您未维护块大小:所有数据集一次性传递到 SAP 应用程序接口框架,这会在 SAP 应用程序接口框架中产生一条单一消息。
您维护块大小为 100:100 个数据集传递到 SAP 应用程序接口框架,并为这 100 个数据集创建一条消息。随后,接下来的 100 个数据集传递到 SAP 应用程序接口框架。这会在 SAP 应用程序接口框架中产生 10 条被处理的消息,每条消息包含 100 个数据集。
注意:只有在使用扁平结构时才能维护块大小。在复杂结构中,必须一次性传输整个文件。
如果您的文件有多个数据集,但您的结构一次只能处理一个数据集,则文件上传默认采用隐式块大小 1。在这种情况下,每个数据集都会生成一条消息。
运行时配置组:
由于 SAP 应用程序接口框架的 XML 运行时用于处理数据集,因此可以指定一个运行时配置组。这允许您定义消息是在同一会话中处理,还是创建后台作业。此外,它还定义在一次运行或一个包中处理多少条消息。
文件适配器配置:
在定义好结构和 SAP 应用程序接口框架接口之后,将文件导入 SAP 应用程序接口框架所需的最后一步定制是配置文件适配器。上传文件没有默认设置。要上传文件,所需的最少信息是文件类型、文件内容和文本类型。要将文件内容映射到接口,您必须指定在上传过程中文件内容将传输到的结构名称和字段名称。
文件类型: 定义应以二进制模式还是文本模式读取文件。
文件内容: 定义文件内容的形式。根据在“文件内容”字段中所做的选择,字段适配器配置的定制中会显示不同的字段。以下是文件内容类型:
扁平结构。
复杂结构:文件内容可以映射到复杂结构中,该结构可能包含抬头、子结构和子表。在这种情况下,您必须在 SAP 应用程序接口框架的定制中,于“配置文件适配器”下维护子结构确定。
用户定义:可以使用客户特定功能模块执行客户特定映射,其名称必须存储在“映射功能”字段中。
XML:通过可扩展样式表语言转换(XSLT)或简单转换(ST)执行映射。转换名称必须存储在“转换”字段中。
文本类型: 定义在文件上传期间应在何处将文件内容分隔为各个字段。可以使用以下选项:
特殊字符作为分隔符:文件中的各个字段由特殊字符分隔(例如 CSV 文件)。必须在“字段分隔符”字段中维护分隔符。
固定字段长度:各个字段的长度在文件中正确表示,并且不使用特殊字段分隔符。
每行一个字段:每个字段在文件中恰好占一行。
结构名称: SAP 应用程序接口框架接口中使用的原始(RAW)结构的名称。
字段名称: 定义“结构名称”字段中维护的结构的组件,上传期间文件内容将移动到该组件。此组件也可以是表类型。在这种情况下,该表类型的行类型必须与您通过文件上传的数据相匹配。
如何创建 SAP 应用程序接口框架接口、利用映射功能并实施 BAPI 操作
观看此演示,逐步了解在 SAP 应用程序接口框架中创建接口的过程,利用高级映射功能并实施 BAPI 操作,以提升数据集成效率。
视频:本节含 SAP 官方视频(视频 ID
1_5wysczye),需在 learning.sap.com 在线观看。
视频:本节含 SAP 官方视频(视频 ID
1_f94r0g1g),需在 learning.sap.com 在线观看。
视频:本节含 SAP 官方视频(视频 ID
1_8ee5fjze),需在 learning.sap.com 在线观看。
视频:本节含 SAP 官方视频(视频 ID
1_yd6wepom),需在 learning.sap.com 在线观看。
本课其余配图



