cancel
Showing results for 
Search instead for 
Did you mean: 

DI API - Problem with adding Correction Invoice

Former Member
0 Kudos

Hi!

I have problem with adding new Correction Invoice using DI Api. I'm trying this code:

Documents srcInvoice = SAPUtils.Instance.Company.GetBusinessObject(BoObjectTypes.oInvoices) as Documents;

                    srcInvoice.GetByKey(invoiceDocNumber);

                    Documents invoice = SAPUtils.Instance.Company.GetBusinessObject(BoObjectTypes.oCorrectionInvoice) as Documents;

                    invoice.CardCode = srcInvoice.CardCode;

                    invoice.CardName = srcInvoice.CardName;

                    invoice.HandWritten = BoYesNoEnum.tNO;

                    invoice.DocDate = new DateTime(2013, 3, 20);

                    invoice.DocType = BoDocumentTypes.dDocument_Items;

                    invoice.Series = 317;

                    invoice.Comments = "Invalid quantity.";

                    invoice.VatDate = new DateTime(2013, 1, 20);

                    //items

                    IDocument_Lines lines = invoice.Lines;

                    int lineNo = 0;

                    IDocument_Lines srcLines = srcInvoice.Lines;

                    for (int i = 0; i < srcLines.Count; i++)

                    {

                        srcLines.SetCurrentLine(i);

                        if (lineNo > 0)

                            lines.Add();

                        lines.SetCurrentLine(lineNo++);

                        lines.ItemCode = srcLines.ItemCode;

                        lines.ItemDescription = srcLines.ItemDescription;

                        lines.Price = srcLines.Price;

                        lines.Quantity = 3;

                        lines.BaseEntry = invoiceDocNumber;

                        lines.BaseLine = i;

                        lines.CorrectionInvoiceItem = BoCorInvItemStatus.ciis_ShouldBe;

                        lines.LineStatus = BoStatus.bost_Close;

                    }

                    for (int i = 0; i < srcLines.Count; i++)

                    {

                        srcLines.SetCurrentLine(i);

                        if (lineNo > 0)

                            lines.Add();

                        lines.SetCurrentLine(lineNo++);

                        lines.ItemCode = srcLines.ItemCode;

                        lines.ItemDescription = srcLines.ItemDescription;

                        lines.Price = srcLines.Price;

                        lines.Quantity = srcLines.Quantity;

                        lines.BaseEntry = invoiceDocNumber;

                        lines.BaseLine = i;

                        lines.CorrectionInvoiceItem = BoCorInvItemStatus.ciis_Was;

                        lines.LineStatus = BoStatus.bost_Close;

                    }

                    int result = invoice.Add();

                    Console.WriteLine(result);

                    if (result == 0)

                        Console.WriteLine("Invoice added");


But when it comes to invoice.Add() program suddenly crashes. I get info that vshost32.exe has stopped working. What I am doing wrong?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi

Thank you for your answer. I found solution myself .

-Ewa

Answers (1)

Answers (1)

former_member183750
Active Contributor
0 Kudos

Hi Ewa

Each SCN forum, under the Overview tab, describes the products it is designed for. In this case:

Based on the above, I suspect you  posted your query in an incorrect SCN Space. Unfortunately, you do not mention what SAP product you are working with, so I am not able to recommend a Space for you.

- Ludek

SCN Moderator

Senior Support Engineer AGS Product Support, Global Support Center Canada