本示例描述了如何构建 bot,将使用远程函数调用方法在 SAP 中创建一个文档。

先决条件

SAP 网站下载 SAP Java 连接器包和 DLL。

过程

  1. 打开新 bot
    1. 在左侧窗格中,单击自动化
    2. 单击新建 > 机器人
    3. 创建任务机器人窗口中,输入 bot 名称。
    4. 单击创建和编辑
  2. 使用连接 action 与 SAP 应用程序建立连接。
    1. SAP BAPI 会话字段中,输入 Default
    2. 选择桌面选项,然后浏览并选择您设备上可用的 SAP Java 连接器包。
      示例: F:\SAP \SAP JCo 3.1.3\Microsoft Windows and Windows Server\64-bit\sapjco3.jar
    3. 选择桌面选项,然后浏览并选择您设备上可用的 SAP Java 连接器 DLL。
      示例: F:\SAP \SAP JCo 3.1.3\Microsoft Windows and Windows Server\64-bit\sapjco3.dll
    4. 选择组/服务器选项作为连接类型。
    5. 选择不安全字符串并输入 AWINAAWO12.bcone.com,以指定 SAP 消息服务器的主机名。
    6. 网关主机字段中输入 AWINAAWO12.bcone.com 以连接服务器。
    7. 输入以下值:
      字段
      登录组 公共
      系统编号 01
      SAP 实例系统 ID AAI
      客户端编号 800
      登录语言代码 EN-US
      路由器字符串 /H/115.112.148.66/S/3299
    8. 选择不安全字符串并输入 ISR3,以指定连接 SAP 服务器时要使用的用户名。
    9. 选择不安全字符串并输入 Automation@123,以指定连接 SAP 服务器时要使用的密码。
  3. 使用 Create function action 为 SAP BAPI 函数创建一个函数。
    1. 为 SAP BAPI 函数创建别名并使用别名保存。
    2. 会话名称字段中输入默认
    3. 函数别名字段中,输入 BAPI_Post
    4. BAPI 名称字段中输入 BAPI_ACC_DOCUMENT_POST
      注: 创建 Automation 360 机器人时,SAP BAPI 函数名称和其他参数特定于客户环境。
  4. 要在 SAP 中创建 BAPI_ACC_DOCUMENT_POST,必须首先创建一个结构和表。 选择获取结构,以使用函数别名从结构中获取数据。
    1. BAPI 函数别名字段中,输入 BAPI_POST(您使用创建函数 action 为 SAP BAPI 函数提供的别名)。
    2. 结构名称字段中,输入 DOCUMENTHEADER(要从中获取数据的结构名称)。
    3. SAP BAPI 会话字段中,输入 Default(您用于连接到 SAP 应用程序的会话名称在 连接 action 中)。
    4. 选择别名选项,保存从结构中获取的数据,然后在创建结构别名字段中输入 Doc
  5. 选择获取表格 action,以使用函数别名从表中获取表格数据。
    1. BAPI 函数别名字段中,输入 BAPI_Post(您使用创建函数 action 为 SAP BAPI 函数提供的别名)。
    2. 表名称字段中,输入 ACCOUNTGL(要从中获取数据的表名称)。
    3. SAP BAPI 会话字段中,输入 Default(您用于连接到 SAP 应用程序的会话名称在 连接 action 中)。
    4. 选择别名选项,保存从表格中获取的数据,然后在创建表别名字段中输入 GL
  6. 重复步骤 5。 在步骤 5(b) 中,在表名字段中输入值 CURRENCYAMOUNT,在步骤 5(d) 中,在创建表别名字段中输入值 Currency
  7. 选择设置字段值 action,以将数据设置到先前创建的空结构和表中。
    1. BAPI 函数别名字段中,输入 BAPI_Post
    2. 字段中,选择结构
    3. 结构别名字段中输入 DOC
    4. 字段名称字段中,输入 USERNAME(要在其中设置数据的字段名称)。
    5. 字段值字段中,输入 sy-uname(要设置的值)。
    6. SAP BAPI session 字段中,输入 Default
  8. 重复步骤 7 七次,并输入与之前在步骤 7(a)、7(b)、7(c) 和 7(f) 中输入的相同的值。 输入以下数值用于执行步骤 7(d) 和 7(e)。
    字段名称 字段值
    BUS_ACT RFBU
    HEADER_TXT TEST BOC BAPI POSTING
    公司代码 1000
    DOC_DATE 20210127
    过账日期 20210127
    文档类型 SA
    FIS_PERIOD 00
  9. 选择获取结构 action
    1. BAPI function alias 字段中,输入 BAPI_POST
    2. 结构名称字段中,输入 DOCUMENTHEADER
    3. SAP BAPI session 字段中,输入 Default
    4. 选择变量选项,将从结构中检索到的数据存储在表变量中。 创建表变量 Sap-Bapi-Table.
  10. 双击或拖动数据表 > 写入文件 action
    1. 选择包含要从数据表名称列表中写入的数据的表变量 Sap-Bapi-Table
    2. 输入文件名字段中指定写入数据的文件的位置。 例如,D:/user defined/My Desktop/SAP Test/DOCUMENTHEADER.csv
    3. 选择创建文件夹/文件(如果不存在)复选框。
    4. 选择覆盖现有文件选项以在现有文件中写入数据。
    5. 行分隔符字段中选择new line选项。
    6. 列分隔符字段中选择comma选项。
    7. 编码列表中选择ANSI选项。
  11. 双击或拖动设置字段值 action,将数据设置到表中。
    1. BAPI function alias 字段中,输入 BAPI_POST
    2. 字段中,选择Table
    3. 表别名字段中输入GL
    4. 字段名称字段中,输入ITEMNO_ACC(要在其中设置数据的字段名称)。
    5. 字段值字段中,输入2(要设置的值)。
    6. SAP BAPI 会话字段中,输入 Default(您用于连接到 SAP 应用程序的会话名称在 连接 action 中)。
  12. 重复步骤 11 七次,将数据设置到表格中。

    在表格中设置值时,请保留您在步骤 11(a)、11(b)、11(c) 和 11(f) 中先前输入的相同值。 更改以下步骤 11(d) 和 11(e) 的值:

    字段值 字段名称
    GL_ACCOUNT 0000078310
    过账日期 20210127
    ITEM_TEXT TEST POSTING DEBIT ITEM
    QUANTITY 1000
    BASE_UOM EA
    公司代码 1000
    文档类型 SA
  13. 选择 action 字段中的设置值
    1. BAPI function alias 字段中,输入 BAPI_POST
    2. 字段中,选择Table
    3. 表别名字段中输入GL
    4. 选中创建新行复选框以在下一行输入数据。
    5. 字段名称字段中,输入ITEMNO_ACC(要在其中设置数据的字段名称)。
    6. 字段值字段中,输入 1(要设置的值)。
    7. SAP BAPI 会话字段中,输入 Default(您用于连接到 SAP 应用程序的会话名称在 连接 action 中)。
  14. 选择获取表格 action
    1. BAPI function alias 字段中,输入 BAPI_POST
    2. 表名称字段中,输入 ACCOUNTGL
    3. SAP BAPI session 字段中,输入 Default
    4. 选择 Variable 选项以将从表中检索到的数据存储在表变量中。 创建表变量 Sap-Bapi-Table.
  15. 双击或拖动数据表 > 写入至文件 选项。
    1. 选择包含要从数据表名称列表中写入的数据的表变量 Sap-Bapi-Table
    2. 输入文件名字段中指定写入数据的文件的位置。 例如,D:/user defined /My Desktop/SAP Test/ACCOUNTGL.csv
    3. 选择创建文件夹/文件(如果不存在)复选框。
    4. 选择覆盖现有文件选项以在现有文件中写入数据。
    5. 行分隔符字段中选择new line选项。
    6. 列分隔符字段中选择comma选项。
    7. 编码列表中选择ANSI选项。
  16. 双击或拖动设置字段值 action以将数据设置到表中。
    1. BAPI function alias 字段中,输入 BAPI_POST
    2. 字段中,选择Table
    3. 表别名字段中输入 CURRENCY
    4. 字段名称字段中,输入ITEMNO_ACC(要在其中设置数据的字段名称)。
    5. 字段值字段中,输入2(要设置的值)。
    6. SAP BAPI 会话字段中,输入 Default(您用于连接到 SAP 应用程序的会话名称在 连接 action 中)。
  17. 重复步骤 16 七次,将数据设置到表中。

    在表格中设置值时,请保留您在步骤 16(a)、16(b)、16(c) 和 16(f) 中先前输入的相同值。 更改以下步骤 16(d) 和 16(e) 的值:

    字段名称 字段值
    货币 USD
    AMT_DOCCUR -2000
    ITEMNO_ACC 1
    货币 USD(重复)第 43 行
    AMT_DOCCUR 2000
  18. 重复步骤 14并在表名称字段中输入 CURRENCYAMOUNT
  19. 重复步骤 15 并指定文件位置,例如 D:/user defined /My Desktop/SAP Test/CURRENCYAMOUNT.csv
  20. 选择运行函数 action 以运行 SAP BAPI 函数。
    1. BAPI function alias 字段中,输入 BAPI_POST
    2. 选择结束序列选项以标记流程的结束,并选择提交事务选项以提交在流程中所做的更改。
    3. SAP BAPI session 字段中,输入 Default
  21. 选择获取表格 action
    1. BAPI function alias 字段中,输入 BAPI_POST
    2. 表名称字段中,输入 RETURN
    3. SAP BAPI session 字段中,输入 Default
    4. 选择 Variable 选项以将从表中检索到的数据存储在表变量中。 创建表变量 Sap-Bapi-Table.
  22. 重复步骤 15 并指定文件位置,例如 D:/user defined /My Desktop/SAP Test/Return.csv
  23. 选择获取字段值 action,以从函数中获取指定字段的数据。
    1. BAPI function alias 字段中,输入 BAPI_POST
    2. 字段中选择函数选项卡。
    3. 字段名称字段中,输入 OBJ_KEY
    4. SAP BAPI 会话字段中,输入 Default
    5. 将输出保存到变量字段中选择 Prompt-Assignment。
  24. 双击或拖动消息框 action
    1. 输入消息框窗口标题字段中输入 Automation Anywhere Enterprise Client
    2. 输入 $Prompt-Assignment$
    3. 行后滚动条字段中输入 30,以显示滚动条。
  25. 重复步骤 23步骤 24(在步骤 23(c) 中,输入值 OBJ_SYS)。
  26. 重复步骤 23步骤 24(在步骤 23(c) 中,输入值 OBJ_TYPE)。
  27. 单击保存运行