Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 27 Next »

Use this event to

Handle collected values from Header Steps for any of four different Receive Order sources.

Description

This event is used to handle collected "header" level steps and is executed only once per order posting from the mobile device.

Like other Receive "Any"-events, this event is executed for all four different receive document sources (Warehouse Receipt, Purchase Order, Transfer Order and Sales Return Order).
If you are implementing changes for a specific document source, you likely should use one of the document-source-specific events (see "This event is executed afterwards", below).

Examples of use could be:

  • Write collected values to new or existing fields in the database that can subsequently can be accessed from standard posting function events.
  • Validate collected values against live data since registration at the mobile device is mostly conducted offline.
  • Set arguments in standard BC posting routines prior to posting.
  • But not to process "line" level steps. Steps added via OnAddStepsToAnyLine[...] is better handled via OnPostReceiveOrder_OnHandleRegistrationFor...-events.


Commit

Database transactions in this event is committed to database prior to calling standard BC posting routines. Your customized code must be structured accordingly.

Nearly always you must subscribe to standard BC posting events to do your actual processing to ensure rollback of database transactions on error.

Note: The "Whse.-Post Receipt" codeunit includes several unconditional commits in standard code, including for every source document posted. If you need to rely on standard code rollback for your custom code for Warehouse Receipts, this needs to be taken into account and the standard integration event you are subscribing to must be selected carefully.


If your code is not specific for Warehouse Receipts consider using the OnPostReceiveOrder_OnBeforePostAnyOrder event.


Description

The event is mostly used to validate collected "header" level steps (added from OnGetReceiveOrderLines_OnAddStepsToAnyHeader) and to write collected header level steps values to fields in the database that subsequently can be accessed from standard posting function events.


Steps added at "line" level via OnGetReceiveOrderLines_OnAddStepsToAnyLine is generally handled via OnHandleRegistrationFor[...]-events.


Commit

Database transactions in [...]OnBeforePostAnyOrder is committed to database prior to calling standard posting function.s Your customized code must be structured accordingly.

You may subscribe to standard posting events to ensure rollback of your database transactions or trigger events on-after posting, if this is required for your code.

Note: Standard posting functions includes several unconditional commits in standard code. If you need to rely on standard code rollback for your custom code, this needs to be taken into account and the standard integration event you are subscribing to needs to be selected carefully.


Event is executed after each of these following events:

OnPostReceiveOrder_OnBeforePostWarehouseReceipt
OnPostReceiveOrder_OnBeforePostPurchaseOrder
OnPostReceiveOrder_OnBeforePostTransferOrder
OnPostReceiveOrder_OnBeforePostSalesReturnOrder


See also: 
OnGetReceiveOrderLines_OnAddStepsToAnyHeader
OnPostReceiveOrder_OnHandleRegistrationForAnyLine
How-to: Subscribe to standard events in BC base app


Template

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnBeforePostAnyOrder''', true, true)]
    procedure OnPostReceiveOrder_OnBeforePostAnyOrder(var _OrderValues: Record "MOB Common Element"; var _RecRef: RecordRef)
    begin
    end;



Examples


Version History

Version

Changes

MOB5.11Introduced
  • No labels