Constraints On Dates (feature)

From UG

Revision as of 18:49, 12 January 2010 by Alex (Talk | contribs)
Jump to: navigation, search


Contents

Parent Mantis

tbd

Business Need

We have a number of constraints / validation rules that we need to enforce for dates.

Requirements

All detailed requirements have been translated into specifications - see below.

Technical Specification

Summary

List of constraints on dates:


User Interface

There is no UI here except some pop-up messages.

Functionality: Point in Time When Data is Tested against Constraints

Ideally this should happen real-time any time date is entered. But because of a glitch in a framework (or lack of our knowledge of workaround) we can only test it "on Save".


Functionality: Order Constraint Based On Chronological Order

"On save" check the following order. See #Chronological Order.

no1 <= no2 <= no3 <= ... 

If order is incorrect the show pop-up:

In CT#XXX, date <date name> can not be <earlier/later> than date <date name>" [OK].

Chronological Order

AIR:


[no1] [I] [----------------] (      Act) Created on Date
[no2] [I] [----------------] (      Act) Notification Date
[no3] [I] [----------------] (      Act) Authorized on

[no4] [I] [COLLECTION EVENT] (Est / Act) Pick-up date 

[no5] [M] [DEPARTURE EVENT ] (Est / Act) Airport of Departure 

[no6] [M] [----------------] (Est / Act) Trans-shipment Airport 

[no7] [M] [ARRIVAL EVENT   ] (Est / Act) Airport of Discharge 

[no8] [I] [----------------] (      Act) Customs Status Date 
[no9] [I] [----------------] (      Act) FDA Status Date 

[no10][I] [DELIVERY EVENT  ] (Est / Act) Delivery Date 


FCL:


[no1] [I] [----------------] (      Act) Created on Date
[no2] [I] [----------------] (      Act) Notification Date
[no3] [I] [----------------] (      Act) Authorized on

[no4] [I] [COLLECTION EVENT] (Est / Act) Pick-up date, Container 1 
[no4] [I] [COLLECTION EVENT] (Est / Act) Pick-up date, Container 2 (FCL only)
... 
[no4] [I] [COLLECTION EVENT] (Est / Act) Pick-up date, Container N (FCL only)

[no5] [I] [DEPARTURE EVENT ] (Est / Act) Origin Terminal
[no6] [M] [--------------- ] (Est / Act) Port Of Loading
[no7] [M] [----------------] (Est / Act) Port Of Trans-shipment
[no8] [M] [----------------] (Est / Act) Port Of Discharge
[no9] [I] [ARRIVAL EVENT   ] (Est / Act) Destination Terminal

[---] [I] [----------------] (      Act) Customs Status Date 
[---] [I] [----------------] (      Act) FDA Status Date 

[no10] [I] [DELIVERY EVENT  ] (Est / Act) Delivery Date, Container 1 
[no10] [I] [DELIVERY EVENT  ] (Est / Act) Delivery Date, Container 2 (FCL only) 
...
[no10] [I] [DELIVERY EVENT  ] (Est / Act) Delivery Date, Container N (FCL only) 

LCL:


[no1] [I] [----------------] (      Act) Created on Date
[no2] [I] [----------------] (      Act) Notification Date
[no3] [I] [----------------] (      Act) Authorized on

[no4] [I] [COLLECTION EVENT] (Est / Act) Pick-up date 

[no5] [I] [DEPARTURE EVENT ] (Est / Act) Origin Terminal
[no6] [M] [--------------- ] (Est / Act) Port Of Loading
[no7] [M] [----------------] (Est / Act) Port Of Trans-shipment
[no8] [M] [----------------] (Est / Act) Port Of Discharge
[no9] [I] [ARRIVAL EVENT   ] (Est / Act) Destination Terminal

[---] [I] [----------------] (      Act) Customs Status Date 
[---] [I] [----------------] (      Act) FDA Status Date 

[no10] [I] [DELIVERY EVENT  ] (Est / Act) Delivery Date

TRUCK-AIR:


[no1] [I] [----------------] (      Act) Created on Date
[no2] [I] [----------------] (      Act) Notification Date
[no3] [I] [----------------] (      Act) Authorized on

[no4] [I] [COLLECTION EVENT?] (Est / Act) Pick-up date 

[no5][I] [DELIVERY EVENT?  ] (Est / Act) Delivery Date 

TRUCK-DOM:


[no1] [I] [----------------] (      Act) Created on Date
[no2] [I] [----------------] (      Act) Notification Date
[no3] [I] [----------------] (      Act) Authorized on

[no4] [I] [COLLECTION EVENT?] (Est / Act) Pick-up date 

[no5][I] [DELIVERY EVENT?  ] (Est / Act) Delivery Date 


TRUCK-OCN:


[no1] [I] [----------------] (      Act) Created on Date
[no2] [I] [----------------] (      Act) Notification Date
[no3] [I] [----------------] (      Act) Authorized on

[no4] [I] [COLLECTION EVENT] (Est / Act) Pick-up date, Container 1 
[no4] [I] [COLLECTION EVENT] (Est / Act) Pick-up date, Container 2 (FCL only)
... 
[no4] [I] [COLLECTION EVENT] (Est / Act) Pick-up date, Container N (FCL only)

[no5] [I] [DELIVERY EVENT  ] (Est / Act) Delivery Date, Container 1 
[no5] [I] [DELIVERY EVENT  ] (Est / Act) Delivery Date, Container 2 (FCL only) 
...
[no5] [I] [DELIVERY EVENT  ] (Est / Act) Delivery Date, Container N (FCL only) 


Functionality: Required Pre-condition Constraint

The following validation must be implemented "on Save":

OCEAN:

Issue error pop-up if “actual departure date” is entered but there is no “container number”.

Issue error pop-up if “actual arrival date” is entered but there is no “actual departure date”

Issue error pop-up if “delivery date” is entered but there is no “actual arrival date” set.

AIR:

Issue error pop-up if “actual departure date” is entered but there is no “Master Air Waybill #”

Issue error pop-up if “actual arrival date” is entered but there is no “actual departure date”

Issue error pop-up if “delivery date” is entered but there is no “actual arrival date” set.


Related Error Messages

Ocean:

“A container number must be entered before the actual departure date can be confirmed”

“The actual departure date must be confirmed before the actual arrival date can be confirmed”

“The actual arrival date must be confirmed before the actual delivery date can be confirmed”

Air:

“A MAWB number must be entered before the actual departure date can be confirmed”

“The actual departure date must be confirmed before the actual arrival date can be confirmed”

“The actual arrival date must be confirmed before the actual delivery date can be confirmed”

Functionality: Actual Date Can Not Be A Future Date Constraint

If user is trying to set any actual dates (see below) to the future date system must issue pop up: "Error while saving: <name of the date> can not be in the future [OK]".

List of actual dates in the system

UNDEF:

  • Gentab.Actual export pickup

Truck-Dom:

  • Gentab.Actual export pickup
  • Gentab.Actual Delivery

Truck-Air:

  • Gentab.Actual export pickup
  • Gentab.Actual Delivery

Truck-Ocn:

  • Conttab.Containers.ContainerX.Actual collection
  • Conttab.Containers.ContainerX.Actual Delivery

AIR:

Gentab:

  • Actual export pickup

Exptab:

  • Airport of Departure. ATD
  • Trans-shipment Airport.ATD
  • Airport Of Destination. ATD

ImpTab:

  • Actual Delivery Date

LCL:

Gentab:

  • Actual export pickup

Exptab:

  • Origin Terminal ATD
  • Port Of Loading ATD
  • Port Of Trans-shipment ATA
  • Port Of Discharge ATA
  • Destination Terminal ATA

ImpTab:

  • Actual Delivery Date


FCL:

Conttab.Containers:

  • ContainerX.Actual collection
  • ContainerX.Actual Delivery

Exptab:

  • Origin Terminal ATD
  • Port Of Loading ATD
  • Port Of Trans-shipment ATA
  • Port Of Discharge ATA
  • Destination Terminal ATA

Special case: CTs under Groups and Masters

In this case change to one date field can be applied to multiple CTs potentially breaking date constraints on multiple records.

In this case system must verify all related records and display error that spells out WHAT dates on WHAT records are breaking WHAT constraint.

Figures

Figure: XXX

History

Non Critical Bugs and RFC

bug1) error is not specific to what date in what CT there is a problem

bug2) even if problem with ordering of actual dates system complains about "estimated"

DB