From: Mike Oster To: All
Question #1: We are centralizing our S/36-based systems onto one AS/400. We're trying to determine what is the best way to establish libraries. For example: We have an A/R system that each plant uses on its S/36. We want to put one A/R system on the AS/400 for all the plants to share.
For the most part, each plant is stand-alone (it doesn't have to access other plant's files). Corporate, of course, has to access each plant system occasionally. We want all plants to share one source and one CL program (do not want multiple copies of same program). Should we:
1) Put plant-specific files (e.g., each plant has its own customer file) in a plant library, or
2) should we put, say, all customer files in one library as library file members?
Do you also put common files (e.g., state code file) in a common file library? I would like to get input with pros/cons.
Question #2: Will we have to rewrite our S/36 PC Support download programs for the AS/400?
From: Ernie Malaga To: Mike Oster
From the programmer's standpoint, it's easier to use separate libraries--at least until the corporate guy wants to run a single report that compares figures from several plants. I'd vote for the "one library, use database file members" approach myself. Done this way, you have all your files in one library, along with the programs and the common files. Library list management becomes easier and so does backup and recovery--a single SAVLIB command takes care of the entire backup.
Selecting what member to use isn't all that hard; all you need to do is override the database file for the specific member you want to use. Since member names can be 10 characters long (just like files), you get plenty of space to come up with meaningful names.
From: Chuck Ackerman To: Mike Oster
Here's my two cents worth on the subject.
I have seen it accomplished both ways and have had to deal with the problems of both solutions.
My recommendation is to keep the data separate in separate libraries. It may require a little more work in the maintenance of files but the effort is worth it.
Although the multi-member approach appears to be a neat solution, it is very dangerous! Here are the reasons to avoid the multi-member approach:
1. To access a member you must use an OVRDBF command before a program starts. If you forget to do that, it defaults to *FIRST. I have seen a programmer modify a program that had 12 update files and forget the override for only one file. This went undiscovered for three weeks! Imagine updating one file for the wrong company for three weeks. It was a nightmare that took almost seven months to unravel.
2. Backup and recovery is much more difficult. If you use the separate library solution, you can save/restore them at different times. You can do a RSTLIB for only one company without affecting the other company.
3. If you use separate libraries, you can still build logical files over all of the files to build a consolidated statement. We do that and it works just fine.
4. If, for some reason, you sell one of the divisions or companies, it is easy to save the library, hand the tape to the controller and say adios. This would be a mess to do with multi-member.
All in all, my advice with 8+ years of experience doing this stuff is--stay away from multi-member solutions to multi-company situations at all costs.
From: Richard Saunders To: Mike Oster
Using one file for all the plants would be better programming practice and takes advantage of the AS/400 relational database. Then you could send the data to each plant, using logical files or query files. Each plant would have different views of the data that would seem like multiple files. DDS is pretty easy to manipulate. About your second question, it might be easier to just have your AS/400 communicate with the old S/36 for communication purposes until you can convert your PC Support programs.
From: Douglas Handy To: Mike Oster
Another factor to consider is security. It is not unconceivable that employees from one branch should not have authority to data from other branches. This is very easy to accomplish at the library level with minimal pain.
It is simpler all the way around to use separate libraries. If your users use Query or similar products, they won't have to remember to change the member name from *FIRST either.
LATEST COMMENTS
MC Press Online