Mainframes 360
The one stop destination for System Z professionals

Sunday, June 24, 2012

COBOL Code Tagger in Rexx

Q. What is the role of Modification Tags in a COBOL Program?

In a Mainframe environment, changes done to program source-code should be well-documented. This makes the source-code easier to understand.

Most COBOL Programs have a Modification Log. The Modification-Log is not executable source code, rather it is a block of comments. It is a the list of all changes(modifications) done to the program, in chronological order. A description of the change in about two-to-three lines, the date of the change and the author(programmer) is also mentioned. The Modification Log helps you track all changes done to program, right from its inception, to-date, its like the program’s diary(log).

Each entry in the Modification Log has a tag, to identify it. This tag forms its unique identity. The practise adopted by Mainframe programmers is to supply a tag for all the lines of source-code they modify, and then add an entry to Modification Log, under the same tag, thus providing a brief description of their change.

Here's a picture of the Modification log in one of my programs.


Have a look at the illustration below on, how the same modification tag QC3962 is used to highlight the modified lines of code.


Q. What does COBOL Code Tagger do?

Several people have asked for a way to automatically add a tag, and flag each changed line in an ISPF Edit Session.

The COBOL Code Tagger is an Edit Macro that runs SuperC against the original dataset and adds tags in a user-specified column. After the tagging is complete, you are shown the lines to which flags have been added. You’ll probably need to change it to meet your needs, but it should be a reasonable starting point.

Q. How do I use the COBOL Code Tagger?

It is very easy to use the COBOL Code Tagger. In the ISPF Editor, while editing a COBOL Program, merely type TAG <tag-name> <start-column> to add tags to all lines you have changed.

I type the command TAG QC0624 01 to tag all the lines I have modified, in this COBOL Program with QC0610, beginning from Column Position=01.


On pressing ENTER, the Macro tags the lines, you modified in this EDIT Session.


Q. How to install the TAG Macro at my Mainframe shop?
You can get the source code for the TAG Edit Macro here. You must copy the code to one of your SYSPROC or SYSEXEC Concatenations at your Mainframe shop.

In case you do not know about the SYSPROC or SYSEXEC concatenations at your site, just type TSO ISRDDN Command on ISPF.


The TSO ISRDDN command shows the active DDNames and the libraries allocated to them. At my shop, I put the TAG Rexx source code under the common //SYSPROC Library USER.CLIST. Like-wise, you must copy TAG's Rexx source code to one of the SYSPROC or SYSEXEC libraries.


To many people who are thrown to work at a mainframe computer on their first job, they feel lost. Mainframe people seem to speak a completely different language and that doesn't make life easy. What's more, the books and manuals are incredibly hard to comprehend.

"What on earth is a Mainframe?" is an absolute beginner's guide to mainframe computers. We'll introduce you to the hardware and peripherals. We'll talk about the operating system, the software installed on a mainframe. We'll also talk about the different people who work on a mainframe. In a nutshell, we'll de-mystify the mainframe.

Readers based in India, can buy the e-book for Rs. 50 only or the print book. International readers based in the US and other countries can click here to purchase the e-book.