DBi Warehouse Shipments Scheduling Framework


Building Blocks

DBiWSF Objects


Developer documentation

DBI Warehouse Shipments Scheduling Framework - Using Recurrences


Providing Developer flexibility

Recurrence defines scheduled events that re-occur on a regular basis. A recurrence may be scheduled daily, weekly, monthly, quarterly or on a yearly basis. Using recurrence, exceptions may be created once and then used to assure the shipping and receiving processes are managed appropriately.


Rapid Application Development 

Recurrences provide for the scheduling of recurring loading dock exceptions (coded in the dbiWSF) or recurring shipments ( not coded as the rules surrounding them are specific to data integration).

A recurring exception can be created by setting the objRecurrence.ObjectType to RecurrenceObjectType = DockException. The recurrence object can then be set to use a recurring algorithm to determine the recurrence dates or a specific set of custom dates. The algorithm used can be determined by setting the objRecurrence.RecurrenceType:

  • Daily - Recurs daily based on Frequency.

  • Weekly - Recurs weekly based on the DaysOfWeek and Frequency.

  • Monthly - Recurs monthly based on the Frequency.

  • Custom - Allows the developer to add a collection of dates to the Recurrence object and use those accordingly.


When using the Weekly type the objRecurrence.DaysOfWeek property needs to be set to indicate which days of the week are to be included. This property is an array of type byte. This array is based on the System.Globalization.DateTimeFormatInfo.CurrentInfo.FirstDayOfWeek that is set on the application and each byte added should correspond to the day of the week.


The dbiWSFUserInterface contains a DaysOfWeek control that will generate a checkbox display of the days of the week and convert the check-boxed days into an array and conversely parse that property back out for display. The objectstartdate and objectenddate are the physical times on which to create the exception, while the RecurringStartDate and RecurringEndDate indicate the timespan for the recurrence.


For Example - a lunch time exception

So to set a daily lunch time exception you would set the ObjectStartDate = 12:00 pm and the ObjectEndDate to 1:00pm. Then set the RecurrenceStartDate = Jan 1, 2010 and the RecurrenceEndDate = Dec 31, 2010. Don�t forget the RecurrenceType = Daily.

The RecurringObjects property has been designed generically so that other recurrence types can be added, but as the framework ships with LoadingDockExceptions enabled, the RecurringObjects property would be a collection of loading dock ID GUIDs to which this recurrence object will apply. Otherwise the Recurring Exceptions behave the same as LoadingDockExceptions (more information is provided in the Using dbiWSF � Exceptions documentation).


Loading dock Exceptions and Recurring Exceptions

When used in combination with the LoadingDockExceptions there is a requirement to generalize the loadingdockexceptions and recurringexceptions especially in regard to business rules and general usage which is addressed by a special object called dbiWSF.FrameworkObjects.GenericException. This object is handled by methods on the dbiWSF.FrameworkObjects.objWSFObjects (the parent host container for the dbiWSF) called GetGenericExceptions. These methods give the developer a collection of the GenericExceptions with several overloads (by loading dock for example, and by date ranges) to provide the developer flexibility when using the exceptions.

End To End Supply Chain Visibility - DBI Warehouse Shipments Scheduling Framework

End To End Supply Chain Visibility - DBI Warehouse Shipments Scheduling Framework

End To End Supply Chain Visibility - DBI Warehouse Shipments Scheduling Framework

End To End Supply Chain Visibility - DBI Warehouse Shipments Scheduling Framework

End To End Supply Chain Visibility - DBI Warehouse Shipments Scheduling Framework

    Developer Resources
    Developing with the Framework Documented Guide
Contact Us For Favourable Licensing Details
      all rights reserved  |  copyright 1996-2022   |  Terms of Use