Table of Contents

GOB EIP Update Shpt. Dates

Properties

Property Value
Object Type Codeunit
Object Subtype Normal
Object ID 5320701
Accessibility Level Public

Procedures

UpdateShipmentDates()

A job-queue-viable function to calculate and update the earliest possible shipment dates of all document lines. It also logs delays. Works mostly analogous to the shipment date projection in codeunit 5234592 "GOB Shipment Date Projection". The shipment date projection is done by calculating the availability, followed by a standard BC CTP if needed. This function does not decrease allocation priorities (which normal shipment date projection does), so all document are considered equally, depending only on their natural allocation priority. Assembly and production documents are calculated but not included in the update to prevent issues with production planning.

To enable delay logging, this function must be called on a regular periodically (e.g. by adding this codeunit to the job queue) alongside with the required setup.

This function is also called in the OnRun() trigger.

Syntax

UpdateShipmentDates(LocationFilter: Text, ItemNoFilter: Text, HideConfirmation: Boolean)

Parameters

LocationFilter
 Type: Text

A location filter. Must only contain locations with valid availability setup.

ItemNoFilter
 Type: Text

An item filter.

HideConfirmation
 Type: Boolean

Set to run silent.

UpdateDocuments()

Syntax

UpdateDocuments(var TempGOBAvailabilityEntryOutbound: Record "GOB Availability Entry" temporary, var TempGOBAvailabilityEntryResult: Record "GOB Availability Entry" temporary, var DocumentLinesToUpdate: Dictionary of [RecordId, Date], var DocumentLinesDelayed: Dictionary of [RecordId, List of [Date]], HideConfirmation: Boolean)

Parameters

TempGOBAvailabilityEntryOutbound
 Type: Record "GOB Availability Entry"

TempGOBAvailabilityEntryResult
 Type: Record "GOB Availability Entry"

DocumentLinesToUpdate
 Type: Dictionary of [RecordId, Date]

DocumentLinesDelayed
 Type: Dictionary of [RecordId, List of [Date]]

HideConfirmation
 Type: Boolean

EligibleForUpdate()

Syntax

[Boolean] := EligibleForUpdate(TempGOBAvailabilityEntryOutbound: Record "GOB Availability Entry" temporary, TempGOBAvailabilityEntryResult: Record "GOB Availability Entry" temporary, CalculatedEarliestShipmentDate: Date)

Parameters

TempGOBAvailabilityEntryOutbound
 Type: Record "GOB Availability Entry"

TempGOBAvailabilityEntryResult
 Type: Record "GOB Availability Entry"

CalculatedEarliestShipmentDate
 Type: Date

DelayLoggingRequired()

Syntax

[Boolean] := DelayLoggingRequired(TempGOBAvailabilityEntryOutbound: Record "GOB Availability Entry" temporary, TempGOBAvailabilityEntryResult: Record "GOB Availability Entry" temporary, CalculatedEarliestShipmentDate: Date)

Parameters

TempGOBAvailabilityEntryOutbound
 Type: Record "GOB Availability Entry"

TempGOBAvailabilityEntryResult
 Type: Record "GOB Availability Entry"

CalculatedEarliestShipmentDate
 Type: Date

UpdateRequired()

Syntax

[Boolean] := UpdateRequired(var TempGOBAvailabilityEntryOutbound: Record "GOB Availability Entry" temporary, var CalculatedEarliestShipmentDate: Date)

Parameters

TempGOBAvailabilityEntryOutbound
 Type: Record "GOB Availability Entry"

CalculatedEarliestShipmentDate
 Type: Date

ConfirmDelay()

Syntax

[Boolean] := ConfirmDelay(var HideConfirmation: Boolean)

Parameters

HideConfirmation
 Type: Boolean

UpdateDocumentShipmentDate()

Syntax

UpdateDocumentShipmentDate(DocLine: RecordId, NewShipmentDate: Date)

Parameters

DocLine
 Type: RecordId

NewShipmentDate
 Type: Date

GetActiveTablesForDelayLogging()

Syntax

[List of [Integer]] := GetActiveTablesForDelayLogging()

OnBeforeUpdateShipmentDates()

Syntax

OnBeforeUpdateShipmentDates(LocationFilter: Text, ItemNoFilter: Text, HideConfirmation: Boolean, var IsHandled: Boolean)

Parameters

LocationFilter
 Type: Text

ItemNoFilter
 Type: Text

HideConfirmation
 Type: Boolean

IsHandled
 Type: Boolean

OnAfterUpdateShipDates()

Syntax

OnAfterUpdateShipDates(var TempGOBAvailabilityEntryOutbound: Record "GOB Availability Entry" temporary, var TempGOBAvailabilityEntryResult: Record "GOB Availability Entry" temporary, DocumentLinesDelayed: Dictionary of [RecordId, List of [Date]], DocumentsLinesToUpdate: Dictionary of [RecordId, Date], HideConfirmation: Boolean)

Parameters

TempGOBAvailabilityEntryOutbound
 Type: Record "GOB Availability Entry"

TempGOBAvailabilityEntryResult
 Type: Record "GOB Availability Entry"

DocumentLinesDelayed
 Type: Dictionary of [RecordId, List of [Date]]

DocumentsLinesToUpdate
 Type: Dictionary of [RecordId, Date]

HideConfirmation
 Type: Boolean

OnAfterGetActiveTablesForDelayLogging()

Syntax

OnAfterGetActiveTablesForDelayLogging(var ActiveTablesForDelayLogging: List of [Integer], var SkipShipDateCalcStatusfield-check: Boolean)

Parameters

ActiveTablesForDelayLogging
 Type: List of [Integer]

SkipShipDateCalcStatusfield-check
 Type: Boolean

OnUpdateDocumentShipmentDate_NewDocType()

Syntax

OnUpdateDocumentShipmentDate_NewDocType(DocLine: RecordId, NewShipmentDate: Date)

Parameters

DocLine
 Type: RecordId

NewShipmentDate
 Type: Date

OnAfterUpdateDocumentShipmentDate()

Syntax

OnAfterUpdateDocumentShipmentDate(DocLine: RecordId, NewShipmentDate: Date)

Parameters

DocLine
 Type: RecordId

NewShipmentDate
 Type: Date

OnFindDocumentLineToUpdate()

Syntax

OnFindDocumentLineToUpdate(var TempGOBAvailabilityEntryOutbound: Record "GOB Availability Entry" temporary, var TempGOBAvailabilityEntryResult: Record "GOB Availability Entry" temporary, var DocumentLinesToUpdate: Dictionary of [RecordId, Date], var DocumentLinesDelayed: Dictionary of [RecordId, List of [Date]], var SkipEntry: Boolean)

Parameters

TempGOBAvailabilityEntryOutbound
 Type: Record "GOB Availability Entry"

TempGOBAvailabilityEntryResult
 Type: Record "GOB Availability Entry"

DocumentLinesToUpdate
 Type: Dictionary of [RecordId, Date]

DocumentLinesDelayed
 Type: Dictionary of [RecordId, List of [Date]]

SkipEntry
 Type: Boolean

OnAfterEligibleForUpdate()

Syntax

OnAfterEligibleForUpdate(var TempGOBAvailabilityEntryOutbound: Record "GOB Availability Entry" temporary, var TempGOBAvailabilityEntryResult: Record "GOB Availability Entry" temporary, CalculatedEarliestShipmentDate: Date, var ReturnValue: Boolean)

Parameters

TempGOBAvailabilityEntryOutbound
 Type: Record "GOB Availability Entry"

TempGOBAvailabilityEntryResult
 Type: Record "GOB Availability Entry"

CalculatedEarliestShipmentDate
 Type: Date

ReturnValue
 Type: Boolean

OnAfterDelayLoggingRequired()

Syntax

OnAfterDelayLoggingRequired(var TempGOBAvailabilityEntryOutbound: Record "GOB Availability Entry" temporary, var TempGOBAvailabilityEntryResult: Record "GOB Availability Entry" temporary, CalculatedEarliestShipmentDate: Date, var ReturnValue: Boolean)

Parameters

TempGOBAvailabilityEntryOutbound
 Type: Record "GOB Availability Entry"

TempGOBAvailabilityEntryResult
 Type: Record "GOB Availability Entry"

CalculatedEarliestShipmentDate
 Type: Date

ReturnValue
 Type: Boolean

OnAfterUpdateRequired()

Syntax

OnAfterUpdateRequired(var TempGOBAvailabilityEntryOutbound: Record "GOB Availability Entry" temporary, var CalculatedEarliestShipmentDate: Date, var ReturnValue: Boolean)

Parameters

TempGOBAvailabilityEntryOutbound
 Type: Record "GOB Availability Entry"

CalculatedEarliestShipmentDate
 Type: Date

ReturnValue
 Type: Boolean