Q: I have two programs that use the same file, and one program calls the other. The second (called) program does some work on the file and then returns to the first program. When it returns, the keys for the file point to the next record, but the field data is from the original record. What is going on?
A: It sounds like you are having trouble with shared open data paths (ODPs). When you tell DB2/400 (also known as DB2 for OS/400) to share ODPs, it will open a file once; then, any programs in the call stack that refer to the file will use the same data path. This means that, when a called program changes the current record, the record pointer will point to the new current record when it returns.
ODPs are often shared for performance and memory reasons. Reducing the number of files that your application opens and sharing these open files can have a significant effect on performance.
You can overcome this using many different techniques. If you don't want to share ODPs, change the file or override it to SHARE(*NO). If you do want to share data paths, you can save any key values before you call a program that uses the file and reposition the file when the program returns. An alternative technique is to just be sure your key values can't be changed by another program, and then reread the file with these values before you use any data from the file.
- Brian Singleton


Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.
IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn:
LATEST COMMENTS
MC Press Online