使用 SAP BAPI 将数据写入 SAP 的示例 软件包

使用 SAP BAPI 软件包,构建将数据写入 SAP 数据库的 机器人

先决条件

从 SAP 门户下载 SAP Java 连接器和动态库文件(.dll 文件用于 Windows 自动化,.dylib 文件用于 MacOS 自动化)。

在本教程中,您将构建一个从 SAP 演示航班数据应用程序调用 BAPI_FLCUST_CREATEFROMDATA 的 机器人。 您将使用 CUSTOMER_DATA 导入参数将客户数据传递给 BAPI。 执行时,机器人 会在 SAP 数据库中创建一个新的客户记录,并显示 BAPI 返回的客户编号。

此教程演示了如何执行以下操作:
  • 使用“获取结构”命令设置导入参数的值。
  • 在 SAP 表中创建一个新记录。
  • 接收来自 BAPI 的响应。

过程

  1. 创建名为 SAP-BAPI-CreateNewFlightCustomer机器人
    1. 登录到 Control Room
    2. 在左侧窗格中,单击自动化
    3. 单击创建机器人图标。
    4. 名称字段中,输入 SAP-BAPI-CreateNewFlightCustomer,然后单击创建和编辑
  2. 要将 机器人 连接到您的 SAP 系统,请在操作面板中找到 SAP BAPI > 连接操作,并将其添加到 机器人编辑器
    1. JCo: SAP Java Connector 软件包中,指定 Java 连接器 .jar 文件的路径。
    2. JCo DLL/DYLIB 依赖项中,指定动态库文件的路径。
      .dll 用于 Windows 自动化,.dylib 用于 MacOS 自动化。
    3. 选择自定义应用程序服务器作为连接类型
    4. 应用程序服务器主机名中,指定 SAP 应用程序服务器的主机名。
      注: 作为最佳实践,使用 凭据保管库 来指定敏感信息,例如主机名、用户名和密码。
    5. 系统编号中,输入实例编号。
    6. SAP 实例系统 ID 中,输入系统 ID。
    7. 客户编号中,输入客户编号。
    8. 登录语言代码中,输入 EN 或您系统特定的语言。
    9. 路由器字符串中,输入 SAP 路由器字符串。
    10. 用户名中,输入您的 SAP 用户名。
    11. 密码中,输入您的密码。
    12. 运行 机器人 以测试连接。
      如果指定了正确的连接属性,机器人就会成功执行。
  3. 要创建一个函数,请添加 SAP BAPI > 创建函数 操作。
    1. 函数别名中,输入 createNewFlightCustomer
    2. BAPI 名称中,输入 BAPI_FLCUST_CREATEFROMDATA
  4. 因为客户数据参数的类型是结构,所以会获取导入参数的结构并将其赋值给别名。 要做到这一点,请添加SAP BAPI > 获取结构操作。
    1. 函数别名中,输入 createNewFlightCustomer
    2. 结构名称中,输入 CUSTOMER_DATA
    3. 要将检索到的结构存储为别名,请单击目标中的别名选项卡。
    4. 创建结构别名中,输入 CustomerData
      您将使用别名来设置检索到的结构中导入字段的值。
  5. 要设置 CUSTNAME 字段的值,请添加SAP BAPI > 设置字段值操作。
    1. 函数别名 中,输入 createNewFlightCustomer
    2. 来源中,单击结构选项卡。
    3. 结构别名中,输入 CustomerData
    4. 字段名称中,输入 CUSTNAME
    5. 字段值中,输入 John Doe
  6. 重复步骤 5,为以下每个字段添加和配置设置字段值操作:
    字段名称 字段值
    街道 testStreet
    邮政编码 101001
    城市 testCity
    计数器 美国
    计数器 00000000
    电子邮件 test@example.com
    CUSTTYPE P
  7. 要执行 BAPI_FLCUST_CREATEFROMDATA,请添加SAP BAPI > 运行函数操作。
    1. 函数别名中,输入 createNewFlightCustomer
    注: 如果您希望 BAPI_FLCUST_CREATEFROMDATA 将数据写入 SAP 数据库,必须选择结束序列提交事务选项。 如果选择结束序列选项,请确保在创建函数操作中选择开始序列选项。

    本教程提供的示例 机器人 旨在演示在使用 SAP BAPI 软件包 时 Create() BAPI 的工作方式。 它并非旨在修改数据库。

    创建新的客户记录后,BAPI 会分配并返回一个客户编号。
  8. 要将此编号获取到变量中,请添加SAP BAPI > 获取字段值操作。
    1. 函数别名 中,输入 createNewFlightCustomer
    2. 来源中,单击函数选项卡。
    3. 字段名称中输入客户编号
    4. 将结果保存到变量中,通过单击 (x) 并选择变量,来创建一个名为 strCustomerNumber 的变量。
  9. 要显示客户编号,请添加消息框操作。
    1. 输入要显示的消息中,选择 strCustomerNumber 变量。
  10. 保存并运行 机器人