在ABAP程序中调用时为Create_Entity方法传递请求有效负载

2020-09-22 07:46发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,专家

我们需要在ABAP报表中对OData执行POST操作,我们将请求有效负载包含在字符串变量中,并且试图在Zreport中调用Create_entity方法。

当前,我们正在为发布操作调用OData URL(http客户端调用),但是如果HTTP调用的数量更多,则会导致转储。

请提出一种使用标准方法实现相同目标的解决方案。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,专家

我们需要在ABAP报表中对OData执行POST操作,我们将请求有效负载包含在字符串变量中,并且试图在Zreport中调用Create_entity方法。

当前,我们正在为发布操作调用OData URL(http客户端调用),但是如果HTTP调用的数量更多,则会导致转储。

请提出一种使用标准方法实现相同目标的解决方案。

付费偷看设置
发送
1条回答
1楼-- · 2020-09-22 08:26

嗨,帕拉比,

您可以尝试交易SECATT_ODATA。

https://help.sap.com/查看器/b5e82726f51340a6aad908a8f762b54d/7.51.5/zh-CN/2fa11d6103c44607afe5d2cc7eaf6f76.html

运行向导将为OData服务的每个实体集生成类。

您可以查看生成的编码,而不是创建测试。

使用服务/sap/opu/odata/IWBEP/GWSAMPLE_BASIC时,例如,您将获得类ZCL_GWSAMPLE_BASI_SC_BUSINESSP和方法INSERT_BUSINESSPARTNER。

此致

安德烈


 方法INSERT_BUSINESSPARTNER。

 * -------------------------------------------------  ------------------- *

   数据lp_ecatt_odata_client类型参考cl_ecatt_apl_odata_client。

   DATA l_url_ressource_path TYPE字符串。

   DATA l_edm_abap_mapping TYPE字符串。

   DATA l_query_str TYPE字符串。

 * -------------------------------------------------  ------------------- *





 *准备URL的资源路径



   如果ip_url_ressource_path不是INITIAL。

     "来自来电者,可能带有导航步骤

     l_url_ressource_path = ip_url_ressource_path-> get_ressource_path()。

   万一。

   如果l_url_ressource_path是INITIAL。

     "或EntitySet的经典资源标识符

     l_url_ressource_path =`BusinessPartnerSet`。

   万一。





 *创建eCATT OData客户端



   lp_ecatt_odata_client = me-> get_ecatt_odata_client()。



   如果lp_ecatt_odata_client已绑定。



     "获取EDM元数据模型

     l_edm_abap_mapping =我-> get_edm_abap_field_mapping()。



     lp_ecatt_odata_client-> get_service_metadata(

       导出i_edm_abap_mapping_stream = l_edm_abap_mapping)。





 *致电服务



     "插入实体

     调用方法lp_ecatt_odata_client-> insert_entity(

       出口

         i_entity_set_name =`BusinessPartnerSet`" #EC NOTEXT

         i_entity_container = co_service_container" #EC NOTEXT GWSAMPLE_BASIC_Entities

         i_url_ressource_path = l_url_ressource_path" #EC NOTEXT

         " i_url_query_options = l_query_str

         ip_request_options = ip_request_options

         i_property_selection_mode = i_property_selection_mode

         it_selected_properties = it_property_selection

       改变

         cs_entity_data = cs_businesspartner

                                     )。

   万一。



   终止方法。

一周热门 更多>