It would be greatly appreciated if you could help me with this as it is going to be my first java project attempt.
I have developed a replenishment system for our company for one of our warehouses. I developed it using SQL 2000 active x controls in a DTS, moving all the data into the correct tables, and then displaying the info in an couple asp web pages.
I would like to code this whole process in java but i can seem to get my head around the Object oriented thinking behind this process.
Here are the details of the system:
the warehouse is divided into areas namelly 400 - cases, 500 - excess stock, 600 - KLT and 700 and 800 - ISO. what the users do is scan the parts that are needed for the the 600, 700 and 800 area. the scanner is then docked and a text file is dumped to the local machine with all the part numbers that have been scanned. if a part is needed say 5 times it is scanned 5 times and will appear 5 times in the txt file. this file is then FTPed to or server where the replenishment kicks in.
The logic: The replenishment only takes place from the 400 and 500 areas to the rest of the areas(600,700,800).
each Part has a bin qty so if part A is scanned 2 times and it has a bin qty of 100 then 200 units of that part are required to satisfy the request.
the parts are broken up into 2 categories ISO and KLT. first the 500 area is checked of each ISO part. the system checks if it can replenish the whole qty out of the 500 if it can then that part is marked as done else whatever is in the 500 area of that part is picked and the part will be revisited in the next process. the same logic applies to the KLT parts in the 500 area. there can also be multiple locations for any part. once this process is complete it moves the 400 area.
the ISO parts are searched using FIFO the first iso part is selected and the caseNo is returned then all of the KLTs are searched to see if any of them are in that case. Then the rest of the ISOs are checked to see if they are in the case. once this is done, the next iso in the record set it checked. this process is done until the whole iso list has been traversed.
lastly the remaining KLTs are searched in the 400 area using the same process as in the 500 area. all parts can have many locations.
We receive a SAP dump every 10min detailing the current stock on hand. this table contains the partnumber, description, qty and area(400) the other table that is used in the system is the part master table this contains info of binQTY PLocation as so forth.
the only objects that i can see are the parts and the cases! and then its just a logic thing.
Please let me know if you need any additional info.
Well not sure exactly how your application is put together. Its a bit hard to make any indepth suggestions, but, you should look into the following Java technologies:
JDBC - this is your interface to the database, roughtly the same as ADO JSP - this is what you would use to replace the ASP pages. You will need to get a JDBC driver for sqlserver. You will also need a sevrlet engine, tomcat for example.
This should allow you to transfer the application for ASP to Java. Of course JSP goes beyond ASP, and provides a front end to the richer J2EE (JEE) environment, so as you become more familiar with Java, you should be able to extend the JSP application into a more robust OO design.
You could of course dive stright into J2EE, this gives you far more options and much more to learn. It depends on what you want to do, how much time you have to give to the project etc.
Learning Java is required of course, to the end I would suggest Head First Java book, I like the Head First Range of books, there is even a web developer one, which deals with servlets and JSPs. Also the Java site is very helpful.
Hope this helps. G [ February 22, 2007: Message edited by: Gavin Tranter ]
Avoiding talk about Java for a minute, think about how you're going to tackle the whole project.
Try to think about very small parts of the problem. I don't quite grok the relationships between different parts and stock areas, so this might be off base ... if so adjust for reality.
Imagine a one-line scan file for a part that is in the first stock area. Then a part that is slightly more complex. Then two parts that have some relationship. Describe each of these scenarios in a few sentences. Avoid using "if" Instead of saying "if there are enough in the bin..." and maybe say "because there are enough in the bin...". The time when there are not enough is another scenario for later.
Now this may sound wacky and a lot of people don't get past their initial surprise at this suggestion: pick the simplest scenario and code it. Don't worry about a database schema ... if you have a component that reads the database for how many part X are in bin Z just hard code a return value. Don't worry about the UI or a report layout ... make an object that holds the answer - how many to take from what bin or whatever - and has a descriptive toString() method.
This technique can give you small bits of working code right away. If you wind up with some that almost works, post it here. If you want to talk more about the "how to do a project" stuff, mosey down to the Agile and other Processes forum and just get the gang started. [ February 22, 2007: Message edited by: Stan James ]
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi