在 SAP 中使用远程函数调用的示例
- Updated: 2022/08/04
本示例描述了如何构建 bot,将使用远程函数调用方法在 SAP 中创建一个文档。
先决条件
从 SAP 网站下载 SAP Java 连接器包和 DLL。
过程
-
打开新 bot:
- 在左侧窗格中,单击自动化。
- 单击新建 > 机器人。
- 在创建任务机器人窗口中,输入 bot 名称。
- 单击创建和编辑。
-
使用连接
action 与 SAP 应用程序建立连接。
- 在 SAP BAPI 会话字段中,输入 Default。
-
选择桌面选项,然后浏览并选择您设备上可用的 SAP Java 连接器包。
示例: F:\SAP \SAP JCo 3.1.3\Microsoft Windows and Windows Server\64-bit\sapjco3.jar
-
选择桌面选项,然后浏览并选择您设备上可用的 SAP Java 连接器 DLL。
示例: F:\SAP \SAP JCo 3.1.3\Microsoft Windows and Windows Server\64-bit\sapjco3.dll
- 选择组/服务器选项作为连接类型。
- 选择不安全字符串并输入 AWINAAWO12.bcone.com,以指定 SAP 消息服务器的主机名。
- 在网关主机字段中输入 AWINAAWO12.bcone.com 以连接服务器。
-
输入以下值:
字段 值 登录组 公共 系统编号 01 SAP 实例系统 ID AAI 客户端编号 800 登录语言代码 EN-US 路由器字符串 /H/115.112.148.66/S/3299 - 选择不安全字符串并输入 ISR3,以指定连接 SAP 服务器时要使用的用户名。
- 选择不安全字符串并输入 Automation@123,以指定连接 SAP 服务器时要使用的密码。
-
使用 Create function action 为 SAP BAPI 函数创建一个函数。
- 为 SAP BAPI 函数创建别名并使用别名保存。
- 在会话名称字段中输入默认。
- 在函数别名字段中,输入 BAPI_Post。
-
在 BAPI 名称字段中输入 BAPI_ACC_DOCUMENT_POST。
注: 创建 Automation 360 机器人时,SAP BAPI 函数名称和其他参数特定于客户环境。
-
要在 SAP 中创建 BAPI_ACC_DOCUMENT_POST,必须首先创建一个结构和表。 选择获取结构,以使用函数别名从结构中获取数据。
- 在 BAPI 函数别名字段中,输入 BAPI_POST(您使用创建函数 action 为 SAP BAPI 函数提供的别名)。
- 在结构名称字段中,输入 DOCUMENTHEADER(要从中获取数据的结构名称)。
- 在 SAP BAPI 会话字段中,输入 Default(您用于连接到 SAP 应用程序的会话名称在 连接 action 中)。
- 选择别名选项,保存从结构中获取的数据,然后在创建结构别名字段中输入 Doc。
-
选择获取表格
action,以使用函数别名从表中获取表格数据。
- 在 BAPI 函数别名字段中,输入 BAPI_Post(您使用创建函数 action 为 SAP BAPI 函数提供的别名)。
- 在表名称字段中,输入 ACCOUNTGL(要从中获取数据的表名称)。
- 在 SAP BAPI 会话字段中,输入 Default(您用于连接到 SAP 应用程序的会话名称在 连接 action 中)。
- 选择别名选项,保存从表格中获取的数据,然后在创建表别名字段中输入 GL。
- 重复步骤 5。 在步骤 5(b) 中,在表名字段中输入值 CURRENCYAMOUNT,在步骤 5(d) 中,在创建表别名字段中输入值 Currency。
-
选择设置字段值
action,以将数据设置到先前创建的空结构和表中。
- 在 BAPI 函数别名字段中,输入 BAPI_Post。
- 在源字段中,选择结构。
- 在结构别名字段中输入 DOC。
- 在字段名称字段中,输入 USERNAME(要在其中设置数据的字段名称)。
- 在字段值字段中,输入 sy-uname(要设置的值)。
- 在 SAP BAPI session 字段中,输入 Default。
-
重复步骤 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 -
选择获取结构
action。
- 在 BAPI function alias 字段中,输入 BAPI_POST。
- 在结构名称字段中,输入 DOCUMENTHEADER。
- 在 SAP BAPI session 字段中,输入 Default。
- 选择变量选项,将从结构中检索到的数据存储在表变量中。 创建表变量 Sap-Bapi-Table.
-
双击或拖动数据表 > 写入文件
action。
- 选择包含要从数据表名称列表中写入的数据的表变量 Sap-Bapi-Table。
- 在输入文件名字段中指定写入数据的文件的位置。 例如,D:/user defined/My Desktop/SAP Test/DOCUMENTHEADER.csv。
- 选择创建文件夹/文件(如果不存在)复选框。
- 选择覆盖现有文件选项以在现有文件中写入数据。
- 从行分隔符字段中选择new line选项。
- 从列分隔符字段中选择comma选项。
- 从编码列表中选择ANSI选项。
-
双击或拖动设置字段值
action,将数据设置到表中。
- 在 BAPI function alias 字段中,输入 BAPI_POST。
- 从源字段中,选择Table。
- 在表别名字段中输入GL。
- 在字段名称字段中,输入ITEMNO_ACC(要在其中设置数据的字段名称)。
- 在字段值字段中,输入2(要设置的值)。
- 在 SAP BAPI 会话字段中,输入 Default(您用于连接到 SAP 应用程序的会话名称在 连接 action 中)。
-
重复步骤 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 -
选择 action 字段中的设置值。
- 在 BAPI function alias 字段中,输入 BAPI_POST。
- 从源字段中,选择Table。
- 在表别名字段中输入GL。
- 选中创建新行复选框以在下一行输入数据。
- 在字段名称字段中,输入ITEMNO_ACC(要在其中设置数据的字段名称)。
- 在字段值字段中,输入 1(要设置的值)。
- 在 SAP BAPI 会话字段中,输入 Default(您用于连接到 SAP 应用程序的会话名称在 连接 action 中)。
-
选择获取表格
action。
- 在 BAPI function alias 字段中,输入 BAPI_POST。
- 在表名称字段中,输入 ACCOUNTGL。
- 在 SAP BAPI session 字段中,输入 Default。
- 选择 Variable 选项以将从表中检索到的数据存储在表变量中。 创建表变量 Sap-Bapi-Table.
-
双击或拖动数据表 > 写入至文件 选项。
- 选择包含要从数据表名称列表中写入的数据的表变量 Sap-Bapi-Table。
- 在输入文件名字段中指定写入数据的文件的位置。 例如,D:/user defined /My Desktop/SAP Test/ACCOUNTGL.csv。
- 选择创建文件夹/文件(如果不存在)复选框。
- 选择覆盖现有文件选项以在现有文件中写入数据。
- 从行分隔符字段中选择new line选项。
- 从列分隔符字段中选择comma选项。
- 从编码列表中选择ANSI选项。
-
双击或拖动设置字段值
action以将数据设置到表中。
- 在 BAPI function alias 字段中,输入 BAPI_POST。
- 从源字段中,选择Table。
- 在表别名字段中输入 CURRENCY。
- 在字段名称字段中,输入ITEMNO_ACC(要在其中设置数据的字段名称)。
- 在字段值字段中,输入2(要设置的值)。
- 在 SAP BAPI 会话字段中,输入 Default(您用于连接到 SAP 应用程序的会话名称在 连接 action 中)。
-
重复步骤 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 - 重复步骤 14并在表名称字段中输入 CURRENCYAMOUNT。
- 重复步骤 15 并指定文件位置,例如 D:/user defined /My Desktop/SAP Test/CURRENCYAMOUNT.csv。
-
选择运行函数
action 以运行 SAP BAPI 函数。
- 在 BAPI function alias 字段中,输入 BAPI_POST。
- 选择结束序列选项以标记流程的结束,并选择提交事务选项以提交在流程中所做的更改。
- 在 SAP BAPI session 字段中,输入 Default。
-
选择获取表格
action。
- 在 BAPI function alias 字段中,输入 BAPI_POST。
- 在表名称字段中,输入 RETURN。
- 在 SAP BAPI session 字段中,输入 Default。
- 选择 Variable 选项以将从表中检索到的数据存储在表变量中。 创建表变量 Sap-Bapi-Table.
- 重复步骤 15 并指定文件位置,例如 D:/user defined /My Desktop/SAP Test/Return.csv。
-
选择获取字段值
action,以从函数中获取指定字段的数据。
- 在 BAPI function alias 字段中,输入 BAPI_POST。
- 从源字段中选择函数选项卡。
- 在字段名称字段中,输入 OBJ_KEY。
- 在 SAP BAPI 会话字段中,输入 Default。
- 在将输出保存到变量字段中选择 Prompt-Assignment。
-
双击或拖动消息框
action。
- 在输入消息框窗口标题字段中输入 Automation Anywhere Enterprise Client。
- 输入 $Prompt-Assignment$。
- 在行后滚动条字段中输入 30,以显示滚动条。
- 重复步骤 23 和步骤 24(在步骤 23(c) 中,输入值 OBJ_SYS)。
- 重复步骤 23 和步骤 24(在步骤 23(c) 中,输入值 OBJ_TYPE)。
- 单击保存及运行