首先,我必须澄清我不指的是SAP最近收购的公司 Business Objects 。相反,我指的是SAP业务对象存储库(BOR)中定义的业务对象,例如SalesOrder(BUS2032)。
那么在SAP系统中序列化此类业务对象的首选方法是什么,以便第三方系统可以反序列化业务对象,包括构成特定业务对象实例的所有属性?
答案 0 :(得分:3)
根据this article,您需要使用IF_SERIALIZABLE_OBJECT
界面。我猜你的业务对象尚未实现该接口,因此您可能必须将其扩展到自定义业务对象并在那里实现IF_SERIALIZABLE_OBJECT
接口。
答案 1 :(得分:2)
我会说IDocs,但我发现你不想使用SAP生成的表示法。 这意味着您必须使用ABAP编写自己的实现。简而言之:
zcl_sales_order
,zcl_sales_order_position
等)call transformation
语句将实例序列化为XML表示形式(尽管这仍然包含一些特定于SAP的格式),或者编写自己的序列化方法(这可能是您需要的)答案 2 :(得分:1)
SAP Business Connector使用XML文档来交换SAP对象(在SAP和非SAP系统之间)。也许你可以在this article.
找到一些帮助答案 3 :(得分:0)
我不知道序列化BOR对象的简单方法。但是,在许多情况下,SAP提供了BAPI,它们是可以通过各种SAP连接器或SOAP等调用的远程启用功能模块。
以BUS2032为例:
call function 'BAPI
你会发现各种BAPI - 在这种情况下它们都属于功能组2032,可以通过事务SE80访问
请注意,SAP的命名标准并不总是如此,但模块越成熟,他们已经为模块提供某种形式的RFC或Web服务的可能性就越大。
当然,您也可以编写自己的RFC或Web服务,但是您需要了解业务模型以及需要哪些属性。