activities
latest
false
重要 :
请注意此内容已使用机器翻译进行了部分本地化。 Integration Service 中提供的连接器包采用的是机器翻译的译文。
UiPath logo, featuring letters U and I in white
Integration Service 活动
Last updated 2024年11月5日

技术参考

本节包含使用 SAP BAPI 时可能需要的有用信息。

为表格输入类型构建数组输入

在“执行 BAPI ”活动中,BAPI 的表格输入类型以数组输入表示。 这需要您手动构建对象。 我们正在积极开发解决方案,以简化数组映射并改善整体体验。

本节借助 Studio 桌面版 2023.10 和 Studio Web 中的示例,说明如何为 SAP BAPI 中的原生类型表构建等效的数组输入。

我们将通过BAPI_PO_CREATE对象来说明这个主题。

Studio 桌面版 (C# 语言)


docs image

  1. 在“执行 BAPI ”活动中,选择BAPI_PO_CREATE对象。
  2. 选择对象后,系统会自动检索其余字段。
  3. 例如,对于PO_ITEMS表,您想要构建一个等效的对象数组。 选择PO_ITEMS字段旁边的加号 +按钮菜单以打开“表达式编辑器”
  4. 在“表达式编辑器”窗口中,输入UiPath.IntegrationService.Activities.SWEntities 。 这将加载项目列表。 可以使用 IntelliSense 来协助进行遍历。
  5. 从列表中选择与 InArgument 对应的项目(在本例中为bapis_sub_execute_TABLES_sub_PO_ITEMS_CREATE )。 此项对于表格始终是唯一的。

    docs image

  6. 接下来,输入一个句点 ( . ),然后从可用列表中选择Bundle.bapis_sub_execute_TABLES_sub_PO_ITEMS_Create 。 在末尾添加两对括号: []{}
  7. 此时,数组已实例化,您可以在其中构造对象。

    docs image

    注意: CEBA75DCD15 ID 是我们这边生成的唯一标识符,特定于每个对象的 SAP BAPI 连接。 ID 对于每个对象都是唯一的。
  8. 复制上一步中的行,并在末尾添加括号() 。 现在,您已准备好映射对象中的属性。

    docs image

  9. 输入句(.)以搜索对象中的所有属性。

    docs image

  10. 根据需要映射属性,然后选择 “保存”。

    docs image

示例:

new UiPath.IntegrationService.Activities.SWEntities.CD6D3C0011F_bapis_sub_execute_TABLES_sub_PO_ITEMS_Create_CFXVARGYNSGMNQOY1M9XDRN8OK3VIHY.Bundle.bapis_sub_execute_TABLES_sub_PO_ITEMS_Create[] {
    new UiPath.IntegrationService.Activities.SWEntities.CD6D3C0011F_bapis_sub_execute_TABLES_sub_PO_ITEMS_Create_CFXVARGYNSGMNQOY1M9XDRN8OK3VIHY.Bundle.bapis_sub_execute_TABLES_sub_PO_ITEMS_Create()
    {
        PO_ITEM = 00001,
        PUR_MAT = "TG12",
        PLANT = "1710"
    },
    new UiPath.IntegrationService.Activities.SWEntities.CD6D3C0011F_bapis_sub_execute_TABLES_sub_PO_ITEMS_Create_CFXVARGYNSGMNQOY1M9XDRN8OK3VIHY.Bundle.bapis_sub_execute_TABLES_sub_PO_ITEMS_Create()
    {
        PO_ITEM = 00002,
        PUR_MAT = "TG12",
        PLANT = "1710"
    }
}new UiPath.IntegrationService.Activities.SWEntities.CD6D3C0011F_bapis_sub_execute_TABLES_sub_PO_ITEMS_Create_CFXVARGYNSGMNQOY1M9XDRN8OK3VIHY.Bundle.bapis_sub_execute_TABLES_sub_PO_ITEMS_Create[] {
    new UiPath.IntegrationService.Activities.SWEntities.CD6D3C0011F_bapis_sub_execute_TABLES_sub_PO_ITEMS_Create_CFXVARGYNSGMNQOY1M9XDRN8OK3VIHY.Bundle.bapis_sub_execute_TABLES_sub_PO_ITEMS_Create()
    {
        PO_ITEM = 00001,
        PUR_MAT = "TG12",
        PLANT = "1710"
    },
    new UiPath.IntegrationService.Activities.SWEntities.CD6D3C0011F_bapis_sub_execute_TABLES_sub_PO_ITEMS_Create_CFXVARGYNSGMNQOY1M9XDRN8OK3VIHY.Bundle.bapis_sub_execute_TABLES_sub_PO_ITEMS_Create()
    {
        PO_ITEM = 00002,
        PUR_MAT = "TG12",
        PLANT = "1710"
    }
}

Studio Web (VB 语言)

让我们再举一个例子,看看如何在 Studio Web 中实现这个结果。

  1. 在“执行 BAPI ”活动中,选择BAPI_PO_CREATE对象。
  2. 选择对象后,系统会自动检索其余字段。
  3. 例如,对于PO_ITEMS表,您想要构建一个等效的对象数组。 选择“查看更多docs image按钮菜单以打开“表达式编辑器”

    docs image

  4. 键入New ,后跟一个空格,然后键入bapis 。这将触发 IntelliSense 显示项目列表。 从列表中选择与您的 In 参数匹配的项目,在本例中为bapis_sub_execute_TABLES_sub_PO_ITEMS_CREATE 。 此项对于表格始终是唯一的。

    docs image


    docs image

  5. 接下来,添加一对大括号{} 。 在括号中输入一个句. 。 然后,您可以查看对象中的可用属性。

    docs image

  6. 根据需要映射属性,然后选择 “保存”。

    docs image

示例:

{ 
    New bapis_sub_execute_TABLES_sub_PO_ITEMS_Create With 
    { 
        .PO_ITEM = 00001,
        .PUR_MAT = "TG12",
        .PLANT = "1710"
    },
    New bapis_sub_execute_TABLES_sub_PO_ITEMS_Create With 
    { 
        .PO_ITEM = 00002,
        .PUR_MAT = "TG12",
        .PLANT = "1710"
    }
}{ 
    New bapis_sub_execute_TABLES_sub_PO_ITEMS_Create With 
    { 
        .PO_ITEM = 00001,
        .PUR_MAT = "TG12",
        .PLANT = "1710"
    },
    New bapis_sub_execute_TABLES_sub_PO_ITEMS_Create With 
    { 
        .PO_ITEM = 00002,
        .PUR_MAT = "TG12",
        .PLANT = "1710"
    }
}

常见问题

SAP BAPI 活动包是否与 Windows 和跨平台项目兼容?

可以,SAP BAPI 活动包与 Studio Desktop 中的 Windows 和跨平台项目类型兼容。

为什么在活动画布上看不到 BAPI 的所有必需属性?

当特定 BAPI 的属性为结构类型时,输入(结构)本身不会显示在“执行 BAPI ”活动画布上,但会显示其基础属性。 即使 BAPI 需要结构中的某些属性,这些属性仍会在主画布上显示为可选,这通常会导致活动界面变得杂乱。 SAP 不会指明结构中的哪些字段为必填,仅提供有关必填结构的信息。 因此,您必须手动相应地识别和映射必填字段。 您可以在此 SAP 社区会话中阅读有关此限制的更多信息: BAPI 必填字段

为什么看不到 BAPI 的表格输入类型?

在“执行 BAPI ”活动中,BAPI 的表格输入类型以数组输入表示。 这需要您手动构建对象。 请参阅构建表输入类型的数组输入中提供的示例。

我们正在积极开发简化数组映射的解决方案。

docs image


docs image

为什么无法在画布上看到所有输入?

默认情况下,主活动画布上仅显示必填字段。 您可以在“管理属性” 面板中访问和配置可选字段。 选择需要的其他输入,然后使用“更新字段”选项将其添加到主画布上。

docs image

是否支持调用 RFC?

SAP BAPI 活动包当前不支持调用 RFC。

使用 SAP BAPI 活动是否有任何安装先决条件?

无需安装,即可使用 Integration Service 中的新 SAP BAPI 活动。 您需要 UiPath Studio 2023.10 或更高版本,或者您可以直接在 Studio Web 中开始创建自动化。

如何确定“执行 BAPI”活动是否成功?

所有 BAPI 的“输出”部分都包含一个_RETURN数组。 这将提供诸如LOG_NOCODEMESSAGE等输出。检查这些值以评估 BAPI 执行是否成功。

docs image

是否可以使用 IP 地址代替 DNS 名称作为主机名?

使用 IP 地址有一个显着的优势:唯一性。 当您使用mycompany.com/sap/bapi等 DNS 名称时,您依赖于 DNS 转换、路由和其他网络组件。 这可能会导致潜在的问题和网络故障。 因此,我们建议您使用 IP 地址,以确保提供更可靠的连接创建体验。

如果我的 SAP 应用程序托管在本地部署或专用云中,是否可以使用 Integration Service 中的 SAP BAPI 活动?

是的。 如果您的 SAP S/4HANA 系统托管在 Azure 等云平台上,则您应拥有一个足以进行访问的公共 IP 地址。 如果您的 SAP 系统是本地部署的,则需要允许从特定的外部 IP 地址进行访问,这涉及配置防火墙设置。

docs image

系统是否自动处理 BAPI 的提交?

是的。 由于我们使用 SAP Java 连接器,系统会自动检测 BAPI 是否需要提交并触发BAPI_TRANSACTION_COMMIT ,以确保保存事务。 这消除了手动干预的需要。

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。