通过ABSL在ByD中创建供应商发票

2020-09-01 09:51发布

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

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


亲爱的同事,

我尝试以编程方式创建最简单的供应商发票。

不幸的是,我停留在以下代码上:

导入ABSL;
 导入AP.SupplierInvoicing.Global;
 进口AP.FO.Product.Global;
 导入AP.FO.Party.Global;

 var date = Date.Create(2015,10,5);

//供应商发票
 var SupplierInvoiceData:SupplierInvoice的元素;
 providerInvoiceData.TypeCode =" 004"; //发票
 SupplierInvoiceData.Date =日期;
 SupplierInvoiceData.DocumentItemsGrossAmountIndicator = false;
 SupplierInvoiceData.ReceiptDate =日期;
 SupplierInvoiceData.TransactionDate =日期;
//supplierInvoiceData.GrossAmount.content = 264;
 providerInvoiceData.GrossAmount.currencyCode =" GBP";
 var SupplierInvoice = SupplierInvoice.Create(SupplierInvoiceData);

//外部文件ID
 var businessTransactionDocumentReference:SupplierInvoice.BusinessTransactionDocumentReference的元素;
 businessTransactionDocumentReference.BusinessTransactionDocumentRelationshipRoleCode =" 7";
 businessTransactionDocumentReference.BusinessTransactionDocumentReference.ID.content =" EXT1236";
 businessTransactionDocumentReference.BusinessTransactionDocumentReference.TypeCode =" 28";
 SupplierInvoice.BusinessTransactionDocumentReference.Create(businessTransactionDocumentReference);

//设置卖方聚会
 var partyData:SupplierInvoice.Party的元素;
 partyData.PartyKey.PartyID.content =" S100200";
 SupplierInvoice.SellerParty.Create(partyData);

//设置买家聚会
 partyData.PartyKey.PartyID.content =" 1000";
 partyData.PartyKey.PartyID.content = partyData.PartyKey.PartyID.content.AddLeadingZeros();
 SupplierInvoice.BuyerParty.Create(partyData);

 var item1 = providerInvoice.Item.Create();
 item1.ItemProduct.ProductKey.ProductID.content =" P100109";
 item1.Quantity.content = 1;
 item1.NetUnitPrice.Amount.content = 220;
 item1.TaxCalculationItem.TaxationCharacteristicsCode.content =" 2";
 foreach(item1.ItemAccountingCodingBlockDistribution.AccountingCodingBlockAssignment中的var accountingCodingBlockAssignment){
 accountingCodingBlockAssignment.GeneralLedgerAccountAliasCode.content =" A-7460";
 }

 SupplierInvoice.CalculateGrossAmount();
 SupplierInvoice.FinishDataEntryProcessing();

 返回;

 

保存时,我收到错误消息:

至少有两条我很难理解的错误消息:

-缺少项目1.1的帐户分配数据

-余额不等于零

我可以在调试器中看到所有提到的字段都填充有正确的值,并且BalanceAmount =0。

除此之外,我成功地(通过工作中心)手动创建了一些具有相同数据的供应商发票

请,您能告诉我代码中哪些不正确吗?

谢谢。

000130.jpg (20.0 kB)

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

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


亲爱的同事,

我尝试以编程方式创建最简单的供应商发票。

不幸的是,我停留在以下代码上:

导入ABSL;
 导入AP.SupplierInvoicing.Global;
 进口AP.FO.Product.Global;
 导入AP.FO.Party.Global;

 var date = Date.Create(2015,10,5);

//供应商发票
 var SupplierInvoiceData:SupplierInvoice的元素;
 providerInvoiceData.TypeCode =" 004"; //发票
 SupplierInvoiceData.Date =日期;
 SupplierInvoiceData.DocumentItemsGrossAmountIndicator = false;
 SupplierInvoiceData.ReceiptDate =日期;
 SupplierInvoiceData.TransactionDate =日期;
//supplierInvoiceData.GrossAmount.content = 264;
 providerInvoiceData.GrossAmount.currencyCode =" GBP";
 var SupplierInvoice = SupplierInvoice.Create(SupplierInvoiceData);

//外部文件ID
 var businessTransactionDocumentReference:SupplierInvoice.BusinessTransactionDocumentReference的元素;
 businessTransactionDocumentReference.BusinessTransactionDocumentRelationshipRoleCode =" 7";
 businessTransactionDocumentReference.BusinessTransactionDocumentReference.ID.content =" EXT1236";
 businessTransactionDocumentReference.BusinessTransactionDocumentReference.TypeCode =" 28";
 SupplierInvoice.BusinessTransactionDocumentReference.Create(businessTransactionDocumentReference);

//设置卖方聚会
 var partyData:SupplierInvoice.Party的元素;
 partyData.PartyKey.PartyID.content =" S100200";
 SupplierInvoice.SellerParty.Create(partyData);

//设置买家聚会
 partyData.PartyKey.PartyID.content =" 1000";
 partyData.PartyKey.PartyID.content = partyData.PartyKey.PartyID.content.AddLeadingZeros();
 SupplierInvoice.BuyerParty.Create(partyData);

 var item1 = providerInvoice.Item.Create();
 item1.ItemProduct.ProductKey.ProductID.content =" P100109";
 item1.Quantity.content = 1;
 item1.NetUnitPrice.Amount.content = 220;
 item1.TaxCalculationItem.TaxationCharacteristicsCode.content =" 2";
 foreach(item1.ItemAccountingCodingBlockDistribution.AccountingCodingBlockAssignment中的var accountingCodingBlockAssignment){
 accountingCodingBlockAssignment.GeneralLedgerAccountAliasCode.content =" A-7460";
 }

 SupplierInvoice.CalculateGrossAmount();
 SupplierInvoice.FinishDataEntryProcessing();

 返回;

 

保存时,我收到错误消息:

至少有两条我很难理解的错误消息:

-缺少项目1.1的帐户分配数据

-余额不等于零

我可以在调试器中看到所有提到的字段都填充有正确的值,并且BalanceAmount =0。

除此之外,我成功地(通过工作中心)手动创建了一些具有相同数据的供应商发票

请,您能告诉我代码中哪些不正确吗?

谢谢。

000130.jpg (20.0 kB)
付费偷看设置
发送
3条回答
何必丶何苦呢
1楼-- · 2020-09-01 10:22

您好Alexsei

令我惊讶的是,您能够手动输入数据,而不是通过absl编码输入数据。 我建议您首先只保存条目(不包括操作)并检查数据。 由此,我将继续。

最诚挚的问候

马琳

PS:很难在不知道您的数据的情况下提供合格的建议。

d56caomao
2楼-- · 2020-09-01 10:20

亲爱的马琳,

我刚刚保存了一份新供应商发票,其中的数据与absl代码中的数据完全相同(但外部文件ID)。

我担心屏幕截图的质量不是很好,因为我不得不缩小比例以捕获整个视图。

仅在点击"检查"按钮之后。 保存后,我收到一条带有新ID的消息,即供应商发票= SIV-1384。

现在,我们可以在下面的列表中看到发票。 在此之前,SIV-1382和SIV-1383也以相同的方式(但数量)创建。

我曾经创建没有采购订单的发票。

非常感谢

Aleksei

CJones
3楼-- · 2020-09-01 10:36

嗨,这个解决了吗? 我只是尝试做同样的事情,并得到同样的结果。

4个错误

缺少外部ID

缺少帐户分配

创建被禁止

无法更改

我们将提供一些帮助或指导。

一周热门 更多>