Martin Truebner's Tools

Date Title
ZIP File 22 Nov 2023

Since CICS/TS in VSE does not have a functionality to serve objects (like z/OS with URIMAP) this was written. This with three programs which can be used asis as object-server, or tailored to your needs.

ZIP File 03 Feb 2022 TRAPPER.ZIP
Trapper is a debugger for assembler programs.

It comes with with support for batch as well as for CICS programs.

Source support is limited to only HLASM programs and based on the listings, which can reside anywhere. The basic installation assumes the listings in the LST-Q of POWER. If there is no listing available you can still use either of the debugger but then of course not with source support.

The installation comes with README files that should get you going.

Here are a couple of videos that shows the install and a debug session with Trapper:

ZIP File 19 Jan 2022 CPCOM.ZIP
CPCOM a tool to communicate with the hosting system (VM or a hosting op-sys when under HERC). It comes in source but should compile with the enclosed JCL just fine.

With it you can do for example this "// EXEC CPCOM,PARM='MSG MARTIN your job is finished'" as last step in a long job, where you would like to be notified when done.

The program uses the SVC118 interface and it does need some fiddling, before it can be used by everyone. But this fiddling is prepared by CPCOM.

ZIP File 17 Jan 2022 MAKEREL.ZIP
VSE speak: a convolut of SETCF and MACROs to change the code of an HLASM programs to use the relative instructions.

MVS speak: It implements what IEABRX does in MVS.

Either solution does not fix the initial coding (preparing the base)--- nor should it be used as permanent solution. Best is to use it, when you have to add functionality to an existing pgms than runs out of baseregs.

Additional details

ZIP File 17 Jan 2022 OBJSERV.ZIP
To display "nice" HTML pages, it becomes vital to supply aside of the pure HTML-code some extra pieces (called objects).

Typical examples: a logo, or a graph. Base HTML can send "multiples", - but CICS/TS does not support that.

In z/OS they have URIMAPs, to provide such a function ("in a very elegant way" I like to add).

In VSE you can (when working with IBM/CSIs TCPIP stack,) use a HTTP-daemon. The whole library must be made available for this.

Here a relative simple solution, which allows to service these "objects" from TS.

The solution functions with any TCPIP-stack and does not require a HTTP damon. It consists of a single tiny COBOL programm. The package contains aside of the plain server (send data to the requestor) a sample to load the TS-queue from libr-members. Since IBM created this "new" LIBR-interface without consideration for CICS, it has a build in limit of 32K per member.

ZIP File 12 Jan 2022 CATCHLST.ZIP
CATCHLST - a program to extent REXX. Once started it intercepts I/Os to SYSLST and stores them in variables.
It comes with source but can be used asis in the enclosed .BJB.
ZIP File 12 Jan 2022 VARSTRNG.ZIP
VARSTRNG - a program to help COBOL-programmers to avoid the error prone task of counting length of VALUEs.

Sample to illustrate the point:

       05    PIC X(31) VALUE 'this is a variable of length 31'.                                                                   
can with VARSTRG be coded like this:
       05    PIC X(..) VALUE 'whatever your heart desires'.                                                                       
or like this:
       MOVE .. TO LENGTH-OF-VARIABLE                                                                                              
       MOVE 'this is a variable of changing length' to VALUE-OF-VARIABLE                                                          

it comes in source and to use it it must be compiled first and then your compile procedures must be changed.
In case you have a heart for the other operating system.... A version for that one is also available (tested and ready to ship).
ZIP File 12 Jan 2022 PICO.ZIP
PICO - a program to read the various counters that are maintained in the z13 and up. There is also a source in COBOL that shows how to invoke the counter-retrieval from COBOL. Other languages (i.e. REXX) should not be a major undertaking. For details on the available counters please consult: SA23-2261-03 or higher.