标准网关服务'FDP_EF_PURCHASE_ORDER_SRV'的问题for'PurchaseOrder'的GetEntity(Read)

2020-08-18 16:55发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 作为项目要求的一...

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

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


大家好,

作为项目要求的一部分,我正在测试用于PO表单的标准Odata服务,即FDP_EF_PURCHASE_ORDER_SRV,并且我遇到了GetEntity(Read)操作的问题。

当我运行以下URI时:

/sap/opu/odata/sap/FDP_EF_PURCHASE_ORDER_SRV/PurchaseOrder('4500000000')

它会给出错误消息"未找到段'PurchaseOrderNode'的资源",状态码为404。但是我可以看到其中已编码了对应于PurchaseOrder的GetEntity方法。

奇怪的是,当我在URI下运行时:

/sap/opu/odata/sap/FDP_EF_PURCHASE_ORDER_SRV/PurchaseOrder

它用于GetEntitySet(Query),效果很好,即使在响应有效负载中,我也可以看到这样的

即使GetEntity(Read)的代码仍然存在抛出错误,这还是很奇怪的。

任何人都可以帮助您理解此问题。

我的主要问题是,绑定到Adobe Form时会不会产生任何问题?

谢谢

四进

(16.6 kB)
9条回答
何必丶何苦呢
2020-08-18 17:22

嗨,Sijin,
FDP服务特定于输出控制,因此不应激活它们,或者 通过GW客户端消费! 正如您已经体验到的那样,它们的行为不像普通服务。

相反,您可以使用我们的内部帮助器类来查询数据:

 data(lo_helper)= cl_somu_form_services => get_instance(iv_query_top_node ='X')。
 数据lv_xml类型为xstring。
 尝试。
   lo_helper-> get_data(
     出口
       iv_service_name ='FDP_EF_PURCHASE_ORDER_SRV'
       it_key =值#(
         (name ='PurchaseOrder'值='4500000001')
         (name ='PurchaseOrderChangeFlag'value ='')
         (name ='ReceiverPartnerNumber'value ='')
         (name ='Language'value ='E')
         (名称='SenderCountry'值='GB')
       )
     输入
       ev_xml = lv_xml
   )。
 将cx_somu_error捕获到data(lo_error)中。
   "处理错误
 尝试。

如果您直接想要生成pdf:

数据lv_pdf类型xstring。
 数据lv_trace类型字符串。
 data(lo_helper)= cl_somu_form_services => get_instance(iv_query_top_node ='X')。
 尝试。
   lo_helper-> get_document(
     出口
       iv_trace_level = 4"调试目的,在生产中设置为0
       iv_form_name ='MM_PUR_PURCHASE_ORDER'"表单模板
iv_master_form_name ='SOMU_FORM_MASTER_A4' it_key =值#( (name ='PurchaseOrder'值='4500000001') (name ='PurchaseOrderChangeFlag'value ='') (name ='ReceiverPartnerNumber'value ='') (name ='Language'value ='E') (名称='SenderCountry'值='GB') ) 输入 ev_content = lv_pdf ev_trace_string = lv_trace )。 将cx_somu_error捕获到data(lo_error)中。 "//处理错误 尝试。

在这种情况下,ev_content是来自ADS的呈现的pdf和trace_string附加调试信息。

最好的问候
Pascal

一周热门 更多>