5

First I have to clarify that I'm not referring to the company Business Objects recently acquired by SAP. Instead I'm referring to business objects as defined in the SAP Business Object Repository (BOR), e.g. SalesOrder (BUS2032).

So what would be the preferred approach to serialize such a business object in the SAP system so that a third party system could deserialize the business object including all attributes that make up a specific business object instance?

4

4 回答 4

3

根据这篇文章,您需要使用该IF_SERIALIZABLE_OBJECT接口。我猜您的业务对象尚未实现该接口,因此您可能必须将其扩展为自定义业务对象并在IF_SERIALIZABLE_OBJECT那里实现该接口。

于 2010-10-29T04:18:24.250 回答
2

我会说 IDocs,但我看到您不想使用 SAP 生成的表示。这意味着您必须使用 ABAP 编写自己的实现。简而言之:

  1. 使用 BAPI 和/或查询检索您需要的数据
  2. 将所有数据粘贴到您根据需要设计的一个或多个自定义类(zcl_sales_order、等)上zcl_sales_order_position
  3. 使用语句将实例序列化为 XML 表示call transformation(尽管这仍将包含一些特定于 SAP 的格式),或编写您自己的序列化方法(这可能是您需要的)
于 2011-09-05T08:28:07.417 回答
1

SAP Business Connector 使用 XML 文档交换 SAP 对象(在 SAP 和非 SAP 系统之间)。也许您可以在本文中找到一些帮助。

于 2009-10-28T10:59:20.623 回答
0

我不知道序列化 BOR 对象的简单方法。然而,在许多情况下,SAP 提供了 BAPI,它们是可以通过各种 SAP 连接器或 SOAP 等调用的远程启用功能模块。

以BUS2032为例:

  • 运行事务 SWO1
  • 进入BUS2032
  • 单击程序按钮
  • 搜索call function 'BAPI

您会发现各种 BAPI - 在这种情况下,它们都属于可以通过事务 SE80 访问的功能组 2032

请注意,SAP 并不总是在他们的命名标准中如此适应,但是模块越成熟,他们已经为模块提供某种形式的 RFC 或 Web 服务的机会就越大。

当然你也可以编写自己的 RFC 或 webservice,但是你需要了解业务模型以及需要哪些属性。

于 2009-10-28T06:17:40.893 回答