What’s New with RDi Version 220.127.116.11
March 11, 2020 Alex Woodie
IBM last month unveiled Rational Developer for i (RDi) version 18.104.22.168, the first release of the popular IBM i development environment in about a year. With this release, IBM is giving developers a handful of new capabilities, including the ability to create procedures out of pieces of code, as well as the ability to test incoming parameters.
RDi is IBM’s flagship integrated development environment (IDE) for the IBM i platform. The product isn’t universally used across the IBM i community, and it’s not free. But many IBM i professionals swear by the graphical and modern IDE, particularly compared to older greenscreen coding environments like PDM and SEU.
On February 6, IBM shipped Fix Pack 7 for RDi version 9.6. According to this IBM Support document, RDi 22.214.171.124 features more than two dozen enhancements and fixes, many of which were requested by the IBM i community through the request for enhancement (RFE) process.
Arguably the biggest new feature in this release is the new “extract procedure refactoring” feature, which can be used to convert code into a reusable procedure. According to an RDi expert Charlie Guarino, this feature will come in handy for developers looking to modularize their code.
“This gives you the ability to highlight a block of code. I can select it and then right click on it. A menu will appear. I can say ‘refactor’ and then I can say ‘extract procedures,'” Guarino, who’s the CEO of Central Park Data Systems, says in a video posted recently to the RDi Hub.
“That will take whatever code I’ve highlighted and it’s going read it from the current selection and create a local procedure out of it,” he continues. “And if there’s any particular variable that got changed in there, it will return that variable. It will analyze the code and do its best guess to figure out which is the most important variable and then return it.”
A procedure can be created from this and loaded into an external module, which in turn can be created in a service program, he says. This gives a developer the means to begin breaking apart monolithic code structures and making them more modular, he says.
“So now I have the means to really start picking apart my program, looking for common routines and building a nice collection, a nice library, of service programs,” Guarino says. “If you look at the IBM modernization roadmap, you’ll see on there that it talks about modularizing. This is an important part — modularizing, taking common routines, write once, use many. That’s the whole purpose of this. And now we have the makings of it.”
This procedure feature will likely get better over time as the community begins using it, Guarino predicts. “But this is a really great start.”
The second new feature in RDi 126.96.36.199 highlighted by Guarino in his video is RFE 102060, which states “Service Entry Points now allow conditional entries for breakpoints.” According to Guarino, this feature is “like having a watch breakpoint on steroids.”
“I now have the ability to add a condition to test for an incoming parameter,” he explains. “So if it doesn’t equal a particular value that I’m searching for, it will not even invoke the debugger.”
This will be particularly useful for debugging APIs and Web services, he says. Since APIs and Web services are often called with a common user ID, it can be very difficult to tell which job is sending a request.
“If you’re trying to test a particular function from the website or a web service tool, it may not be easy,” Guarino says. “It’s not easy to discern which requestor is sending the request. By giving you the ability to test an incoming parameter . . . I can actually debug the program I’m looking for. This is really important. This is a game changer . . . [It] changes the whole paradigm of debugging.”
IBM made a number of other changes with this release, including a new library list that makes it easy to modify a library list from any RDi perspective. IBM also added support for some of the new features added to the Rational Development Studio for i (RDS) compiler with the fall 2019 round of TRs for IBM i 7.4 and 7.3, including support for the new DATA-GEN opcode and the new OVERLOAD keyword, among others.
IBM also improved the preference search filter, made some improvements to the SQL formatter, and enables editor navigation for marked occurrences of variables. It also made a number of fixes to the previous release. For a full list of changes with RDi 188.8.131.52, see https://www.ibm.com/support/pages/fix-list-rational-developer-i#9606.
IBM Bolsters RPG And COBOL Development (184.108.40.206)
IBM Adds New PDM Perspective to RDi (220.127.116.11)