If you are an RPG programmer, the above code probably looks totally foreign. But if you are among the 15% or so of IBM i shops that use COBOL, you know this as the data descriptions you work with every day. Some of the largest IBM i shops in the world are built around COBOL applications. Yet, sometimes it feels like COBOL is an afterthought for many IBM i tools. This becomes especially difficult when creating and using APIs to provide access to those COBOL programs. COBOL users cannot simply rely on the tools that transform things like XML and JSON to RPG data structures. They need something that creates COBOL data descriptions.
When working with data from DB2, IBM provides the tools you need. The compilers will take the information from your DDS and turn it into COBOL data descriptions. But when working with APIs, you don’t have DDS. Whether you are calling out to a web service from COBOL or providing a web service interface to your internal COBOL programs, you must perform the transformation from data the COBOL understands to data formats like XML or JSON and from JSON or XML to COBOL data.
The IBM i COBOL compiler turns your DDS into COBOL data descriptions. The field reference information on the left becomes the COBOL code on the right. With APIs, you must do the same transformations yourself.
These transformations become even more challenging when you have complex, multilevel data structures. The transformation process must account for Elementary and Group items. It needs to understand COBOL keywords like OCCURS for arrays and REDEFINES.
In our latest version of Eradani Connect, we have taken on the challenge of providing support for these special COBOL requirements (It has not been easy!) Eradani Connect now understands COBOL and can perform the JSON/XML to COBOL and COBOL to JSON/XML transformations for you. It will even generate the COBOL data descriptions for the API connection for you (similar to what the COBOL compilers do with DDS).
With this new version of Eradani Connect, COBOL users can realize the benefits of APIs without all of the headache.