Updating using cursor oracle
Updating using cursor oracle - gemini man dating a virgo woman
This is a package with thousands of programs, many of which share several major master files. Yes, there are a few other more-involved options, such as converting all existing code to SQL access.Those sorts of architectural overhauls might make sense in a software development shop, but in most production environments, those approaches aren't easy to get approved by the folks who pay the bills.
I have highlighted the areas which differ compared with a normal cursor.
For instance, I might have the following psuedo code: Excuse my psuedo code off the top of my head.
In the above sample, I am selecting a value from TABLEX.
The goal is to be able to make changes in this code the most productive way possible.
While we've developed processes that allow us to implement changes rapidly, we still run up against one of the most difficult issues in all of RPG development: the dreaded database change. Well, in order to handle database changes in packaged software, you really have only two options: modify the existing database or add extension files.
But there are circumstances under which it would be good to be able to update a file one record at a time via SQL. Future-Proofing Your Code The initial impetus for the concepts in this article came from an ongoing attempt to future-proof the development in a production shop.
This shop, like so many, works on a combination of modern programming techniques, including free-format ILE RPG and what can charitably be called long-in-the-tooth packaged code.
If you define the file using a traditional F-spec (or a free-format dcl-f statement), the program will lock the file upon startup and hold it until you exit.
You can circumvent the lock by using the USROPN keyword on the file definition and opening and closing the file as needed, but even in that scenario, if you change the file, the program will get a level-check error the next time it tries to open the file.
Because of this, a database change requires someone to work in the off hours, installing not only the database changes but also recompiled versions of every affected program. In case you haven’t created one before, an extension file is simply a custom file that you build with the same unique keys as an existing master file. Then, programs that need those data points simply retrieve the appropriate record from the extension file.
And woe be to you if the database change fails in any way; backing it out is every bit as resource-sensitive, and it's usually an emergency requiring kicking people off during production. When implemented using traditional record-level access (RLA), the extension file suffers from most of the same problems as a normal database file.
Pretty soon you get to a spot where you have to set aside a specific window, say two hours in the wee hours on Sunday morning, when the system is unavailable to users.