473,408 Members | 2,888 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,408 software developers and data experts.

Warehouse stock location tracking

NB
Hi

A part of my application involves management of stocks in the
warehouse.

Incoming/outgoing transactions, stocktake, quantity on hand have all
been satisfactorily managed. The app has run robustly for some time.

Now I need to develop location tracking functionality.

I believe this is a common topic and it might have been addressed.
Therefore I may get some expert idea on best practice from this NG
(though I couldn't find any yet after some searches here)

Basically, so far I have had

tblIn(InID,...), tblInDetail(ProductInID, InID, ProductID,...),
tblInDetailPallet(InDetailPalletID, ProductInID, Inqty...)

tblOut(OutID,...), tblOutDetail(ProductOutID, OutID, ProductID,...),
tblOutDetailPallet(OutDetailPalletID, ProductOutID, Outqty...)

tblStocktake(stocktakeID, productID, ...)

tblWarehouseLocation(WHLocID, ...)
tblWarehouseLocProduct(WHLocProductID, WHLocID, ProductID, ...)

A warehouse location is a space unit that fits 1 pallet. On 1 pallet,
there may be several products.
The fact that stocks are kept on pallet and I also need to keep track
of pallet quantity explains the above structure where stock quantities
are kept in ...DetailPallet tables

To accomplish location tracking I added

tblWHLocProduct(WHLocProductID, WHLocID, ProductID, qty, ...)

Now the issue is business rules enforcement. How do I ensure a
properly updated tblWarehouseLocProduct?

This is how I figure the solution:

In the form for Incoming transactions, I allocate stocks to warehouse
location (WHLocID).
At Form's beforerupdate and ondelete event I capture the value of
WHLocID
At Form's afterupdate event:
- insert a record into tblWarehouseLocProduct (if WHLocID
beforeupdate's value is null)
- update the existing record to new values if WHLocID beforeupdate's
value is not null
- delete the matching record from tblWarehouseLocProduct (if WHLocID
beforeupdate's value is not null)
At Form's afterinsert event:
- insert a record into tblWarehouseLocProduct
At Form's after del confirm:
- delete the matching record from tblWarehouseLocProduct (if WHLocID
ondelete's value is not null)

In the form for Outgoing transactions, I perform the similar tasks (in
the reverse direction as stock is moving out)

I also need a new form to maintain movement within the warehouse (from
1 location to another)
This may be an unbound form where user choose a product, from-location
and to-location and press a button to confirm the movement (the code
behind will update the matching record in tblWarehouseLocProduct)
I think I can get all those to work. However I feel the logic appears
a tad too complex and there must be a better approach out there.

I appreciate any suggestion

Thanks
NB
Nov 12 '05 #1
0 1893

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: Robert Brewer | last post by:
def warehouse(stock, factory=None): """warehouse(stock, factory=None) -> iavailable, iremainder. Iterate over stock, yielding each value. Once the 'stock' sequence is exhausted, the factory...
0
by: Fabio Ferronato | last post by:
Hi, I am new in XML. We have to send the datas of delivery notes to another application and we have to decide the file format. I'd like to know if there is some public DTD that describes...
0
by: T-Bird | last post by:
Position Description: -Extensive hands-on experience with Informatica v 7 -Experience migrating data mart to new hardware infrastructure a major plus -Ability to document and set up UNIX file...
0
by: DB2 DBA wanted | last post by:
Maines Paper & Food Service is a $2 billion/yr food distribution company with 9 distribution centers in the US. We are currently interviewing for the position detailed below. Relocation to...
7
by: simon | last post by:
Hi I know this has been done to death....but obviously at some point in the dim and distant past! I wish to program a retail database for my shop, I have trawled many forums and I only manage...
3
by: Merlin | last post by:
Hi Group Anybody know where I could find a Example of a simple stock control system? Many Thanks Merlin
1
by: Michael Thomas | last post by:
Hi everyone I have a database which I use to keep track of stock for the company that I work for. We are a retail chain with 8 locations at present and a head office. I need to keep track of...
1
by: jjkeeper | last post by:
Hi, a colleague asked me to see if it's possible to create a warehouse database for him, so things will go faster and more efficient on his end. (yes, in the midst of my annual database project...) I...
40
by: sazd1 | last post by:
Hi Student2 I am working on similar kind of thing for stock calculation but could not find any solution to my problem even after putting my problem to different forums. I saw your post that you...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.