New WMS Design

The migration of Adempiere modules to iDempiere

New WMS Design

Postby red1 » Mon Apr 03, 2017 12:08 pm

Based on the movie at viewtopic.php?f=45&t=1838, i am documenting my SYSNOVA sponsored work in progress of designing WMS from scratch. The Excel ModelMaker sheet defines the models we are creating. What is of 'fun' right now is for me as the software architect to jump quickly into business logic for Putaway of arriving materials, from Gates to Locators, giving a 'Forklift' route through the Warehouse floor. And this Excel greatly helps me in dispensing away with lots of plumbing as well as blind spots.

WMS_Excel.png
WMS_Excel.png (171.94 KiB) Viewed 229 times
The ModelMaker sheet shows the entries for the Ninja ModelMaker tab which will generate accordingly the data models under the respective master windows. The ColumnSet shows the property types. The major extension happens in the Warehouse & Locators window (and without touching the core) I intend to add those sub tabs which are BinDimensions, RouteLocation, and Gates. I have put in comments in the Help column (not shown in screenshot) which you can read further by fetching the Excel from http://sourceforge.net/projects/red1/files/Warehousing/.

Under Warehouse' Locator sub-tab is further extended with StorageType, PreferredProduct, and EmptyStorage. Empty Storage has its sub lines.

Under Product window, is ProductType tab. HandlingUnit, DeliverySchedule and WM_InOut (Putaway and Picking) have their own windows.

Next i will go to the CodeMaker. The fun part.
red1
Site Admin
 
Posts: 2642
Joined: Tue Jul 06, 2004 3:01 pm
Location: Kuala Lumpur, Malaysia

Re: New WMS Design

Postby red1 » Wed Apr 05, 2017 10:43 pm

Made the first process code for Generating Locators. Plugin binary is uploaded to http://sourceforge.net/projects/red1/files/Warehousing. It contains all the data models generated from the Excel I spoke about in the previous post. You can find the process as shown in the following movie. Onwards, will be the Empty Storage generator and then the crucial Putaway routing.

red1
Site Admin
 
Posts: 2642
Joined: Tue Jul 06, 2004 3:01 pm
Location: Kuala Lumpur, Malaysia

Re: New WMS Design

Postby red1 » Tue Apr 18, 2017 8:40 am

Done.

EmptyStorage.png
EmptyStorage.png (50.22 KiB) Viewed 24 times
I have discovered more essential properties while coding the Putaway and been mindful of other WMS experience. This is where the Excel to Ninja approach is awesome. I could quickly modify in a well displayed Excel and export/zip it into iDempiere in a matter of seconds. Together with its sample or actual data sets to migrate into the new models. I put in lengthy description in the Help and Description fields of the Excel and upload into the repository after every major change or improvement to the models and properties.

WMS_Excel_1.png
WMS_Excel_1.png (108.04 KiB) Viewed 84 times
WMS_Excel_2.png
WMS_Excel_2.png (64.04 KiB) Viewed 84 times
WMS_Excel_3.png
WMS_Excel_3.png (65.05 KiB) Viewed 84 times
The Putaway process essentially is assisted by setup tools to populate the Locator designations, StorageTypes, BinDimensions, and EmptyStorages. The Putaway will do the following:
1. Look at WM_InOut (Inbound WM_DeliverySchedule that came from Purchases sent by suppliers to the warehouse gate) details.
2. User can specify from which Gate to process and to which Warehouse and even its X,Y,Z limit params.
3. System will either locate by PreferredProduct definition or StorageType definition such as Hazardous, Fragile, Liquid and Slow moving.
4. When either is found, or if no type is found it will look for untype EmptyStorage to consider its suitability
5. Suitability is determined according to available room (by subtracting the remaining vacant capacity) and then the Locator is assigned.

After this Putaway process, another process can then process them into MaterialReceipts. Where AttributeSet is defined for a particular product, its AttributeSetInstance is created (with Guarantee/Expiry date which is essential for FIFO/LIFO picking later) during the DeliverySchedule to WM_InOut (pre Putaway process).
red1
Site Admin
 
Posts: 2642
Joined: Tue Jul 06, 2004 3:01 pm
Location: Kuala Lumpur, Malaysia

Re: New WMS Design

Postby red1 » Sat Apr 22, 2017 11:10 am


As shown in movie above, the Excel template is used in very agile manner to quickly recreate any version of a progressive WMS from scratch. I am about to test Putaway process logic, which comes in after DeliverySchedule for Vendors to plan their delivery to the Gate of Warehouse. The Vendor may provide another DateTime, and this can be edited in the DeliverySchedule as DatePromised, and during actual delivery will be recorded in DateDelivered.

DeliverySchedule.png
DeliverySchedule.png (143.09 KiB) Viewed 41 times
The Delivery Schedule is directed more towards a single supplier or shipper, thus the WM_Truck model is also created for such future use. From the DeliverySchedule, the WM_InOut (replacing the old Libero InOutBound) will corelate directly to Putaway/Picking process where locating EmptyStorage by Types and PreferredProduct Storage is considered.

You can download this first trial version as i have exported into a WMS binary jar at http://sourceforge.net/projects/red1/files/Warehousing/. It will self pack in its metadata. The source is at http://bitbucket.org/red1/org.red1.wms
red1
Site Admin
 
Posts: 2642
Joined: Tue Jul 06, 2004 3:01 pm
Location: Kuala Lumpur, Malaysia

Re: New WMS Design

Postby red1 » Sat Apr 22, 2017 10:15 pm

Improved the Purchasing to Delivery Info-Window better with a WHERE Clause
Code: Select all
NOT EXISTS (SELECT a.C_OrderLine_ID FROM WM_DeliveryScheduleLine b WHERE b.C_OrderLine_ID=a.C_OrderLine_ID)
so that as lines are scheduled, they disappear from the Order Info-Window to appear in the Delivery Info-Window.
Then i also put in two more columns, DatePromised as a criteria, and DateDelivered as a displayed column:

DeliveryScheduled.png
DeliveryScheduled.png (60.65 KiB) Viewed 25 times
red1
Site Admin
 
Posts: 2642
Joined: Tue Jul 06, 2004 3:01 pm
Location: Kuala Lumpur, Malaysia

Re: New WMS Design

Postby red1 » Sat Apr 22, 2017 10:45 pm

Hereby declaring this as Version 0.1 alpha. Prototpying Stage

Download: http://sourceforge.net/projects/red1/files/Warehousing/
a. org.red1.wms<timestamp> all in OSGi plugin with metadata.
b. WMSdata.zip sample data importable via Ninja (Product Types, Warehouse Gates, Handling Unit tags)
c. WMS_Excel.xlsx artifact for complete system design rendering into iDempiere

Important Development Protocol - utility styled maintenance
a. No touching or overiding of core be they code or metamodels
b. Separate menu tree and backward compatible checking during design rendering
c. Full use of Ninja generated code stubs and minimal code logic placement.
d. Agile design from scratch to extend variations of data and code models.
e. Use of Excel for BI dashboard reporting

Ninja Plugin Integration
1. Powerful integration from requirements analysis and systems design spreadsheet
2. Fast data preparation and import into user instance. Sample data provided as WMSdata.zip

Subject Matter Expertise Reference:
1. Libero WMS
2. SAP WMS
3. Nakarat of Thailand

WMS Model Design Features:
1. Warehouse-Locators extension to cover Loading Gate, StorageType, EmptyStorage, Warehouse Route, Bin Dimensions
2. Product Preferred at Locators
3. Handling Units to cover pallets, drums, QR code tags
3. Product Types with dynamic data i.e. Hazardous, Fragile, Slow/Fast moving goods
4. Automatic generation of above i.e. Locators, EmptyStorage, Types matching
5. Process flow of Orders to Delivery to Locators (Sales/Purchasing = Outbound/Inbound)
6. Info-Windows for (5).

Next task: Putaway to EmptyStorage Locator process.
red1
Site Admin
 
Posts: 2642
Joined: Tue Jul 06, 2004 3:01 pm
Location: Kuala Lumpur, Malaysia


Return to iDempiere

Who is online

Users browsing this forum: No registered users and 1 guest

cron