Continuous Delivery really works! Using a continuous delivery pipeline that includes automated testing and repeatable deployment processes allows for software to be released with greater speed and frequency. In prior versions of Developer for z Systems we typically introduced new functionality only twice per calendar year. Today, the release of IBM Developer for z Systems (IDz) v14.1.4 marks the fourth update to IDz v14.1 since it was released in September 2017.
This latest update for IDz contains both brand new functionality as well as improvements to previously existing functionality. We are introducing to IDz a new “smart” JES Spool viewer, and we have improved our refactoring tools, unit testing tools, and IBM Dependency Based Build (DBB) integration.
The new JES Spool viewer includes many capabilities unavailable in the default text editor which was previously used to examine job output in IDz. The new viewer opens by default in IDz when you double click on a job, so there is no upfront configuration required. Now when you open a job you will immediately notice we have added a splash of color. JCL keywords, comments, literals, system messages and codes all are highlighted in their own colors making it easy to examine the job output. Navigation is also easy in the JES spool viewer. MVS datasets and z/OS UNIX directories can become hyperlinks simply by pressing the Ctrl key and moving the mouse over the dataset name or directory path. Then with the click of the mouse you can navigate directly to that MVS or z/OS UNIX location. Have you ever encountered a system message during examination of job output that you did not completely understand? Well the JES Spool viewer has a nice new feature that can help. Again using the Ctrl key and hovering over the message id turns it into a hyperlink. Clicking on the link causes a browser to be opened and a Knowledge Center search to be performed automatically. The result is quick access to the latest information about the message, thus eliminating the need to reach for that outdated manual on your bookshelf. All these great new capabilities are also available when you perform a comparison of two job outputs as well. Simply select two jobs, right click and choose Compare With > Each Other and the JES Spool viewer will be used by the compare editor. This might help you determine why two jobs did not have the same result even though you thought they should. Finally the JES Spool viewer also supports creating a new Partitioned Data Set member from the contents of the editor. Simply use the File > Save As.. menu action and specify either a new local file or a new PDS member name. I know this is not the exact same behavior as using XDC in SDSF, but it can provide a similar result and is very useful in certain situations.
One benefit of continuous delivery is that existing software features can be quickly improved based on user feedback. Refactoring tools is one such example. According to Wikipedia, “code refactoring is the process of restructuring existing computer code—changing the factoring—without changing its external behavior. Refactoring improves nonfunctional attributes of the software”. Maybe your goal is to improve maintainability, achieve modularity, or reuse business logic for new APIs and services. Refactoring tools for Java are common in Eclipse and other IDEs, but the COBOL refactoring tools in IDz can also help you reach these goals for your traditional mainframe applications. IDz 14.1.4 contains minor improvements for our refactoring tools based on feedback from our user community. Such as improved management of copybooks for commonly referenced code when creating new programs, better code formatting, and the ability to create a single interface for the newly called program. If you choose to create new data elements for the program interface then only the required elements are copied into a new interface copybook. Data is then populated to and retrieved from this new data structure before and after the call to the new program reducing the amount of data when compared to the option of reusing existing data structures.
The z/OS Automated Unit Testing Framework (zUnit) in IDz has supported test case generation for programs with dynamic calls for a while now. However, based on feedback from our user community we realized that our logic for determining the value of the program name identifier in the call statement through static analysis sometimes needed to be overridden by the developer creating the test case. So now we have added an Edit Call Settings button to the toolbar within the Test Entry Data Editor. Clicking this button causes the Edit Dynamic Call Settings dialog to be displayed and the value that was determined for the identifier can be overridden. This is useful when the developer is interested in testing the main program in isolation by stubbing out the subprogram(s).
Back in March 2018 when we released IBM Developer for z Systems Enterprise Edition (IDzEE) version 14.1.2 we introduced User Build support for COBOL applications with IBM Dependency Based Build (DBB). Then in June 2018 we added PL/I to the list of supported languages for User Build with IDzEE and DBB. Now with this latest continuous delivery update we have added User Build support for Assembler applications. Some other improvements in the User Build area include a Save Log button to easily save the build result details to a file, and increased flexibility when using Git projects. Now cross project builds are supported, and previous restrictions expecting metadata to be in a specific location have also been removed.
In addition to what I have mentioned above, we also delivered some other Requests For Enhancement in areas such as our CA Endevor integration and our the System z Data Editor, so have a look at the What’s new page of the Knowledge Center. Finally, IDz 14.1.4 also contains support for some new intrinsic functions recently added to the Enterprise COBOL compiler. For more information about these IBM extensions to the COBOL language, see the details in this IBM Support document: http://www-01.ibm.com/support/docview.wss?uid=swg1PI99703
I encourage you to download this latest IDz update and give the new features a try. If after doing so you have ideas for enhancement then let us know about them through the RFE Community.