cancel
Showing results for 
Search instead for 
Did you mean: 

Goods Receipt PO - addition thru DI API

Former Member
0 Kudos
3,040

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

Accepted Solutions (1)

Accepted Solutions (1)

Nussi
Active Contributor

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

Former Member
0 Kudos

Hi david,

Thanks for ur reply.

I removed this line = > oInvGenEntry.Lines.SerialNumbers.Add() from my coding.

But still i am getting the same error. pls give me any suggestion about this problem.

Regards.,

Benjamin Rosary.B

Nussi
Active Contributor
0 Kudos

the last idea i have that you should try it with

oInvGenEntry.Lines.BatchNumbers.

keep in mind that you here you have

BatchNumber as mandatory field

regards

David

Former Member
0 Kudos

hi David,

Thanks for ur idea.

Ref.of DI API - Help file,

SystemSerialNumber - This property is mandatory when using Serial Numbers for outgoing documents(field name: SysSerial in OSRI table)

BatchNumber is not a mandatory field.

I have checked all the possiblities with this code.

Regards,

Benjamin Rosary.B

Nussi
Active Contributor
0 Kudos

i meant you have two possibilites for an item:

an item can be a serial item or a batch item

oDoc.Lines.SerialNumbers.SetCurrentLine

oDoc.Lines.SerialNumbers.SystemSerialNumber = "x"

and

oDoc.Lines.BatchNumbers.SetCurrentLine

oDoc.Lines.BatchNumbers.BatchNumber = "y"

anyway - when you testet both i have no more idea

regards

David

Answers (2)

Answers (2)

Former Member
0 Kudos

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();

Former Member
0 Kudos

Hi BENJAMIN ROSARY

Have you got the solution of the error you are getting. If yes , please help me. I am getting the Same error on GRPO addition thru DI API