如何通过自定义oData过帐客户发票请求?

2020-08-27 08:10发布

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

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


美好的一天专家

我在通过自定义OData 发布 CustomerInvoiceRequest 时遇到问题,有人可以帮我吗? 我的自定义OData for Journal Entry Voucher可以正常工作,但是在此Business Object上,错误总是像在Postman上这样:

 500内部服务器错误

 无法创建数据; 创建禁用::无法创建; 源对象不存在::客户发票请求无法保存,因为缺少先前的文档ID。 报告事件。::客户发票请求无法保存,因为缺少先前的凭证类型。

下面是我创建的OData和邮递员的示例正文请求:

 {
 " AccountsReceivableDueItemTypeCode":"",
 " CustomerInvoiceProcessingTypeCode":" CI",
 " Name":"通过PostMan的手动请求",
 " ProposedInvoiceDate":"/img/Date(1574035200000)/",
 " ReferenceBusinessTransactionDocumentID":"",
 " ConsistencyStatusCode":" 3",
 " CustomerInvoiceRequestItem":[
 {
             "数量":" 1.00000000000000",
             " ProcessingTypeCode":" CII",
             " CustomerInvoiceRequestItemProduct":
             {
             " ProductID":" SE00001",
             " ProductIdentifierTypeCode":" 1",
             " ProductTypeCode":" 2"
             }
 }
 ],
 " CustomerInvoiceRequestParty":[
 {
                 " PartyID":" API-56477",
                 " PartyTypeCode":" 159",
                 " RoleCategoryCode":" 1",
                 "角色代码":" 1001"
             },
             {
                 " PartyID":" 8000000014",
                 " PartyTypeCode":" 167",
                 " RoleCategoryCode":" 39",
                 " RoleCode":" 39"
             },
             {
                 " PartyID":" GXI",
                 " PartyTypeCode":" 154",
                 " RoleCategoryCode":" 11",
                 " RoleCode":" 1101"
             },
             {
                 " PartyID":" GXI-PMT",
                 " PartyTypeCode":" 410",
                 " RoleCategoryCode":" 44",
                 " RoleCode":" 44"
             },
             {...
             },
             {...
             },
             {...
             },
             {...
             },
             {...
             }
 ]
 } 

我在已经过帐的发票请求中得到了这些字段,我正尝试通过邮递员来重复此字段。

在这里感谢您的帮助。 谢谢!

此致

切斯特

(42.8 kB)

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

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


美好的一天专家

我在通过自定义OData 发布 CustomerInvoiceRequest 时遇到问题,有人可以帮我吗? 我的自定义OData for Journal Entry Voucher可以正常工作,但是在此Business Object上,错误总是像在Postman上这样:

 500内部服务器错误

 无法创建数据; 创建禁用::无法创建; 源对象不存在::客户发票请求无法保存,因为缺少先前的文档ID。 报告事件。::客户发票请求无法保存,因为缺少先前的凭证类型。

下面是我创建的OData和邮递员的示例正文请求:

 {
 " AccountsReceivableDueItemTypeCode":"",
 " CustomerInvoiceProcessingTypeCode":" CI",
 " Name":"通过PostMan的手动请求",
 " ProposedInvoiceDate":"/img/Date(1574035200000)/",
 " ReferenceBusinessTransactionDocumentID":"",
 " ConsistencyStatusCode":" 3",
 " CustomerInvoiceRequestItem":[
 {
             "数量":" 1.00000000000000",
             " ProcessingTypeCode":" CII",
             " CustomerInvoiceRequestItemProduct":
             {
             " ProductID":" SE00001",
             " ProductIdentifierTypeCode":" 1",
             " ProductTypeCode":" 2"
             }
 }
 ],
 " CustomerInvoiceRequestParty":[
 {
                 " PartyID":" API-56477",
                 " PartyTypeCode":" 159",
                 " RoleCategoryCode":" 1",
                 "角色代码":" 1001"
             },
             {
                 " PartyID":" 8000000014",
                 " PartyTypeCode":" 167",
                 " RoleCategoryCode":" 39",
                 " RoleCode":" 39"
             },
             {
                 " PartyID":" GXI",
                 " PartyTypeCode":" 154",
                 " RoleCategoryCode":" 11",
                 " RoleCode":" 1101"
             },
             {
                 " PartyID":" GXI-PMT",
                 " PartyTypeCode":" 410",
                 " RoleCategoryCode":" 44",
                 " RoleCode":" 44"
             },
             {...
             },
             {...
             },
             {...
             },
             {...
             },
             {...
             }
 ]
 } 

我在已经过帐的发票请求中得到了这些字段,我正尝试通过邮递员来重复此字段。

在这里感谢您的帮助。 谢谢!

此致

切斯特

(42.8 kB)
付费偷看设置
发送
6条回答
My梦
1楼 · 2020-08-27 09:08.采纳回答

嗨,切斯特,

很显然,客户发票请求是基于诸如销售订单,客户合同,服务订单,服务确认之类的原始凭证的可开票项目。 发票运行将这些可开票项目组合成发票,然后发送给客户。

对于外部客户发票请求(通过API创建),ByD假定可开票项目的源单据不在ByD之外 系统。 BaseBusinessTransactionDocumentID 是源文档的ID。 因此从源文档所在的系统中获取它。 如果您没有原始文档,则只需输入一些唯一的ID。

最诚挚的问候,
克努特

My梦
2楼-- · 2020-08-27 08:44

亲爱的克努特,

谢谢回答! :)

此致

Chester

粗暴的香蕉
3楼-- · 2020-08-27 08:58

嗨切斯特,

从今天开始,您无法通过OData创建(手动)客户发票申请(有一些基本部分尚未启用OData)

但是,大多数客户发票请求是销售订单,服务订单,合同等中的后续凭证,并由系统自动创建。 您可以编辑和发布这些发票申请以启动客户发票的创建。

此外,您可以通过SOAP服务创建(外部)客户发票申请。

请查看博客文章< a hraf=" https://blogs.sap.com/2019/02/27/sap-business-bydesign-api-usage-samples/"> https://blogs.sap.com/2019/02/27/ sap-business-bydesign-api-usage-samples/了解更多详细信息和示例,以及如何通过OData编辑/发布发票请求以及如何使用SOAP创建发票请求。

最诚挚的问候,< br> Knut

clever101
4楼-- · 2020-08-27 09:09

你好,Knut,

现在,我的xml请求返回的状态为200 OK,但是在Note标记上,这与我在oData CustomerInvoiceRequest中说的结果是相同的错误:

 保存失败; 缺少先前文档中的项目ID  

 无法保存客户发票申请,因为缺少先前的文档ID。 报告事件。 

非常感谢您

Chester

jovirus
5楼-- · 2020-08-27 09:08

嗨切斯特,

您需要提供BaseBusinessTransactionDocumentID。

如果出现格式错误,请在以下位置找到详细的错误消息 ByD工作中心视图"业务通信监视器" >>"拒绝的Web服务调用"或通过API ReadBusinessDocumentMonitoringInformationIn。

最好的问候,
Knut

土豆飞人
6楼-- · 2020-08-27 08:49

Hello Knut,

在哪里可以获得BaseBusinessTransactionDocumentID?

感谢您的答复。

此致

Chester

一周热门 更多>