We have an issue on our development i5 system concerning library lists. We have production libraries on our dev system (that is, dev copies of corresponding production libraries). For this question the (dev) production program library (program files) is EXMP, and the data library (physical files) is EXMD.
One of our developers has a work library called EXM4543 in which they have both program source, actual compiled program file, and corresponding data files. The structure of the data files have changed, with corresponding source code changes to the program to handle the new data file structure.
Here is the potential library cache problem:
* The library list contains EXMP and EXMD (the dev production library copies)
* The program is run and everything works ok as the normal programs are running against the normal data files
* The developer ADDS library EXM4543 to the top of their library list with "ADDLIBLE EXM4543"
* The developer then immediately runs the same program, which should run the EXM4543 program against the EXM4543 data files
* What happens is that the program gets a level check error. The error complains about the program trying to open the EXM4543 data files.
* If the developer cancels the error and simply runs the program again is runs just fine.
* The developer then REMOVES library EXM4543 from their library list with "RMVLIBLE EXM4543"
* The developer then again immediately runs the same program, which should run the normal program against the normal data files
* What then happens is that the program gets a level check error again. The error complains about the program trying to open the normal data files.
* If the developer cancels the error and simply runs the program again is runs just fine.
Now....the developer logs out and starts from scratch....this time with one difference
* The developer ADDS library EXM4543 to the top of their library list with "ADDLIBLE EXM4543"
* The developers PRESSES F5 TO REFRESH
* The developer then immediately runs the same program, which SUCCESSFULLY runs the EXM4543 program against the EXM4543 data files
To me it appears that:
When the developer adds the development library and immediately runs the program:
* The system finds the development library data files just fine but somehow still runs the normal program
When the developer removes the development library and immediately runs the program:
* The system finds the normal data files just fine but somehow still runs the development copy of the program
However, pressing F5 to refresh after adding or removing the development library and then immediately running the program always works ok. I believe that somehow the i5 system is "caching" the program location but not the data file location. That is, after adding the development library at the top of the library list, the system finds the development data files but continues to find the normal (not the development) program. The opposite happens when removing the development library from the library list.
Can someone shed some light on what might be happening. I know that I have provided a lot of information, but possibly not yet enough information. Any help is appreciated.
Thank you!