使用 SAP BAPI 将数据写入 SAP 的示例 软件包
- Updated: 2022/09/21
使用 SAP BAPI 将数据写入 SAP 的示例 软件包
使用 SAP BAPI 软件包,构建将数据写入 SAP 数据库的 机器人。
先决条件
从 SAP 门户下载 SAP Java 连接器和动态库文件(.dll 文件用于 Windows 自动化,.dylib 文件用于 MacOS 自动化)。
在本教程中,您将构建一个从 SAP 演示航班数据应用程序调用 BAPI_FLCUST_CREATEFROMDATA 的 机器人。 您将使用 CUSTOMER_DATA 导入参数将客户数据传递给 BAPI。 执行时,机器人 会在 SAP 数据库中创建一个新的客户记录,并显示 BAPI 返回的客户编号。
此教程演示了如何执行以下操作:
- 使用“获取结构”命令设置导入参数的值。
- 在 SAP 表中创建一个新记录。
- 接收来自 BAPI 的响应。
过程
-
创建名为 SAP-BAPI-CreateNewFlightCustomer 的 机器人。
- 登录到 Control Room。
- 在左侧窗格中,单击自动化。
- 单击创建机器人图标。
- 在名称字段中,输入 SAP-BAPI-CreateNewFlightCustomer,然后单击创建和编辑。
-
要将 机器人 连接到您的 SAP 系统,请在操作面板中找到 SAP BAPI > 连接操作,并将其添加到 机器人编辑器。
- 在 JCo: SAP Java Connector 软件包中,指定 Java 连接器 .jar 文件的路径。
-
在 JCo DLL/DYLIB 依赖项中,指定动态库文件的路径。
.dll 用于 Windows 自动化,.dylib 用于 MacOS 自动化。
- 选择自定义应用程序服务器作为连接类型。
-
在应用程序服务器主机名中,指定 SAP 应用程序服务器的主机名。
注: 作为最佳实践,使用 凭据保管库 来指定敏感信息,例如主机名、用户名和密码。
- 在系统编号中,输入实例编号。
- 在 SAP 实例系统 ID 中,输入系统 ID。
- 在客户编号中,输入客户编号。
- 在登录语言代码中,输入 EN 或您系统特定的语言。
- 在路由器字符串中,输入 SAP 路由器字符串。
- 在用户名中,输入您的 SAP 用户名。
- 在密码中,输入您的密码。
-
运行 机器人 以测试连接。
如果指定了正确的连接属性,机器人就会成功执行。
-
要创建一个函数,请添加 SAP BAPI > 创建函数 操作。
- 在函数别名中,输入 createNewFlightCustomer。
- 在 BAPI 名称中,输入 BAPI_FLCUST_CREATEFROMDATA。
-
因为客户数据参数的类型是结构,所以会获取导入参数的结构并将其赋值给别名。 要做到这一点,请添加SAP BAPI > 获取结构操作。
- 在函数别名中,输入 createNewFlightCustomer。
- 在结构名称中,输入 CUSTOMER_DATA。
- 要将检索到的结构存储为别名,请单击目标中的别名选项卡。
-
在创建结构别名中,输入 CustomerData。
您将使用别名来设置检索到的结构中导入字段的值。
-
要设置 CUSTNAME 字段的值,请添加SAP BAPI > 设置字段值操作。
- 在 函数别名 中,输入 createNewFlightCustomer。
- 在来源中,单击结构选项卡。
- 在结构别名中,输入 CustomerData。
- 在字段名称中,输入 CUSTNAME。
- 在字段值中,输入 John Doe。
-
重复步骤 5,为以下每个字段添加和配置设置字段值操作:
字段名称 字段值 街道 testStreet 邮政编码 101001 城市 testCity 计数器 美国 计数器 00000000 电子邮件 test@example.com CUSTTYPE P -
要执行 BAPI_FLCUST_CREATEFROMDATA,请添加SAP BAPI > 运行函数操作。
- 在函数别名中,输入 createNewFlightCustomer。
注: 如果您希望 BAPI_FLCUST_CREATEFROMDATA 将数据写入 SAP 数据库,必须选择结束序列和提交事务选项。 如果选择结束序列选项,请确保在创建函数操作中选择开始序列选项。本教程提供的示例 机器人 旨在演示在使用 SAP BAPI 软件包 时 Create() BAPI 的工作方式。 它并非旨在修改数据库。
创建新的客户记录后,BAPI 会分配并返回一个客户编号。 -
要将此编号获取到变量中,请添加SAP BAPI > 获取字段值操作。
- 在 函数别名 中,输入 createNewFlightCustomer。
- 在来源中,单击函数选项卡。
- 在字段名称中输入客户编号
- 在将结果保存到变量中,通过单击 (x) 并选择变量,来创建一个名为 strCustomerNumber 的变量。
-
要显示客户编号,请添加消息框操作。
- 在输入要显示的消息中,选择 strCustomerNumber 变量。
- 保存并运行 机器人。