Price Expiration Process

From Agility
Revision as of 10:17, 5 July 2017 by Sosenka (Talk | contribs) (Form changes)

Jump to: navigation, search

Technical Specification

Database changes

Table inSupplierItem new fields:

Tab1.png

New system parameters in Inventory\PurchaseOrders:

Newtab2.png

Required code changes

This functionality will be controlled by system parameter Inventory\PurchaseOrders\UseSupplierPriceExpiry.

ItemBO business object, generateReorderData method change to include supplier price expiration details in result. It will be used to display and control purchase order generation. New ItemBO business action “SetPriceRequired” to manually set the price status to “Required” and actions “SetPriceValid”, “SetPriceSubmitted” and “SetPriceOverdue” setting corresponding statuses. “SetPriceSubmitted” will set PriceExpiryRequestDate to current date-time, and “SetPriceValid” and every item save when status is set to “Valid” will validate if PriceExpiryDate is set and is not expired.

ReorderDataDS dataset of ReorderDataBO need to be extended to include supplier price expiration details.

PurchaseOrderBO business objects requires additional validation rule which will prevent from saving the purchase order which contains lines with items which have expired price. It will generate validation error message i.e. “Price has expired for item XXX. Purchase order cannot be created for that item.”.

MoveBO business object change to monitor on every movement document created if item uses price expiration and its quantity goes below minimum stock level and if it occurs it will set item price expiration status to “Required”.

Form changes

All form changes have to be visible only when system parameter Inventory\PurchaseOrders\UseSupplierPriceExpiry.


Obraz1.1.png


Inventory Item detail form (“AGinItemDetailsMAINT”), suppliers tab, supplier grid has to contain price expiration info.


Obraz1.2.png


Item Supplier form (“AGinitemDetinSupplierItem”), child form of above Inventory Item needs to contain additional fields from inSupplierItem table.


Obraz1.3.png


Purchase Order details form (“AGPurchaseOrder”), inventory items grid change to show price expiration data and warn the user when price is expired. Price column should be extended in case of price expiration with that information.


Obraz1.4.png


Stock replenishment form (“AGinItemSelectableReorder”), items for reorder grid change to show price expiration details for items which use price expiration. When the price is not valid line will be disabled, not available for selection and marked with special colour or icon. This will inform user that the line will be not processed by purchase order generation process.


19720240 1340500312730960 490761478 o.png


Stock Replenishment Report (“AG3-401_StockReplishment”) needs to be updated to show price expiration information. If the item has to be marked as non-orderable. Generate purchase order action will fail for purchase orders which item price is expired. Additional report filter value to control if report should contain items with expired price.

Greggs specific functionality

This custom functionality is out of scope of that specification.

Custom Greggs functionality will be created using standard Agility functionality.

  1. Export to IESA when item have got price expiration status “Required” or “Submitted” and price expiration status will be update using action “SetPriceSubmitted”. Response from IESA can update the price expiration data.
  2. Status flow definition in ItemBO on supplier item records which are in state “Required” or “Submitted”. That flow will relatedly try to resubmit the request to IESA with defined time delay. After the predefined time if not valid price response acquired (still in “Submitted” status), business action “SetPriceOverdue will be used to set price expiration status to “Overdue”.

If Greggs have custom definition of forms which are changed due to this specification, they have to be updated manually.