KICKS-Starter!

…installing a “Transaction Monitor”

When I first heard someone talking about COBOL online programs, they always used the term “transaction monitor” and CICS. As a Java developer, I wondered why monitoring a database transaction is so important for developing the 3270-Screens. As I learned now, I couldn’t be more wrong!

In “Jurassic Park” a “monitor” is neither a device to show some UI on a screen nor a program that helps you analyze the control flow of a program. A Monitor is more of some kind of system. (As far as I understood. But let me know if I’m wrong). And CICS is one of the very first implementations of such a system to handle user Input in a transactional way. All the old systems that turned the world from the 60s to today are developed with this transaction monitor CICS.

So CICS is very similar to Jakarta EE or a REST Controller from a conceptual point of view. It is how you handle user input and process it in an “All or Nothing” transactional way.

Since CICS is a commercial product and is not free to the public, there is now a (legal) way to get it run on a Hercules emulator. But there is a free alternative that is somehow compatible with CICS. At least on the API Level. This alternative is KICKS!

The KICKS start screen on a Hercules MVS/TK4

The installation process of KICKS is quite complicated. The YouTuber moshix made a nice video that you can follow up, and you will have a running KICKS-System on your Hercules-driven MVS/TK4 Mainframe.
When you finish with video, you should be able to start the KICKS-Transaction-Monitor under the user HERC01.

But I want to use it under my own user ID, and that needs a little extra work. As the KICKS-Documentation says, you have to allow access to the VSAM-Files to everybody. So log on as HERC01, and open the data set “SYS2.SECURE.CNTL(PROFILES) and add the following lines to the end. (Unbelievable. I understand what I’m writing here!)

DATASET HERC01.KICKS.MURACH.CUSTMAS                         UPDATE
DATASET HERC01.KICKS.MURACH.INVCTL                          UPDATE
DATASET HERC01.KICKS.MURACH.INVOICE                         UPDATE
DATASET HERC01.KICKS.MURACH.INVOICE.PATH                    UPDATE
DATASET HERC01.KICKS.MURACH.PRODUCT                         UPDATE
DATASET HERC01.KICKS.TACDATA                                UPDATE
DATASET HERC01.KICKS.V1R5M0.SDB                             UPDATE
DATASET HERC01.KICKSSYS.V1R5M0.KIKINTRA                     UPDATE
DATASET HERC01.KICKSSYS.V1R5M0.KIKTEMP                      UPDATE

The editor screen should look something like this:

Saving the file and restart rakf (or the whole Hercules to be saved).

Next, you should copy the member KICKS and KFIX to the SYS2.PROCLIB data set. The tool MOVE/COPY (option 3.3) is very handy for this task, and I managed it without reading any manuals.

When you finish these copies, you can log off and log on as a regular user. CASI, in my case.

Now, it should be able to launch KICKS from the TSO command prompt. I tried and…. failed. After a little research and asking the experts at Discord, it turned out that I forgot the ‘ !! So the correct command to start KICKS is:

EXEC 'SYS2.CMDPROC(KICKS)'

With this command (AND DO NOT MISS THE APOSTROPHE!), the system will start. Press the CLEAR Button and enter BTC0, and you will see the TAC-Transaction used in the Nevada Department of Labor in the 70s.

Welcome to the Nevada Department of Labor

There are some other transactions also installed. Especially all the examples in Murach’s bible of “CICS for the COBOL Programmer”. I think I’m now done with installing Hercules, TK4, ROB enhancements, and KICKS. So, the next step could be implementing the first online transaction in COBOL.

Nach oben scrollen