PdcPurchaseInvoices.CreateIncomingGoodsProcessor
Declaration
CreateIncomingGoodsProcessor(CalculationNo as String) as PdcCalculation
Description
Opens and returns an existing Calculation object
Notes
The open calculation method returns an existing calculation object, without form. To show this calculation, you have to call the 'Show' method of the calculation object.
CalculationNo = Number of the calculation that should be opened
Code example
This example creates an incominggood line for id 583.
VBScript
dim oIcProc
set oIcProc = pdc.logistics.incominggoods.CreateIncomingGoodsProcessor(583)
oIcProc.DeliveryDate = Date
oIcProc.QuantityDelivered = 364
oIcProc.ToLocation = "C13"
'For a partial delivery without afterdelivery: oIncGd.ForceDeliveryComplete = True
If Not oIcProc.Process() Then
msgbox pdc.lasterror
End If
set oIcProc = nothing
This example creates an incominggood line for all positions of purchaseorder 583.
VB.NET
Dim AllOK As Boolean = True
Dim qoPO As PDCEXT.IDBQuery = PDC.App.Database.OpenQuery(PDCEXT.pdcConnectionKind.pdcConData)
qoPO.SQL = $"select bk_nr, bk_levnr, in_id, in_besh
from bk_bestel inner join
totinkoop on upper(bk_nr) = upper(in_nr)
where bk_id = :PurchaseOID"
qoPO.SetParamInt("PurchaseOID", 583)
If qoPO.Execute Then
qoPO.FirstRecord()
If Not qoPO.Eof Then
If Not qoPO.GetBool("in_levcomp") Then
Do While Not qoPO.Eof
Dim oIncGd As PDCEXT.IIncomingGoodsProcessor = PDC.App.Logistics.IncomingGoods.CreateIncomingGoodsProcessor(qoPO.GetInt("in_id"))
oIncGd.DeliveryDate = Date.Today
oIncGd.QuantityDelivered = qoPO.GetBool("in_besh")
'For a partial delivery without afterdelivery: oIncGd.ForceDeliveryComplete = True
'when a location is mandatory: oIncGd.ToLocation = "17A"
If Not oIncGd.Process() Then
AllOK = False
ErrSb.AppendLine($"Purchaseorder id {vPOID} (functionname): Error creating incominggoods for purchaseorderline {qoPO.GetInt("in_id")}.")
ErrSb.AppendLine($"{PDC.App.LastError}.")
Exit Do
End If
qoPO.NextRecord()
Loop
Else
AllOK = False
ErrSb.AppendLine($"Purchaseorder id {vPOID} (functionname): Purchaseorderline {qoPO.GetInt("in_id")} is already booked.")
End If
Else
AllOK = False
ErrSb.AppendLine($"Purchaseorder id {vPOID} (functionname): This purchaseorder has no lines.")
End If
Else
AllOK = False
ErrSb.AppendLine($"Error on loading purchaseorder data {vPOID} (functionname):")
ErrSb.AppendLine($"Message: {PDCQueries.GetStr(PDC.App.LastError)}")
ErrSb.AppendLine($"SQL: {qoPO.SQL}")
End If
releaseObject(qoPO)
Return AllOK
Availability
Available since April 2014 (version 4.3 onwards).