Dear All,
I am using DIAPI for developing an addOn. In that I am adding record into Goods Reciept PO using oPurchaseDeliveryNotes business object.
I am attaching my coding for your reference.,
=========================================================================
Dim oInvGenEntry As SAPbobsCOM.Documents
oInvGenEntry = vcmp.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseDeliveryNotes)
oInvGenEntry.CardCode = "V002"
oInvGenEntry.HandWritten = tNO
oInvGenEntry.DocDate = "19/02/2008"
oInvGenEntry.Lines.SerialNumbers.SystemSerialNumber = 111 oInvGenEntry.Lines.SerialNumbers.ManufacturerSerialNumber = 222 oInvGenEntry.Lines.SerialNumbers.InternalSerialNumber = 333
oInvGenEntry.Lines.SerialNumbers.BaseLineNumber = 0
oInvGenEntry.Lines.SerialNumbers.SetCurrentLine(i)
oInvGenEntry.Lines.SerialNumbers.Add()
oInvGenEntry.Lines.ItemCode = oItems.ItemCode
oInvGenEntry.Lines.ItemDescription = oItems.ItemName
oInvGenEntry.Lines.WarehouseCode = "01"
oInvGenEntry.Lines.Currency = CurrencyComboBox.SelectedItem
oInvGenEntry.Lines.Price = CDbl(PriceText.Text)
oInvGenEntry.Lines.Rate = 2
oInvGenEntry.Lines.ShipDate = Now
oInvGenEntry.Lines.Quantity = CDbl(QuantityText.Text)
oInvGenEntry.Lines.DiscountPercent = CDbl(DiscountText.Text)
oInvGenEntry.PaymentGroupCode = -1
oInvGenEntry.DocTotal = 1
RetVal = oInvGenEntry.Add()
If RetVal <> 0 Then
MsgBoxLabel.Text = ErrCode & " " & ErrMsg
end if
=========================================================================
When i am executing the above code i am getting error as below
[PDN1.WhsCode][line: 1] , 'P001 cannot be released from stock without a full selection of serial/batch no.'
I am able to add items without serial no. But I want a solution to add items with serial no.
Please help me to resolve this issue.
thanks
regards,
Benjamin Rosary.B
benjamin,
when you have only one serial number don't add a empty line
i recommend you to remove
oInvGenEntry.Lines.SerialNumbers.Add()
which adds a new data line
regards
David
I am presuming your SAPB1's connections is correctly. This C# sample works for me. In this case "P00128" and "ART0334" are CardCode, ItemCode respectively in my company;
------------------------------------------
Console.WriteLine("Connection established, the company is: " + oCompany.CompanyName);
SAPbobsCOM.Documents documents = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPurchaseDeliveryNotes);
documents.CardCode = "P00128";
documents.HandWritten = SAPbobsCOM.BoYesNoEnum.tNO;
documents.DocDate = DateTime.Today;
documents.DocDueDate = DateTime.Today;
documents.Lines.ItemCode = "ART0334";
documents.Lines.ItemDescription = "Art";
documents.Lines.WarehouseCode = "01";
documents.Lines.Currency = "USD";
documents.Lines.Price = 10.0;
documents.Lines.ShipDate = DateTime.Today;
documents.Lines.Quantity = 1.0;
documents.Lines.DiscountPercent = 0.0;
documents.Lines.BatchNumbers.Quantity = 1;
documents.Lines.BatchNumbers.ManufacturerSerialNumber = "SerialNumber";
documents.Lines.BatchNumbers.InternalSerialNumber = "SerialNumber";
documents.Lines.BatchNumbers.BatchNumber = "SerialNumber";
documents.Lines.BatchNumbers.SetCurrentLine(0);
documents.Lines.BatchNumbers.Add();
int resp=documents.Add();
if(resp != 0)
{
Console.WriteLine("ErrorCode:" + oCompany.GetLastErrorCode());
Console.WriteLine("Description:" + oCompany.GetLastErrorDescription());
}
oCompany.Disconnect();
Add a comment