« Toad's Wild Ride | Main | Merry Christmas and Happy New Year »

December 23, 2005

Safety Schema Moves

After a lot of tweaking, importing-exporting, testing and coordination with Banner Dale, Mike S. and I managed to move the safety/parking schema over to Aero. This was one of the thornier applications to move because it not only has links to Banner, but also links from Banner back to the application. Brian W., Mike S. and Mike Staats all performed the Banner related tasks. Dale placed the redirect in the login package and also put some email monitors throughout the Wilb app in case we missed something. I did an export/import by hand, using a parameter file that looks like this:

GRANTS=N
IGNORE=Y
INDEXES=N
LOG=safimp.log
TABLES=*

It's pretty straightforward except the IGNORE. This entry means "Yes, ignore object already exists error." In this way, I had earlier set up all the tables, grants, indexes, constraints on Aero the way I wanted them and tested it all out. Then, I just truncated the tables, did the import of the table data into the already existing tables, and did not mess up the framework. It worked very nicely.

Another item that was interesting was resetting the sequence numbers. This step was overlooked when we moved the schema over for testing and it soon was spawning the incorrect numbers and messing up such things as primary key constraints, etc. It was easy to look at the Wilb sequences, note the next number they were going to give out, then set up the Aero sequences to pass out that same number. This also prevented us from skipping a bunch of numbers for parking permit numbers (which relate to real world parking stickers).

The final (I hope) hurdle was solving this problem: A user reported that some of the values in one of the drop down boxes were missing. Hmmm....A quick check of the tables showed they were exactly the same - no missing records. So, the exp/imp did not drop any data. It also showed that the tables DID have the missing elements in them. What the heck?? So, by passing the mouse over the link I could see the package that was being called to display a new window with the problematic drop down box. The chase was on, because this package called off to the webdb.wwv_usr_static_lov$ table. Well, that table was missing the newer records on Aero, so a quick import of the Wilb counterpart table solved that problem. Easy fix, but a nightmare to find the trouble spot.

Let me just say a word here about the importance of commenting your code. Please, do it! This schema is an excellent example of the pain you cause by not commenting your code. This was written by Mike Lorengo, who did a really nice job of coding it, EXCEPT there isn't one comment in it anywhere. Well, Mike is gone and there is no one here who knows the first thing about how this app is put together. It is no fun wading through all the packages, all the procedures, all the functions, all the tables, all the views, etc. and thousands of lines of code trying to figure out what goes where! A comment that, hey, such and such a table contains all the LOV values would have really helped.

Posted by rossm at December 23, 2005 8:51 AM

Comments

EXCELLENT! Well, you'll be happy to know, that since I'm not a student there anymore, I'm fully commenting code. :-)

Yeah. Seriously. I can just imagine what you had to go through to port that system. Ew.

Posted by: Mike Lorengo at January 22, 2006 7:53 PM

Post a comment

Thanks for signing in, . Now you can comment. (sign out)

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)


Remember me?