Tag Archives: MVS

Processing a GDG in Any Order Using IGGCSI00 in COBOL

We know we can process an entire set of GDG datasets by allocating the GDG base name in the JCL So, for example, if we have a GDG with three generations, GDG Base: XXXXXXXX.TEST.GDG Generations: XXXXXXXX.TEST.GDG.G0001V00 XXXXXXXX.TEST.GDG.G0002V00 XXXXXXXX.TEST.GDG.G0003V00 We can refer to the most current generation with XXXXXXXX.TEST.GDG(0) or XXXXXXXX.TEST.GDG.G0003V00, the second with XXXXXXXX.TEST.GDG(-1), the… Read More »

COBOL POSIX Sockets

What good is it to have the relatively new COBOL verbs XML-PARSE and XML-GENERATE without a web client or server? Well, I am being a little facetious.  You could use an MQ request-reply model, but, for instance, you probably wouldn’t use the native COBOL XML support in a CICS program since CICS has it’s own… Read More »

X34 – Update with Path Support

I’m working on updating X34 to support Unix directory paths in addition to datasets. X34 foo.bar lists all datasets for high-level qualifiers FOO.BAR X34 SYS%.**.H any 3.4 mask will work X34 /path lists Unix directory /path NEW X34 ~/path referencing from home directory works, too NEW X34 uses the dataset or Unix path name at… Read More »

Catalog Search (IGGCSI00) From COBOL

IGGCSI00 is a callable subroutine to search the catalog. It is provided by DFHSMS and documented in Managing Catalogs.  It can be used to search for dataset names, tape libraries and volumes (as cataloged in the DFSMS catalog, not CA-1 or some other catalog). There are some assembler and REXX samples in SYS1.SAMPLIB demonstrating how… Read More »

Need a Translate Table?

Back before z/OS had Unicode Services available to do character transactions before code pages, there was something called CDRA. As of z/OS 1.13 it is still there as a part of DFHSMSdfp but it is only briefly mentioned.  There is more documentation here. IBM has been a leader in keeping track of internationalization issues, as you… Read More »

Is it time for a Syncpoint?

When you are sharing an online database with batch update jobs you don’t want batch jobs to affect online response time.  One thing that invariably delays online transactions are batch database locks.  If the batch job doesn’t take enough syncpoints, more and more of the database will be locked as the job runs. The best… Read More »

Use C Runtime Functions in Assembler

Assembler coding has it’s role to fill.  There are a lot of system services that are only available to assembler programs and when performance is key there is often nothing better.  That being said, when you are coding in assembler you want to focus on the problem at hand and not spend a lot of… Read More »

Automatic Automatic Restart Management

Automatic Restart Management (ARM) is a great think but complicated to implement into an existing application.  The main subsystems will handle it, such as CICS, IMS, etc.  But for your homegrown servers, it’s a roll your own proposition.  One would think so, anyway. There is a little known document, a Red Paper that never made… Read More »

Pipes & Batch

Let’s say you have couple of job steps where the second step reads the output of the first and perhaps they aren’t running as quickly as you’d like.   It would be nice to multitask these programs to run them at the same time to reduce the overall elapsed time but you can’t really read the… Read More »