IBM Developer for System z (IDz) v14.1.3 released today is the latest continuous delivery update for the IDz 14.1 version which was released in the third quarter of 2017. In this IDz update we have provided new features to assist developers in their unit testing efforts. In addition we have made it easier to use IDz by enhancing the methods used to determine the contents of Partitioned Data Set members. Of course, we have also delivered Requests for Enhancement (RFE) from our user community as well as APAR fixes.
Hopefully by now you have heard about Shift Left testing, the idea of increasing code quality by testing earlier in the software development lifecycle. IBM Z Development and Test Environment (ZD&T) can play a major role in this effort by making test environments available for running tests early and often off of the mainframe itself. It can also provide developers with a test environment they can use while the mainframe is busy running production workload at or near capacity. In order to make it easier for developers to access these test environments IDz now has a new ‘Provision a ZD&T Instance’ menu action. Selecting this action opens a wizard allowing you to choose a ZD&T application image and either deploy a new ZD&T instance or use an existing ZD&T instance for the test environment. Based on these choices a new Remote System connection is automatically added to the developer’s workspace making it easy to access the provisioned environment for application testing.
The z/OS Automated Unit Testing Framework (zUnit) has also been enhanced. If you are using RTC, Git or some other source code management software which supports Local projects, you can now generate zUnit Test Cases from these local resources. Of course running the tests still requires a connection to a remote system, but now you can get started using zUnit without first having to move the original source to the mainframe. In addition a new feature has been added that makes it easy to capture the data to be used as part of a test case. For Batch COBOL applications some parameters can be specified in the JCL indicating that an XML file is to be created at the end of the job. This XML file contains recorded input and output data from the programs and subprograms run by the batch job. This data can then be imported into the Test Entry Data Editor, significantly reducing the amount of time it takes to create a zUnit Test Case. If you are interested in unit testing PL/I applications then improvements have been made in this area as well. For application code where PL/I functions are called as procedure parameters, they are now identified as subprograms, allowing the returned values to be stubbed.
In order to get the best experience from the advanced tooling and editors in IDz companies need to associate Partitioned Data Set (PDS) naming conventions with workstation file extensions. This practice, known as z/OS File System Mapping, is necessary of course because PDS members do not have file extensions like your typical Windows, Linux and Mac files. However, not all companies have their source members well organized using conventional PDS names. In fact some companies store lots of source files into one big PDS, and use member naming conventions to distinguish a PL/I source from a COBOL source program. To make it easier to use IDz in these scenarios we added the ability to use a questions mark ‘?’ as a single character wildcard in the Member Mapping criterion. For example, if your organization has a PDS with the last segment of it’s name as SOURCE and the 5th character of every member determines whether it is PL/I, COBOL, BMS, etc, then your z/OS File System Mapping could be configured similar to the below image.
There may also be occasions when members do not follow naming conventions, nor does the PDS in which they are contained. To make it easier to use IDz in this situation we have introduced the new ‘Discover File Type’ menu action. Selecting this action quickly examines the contents of the PDS member and automatically maps the member to the appropriate workstation file extension. This allows the relevant context menu actions to be shown on a right click. If all that is desired is to open the member in the correct editor, then simply double clicking on a member that has not had a file extension mapped to it will also cause the Discover File Type action to run and the appropriate editor will be opened.
Requests For Enhancement
The Remote z/OS File Search feature in IDz contains several options for searching contents of PDS members. Options such as Hex based searching, searching in column ranges, case sensitive searches and searching for member that do not contain a specified string. However, until the release of IDz 14.1.3 users had to return to ISPF and use the Search-For utility in order to search for multiple strings at one time, or perform a search for PREFIX, SUFFIX or whole WORD occurrences. Now all of these options are available in IDz using Remote z/OS File Search, allowing developers to quickly gain knowledge about their applications.
Enhancements have also been made in the areas of SCM integration, these include:
- Support for multiple CA Endevor connections without the ENUXSITE exit
- Performance improvements for Rational Team Concert (RTC) User Builds
- Support for running RTC User Builds conditioned on an external event
- The ability to set DYNAMNBR in RTC User Build JCL
- PL/I support for User Builds with IBM Dependency Based Build
For more information about these new enhancements and others which I did not have a chance to mention have a look at the What’s new page of the Knowledge Center. Thanks again to all our users for submitting ideas to the RFE Community. I hope to see some of you at upcoming user group meetings or talk to you in future webinars.