gnucobol-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [open-cobol-list] What do you think of JCL ?


From: Dave Stratford
Subject: Re: [open-cobol-list] What do you think of JCL ?
Date: Fri, 20 Sep 2013 17:52:15 +0100
User-agent: Pluto/3.06 (RISC-OS/6.20)

On 19 Sep, Wim Niemans <address@hidden> wrote:
> I do have a very different view on the use of JCL.

<snip>

> Some manufacturers extended JCL with workflow of a Job. This is harder
> to obsolete, but still possible if you can eliminate the need of
> removable media.

While I sort of understand what you are saying, I also disagree. ICL's
version of JCL, called System Control Language, or SCL, is far more
flexible and extensible than a mere JCL, yet is also a JCL as well.

SCL is defined as an integer only subset of another language, S3, which is
itself defined as a superset of Algol 68. The operating system, VME, was
originally written in S3, though nowadays it's written in C, but the
effect was that SCL code was actually very efficient.

A simple SCL procedure to run a cobol program called, say HELLO1, which
takes a single bit of input text and displays it back might be as follows:

PROC RUN_HELLO1 (RH1 IS (LITERAL INTEXT (ITXT) := "")
BEGIN
STRING TEXT := ITXT
IF TEXT EQ "" THEN
   SMSG("ERROR NO INPUT TEXT")
   RETURN
FI
EXT PROC HELLO1 (STRING)
HELLO1(TEXT)
END

This can now be run as any of the follows:

RUNHELLO1

which will generate the message ERROR NO INPUT TEXT

RUNHELLO1("Stuff!")
RH1("Stuff!")
RH1(INTEXT="Stuff!")

all of which would display Stuff!

To run as a batch job, you would call:

RJ(RUNHELLO,MAC=RUNHELLO1)

One of my favourite commands in SCL is the WHENEVER command, which is
usually used to trap errors, and allow job and program drivers to fail
gracefully.

If anyone wants some samples, I have loads here.

Dave

-- 
Hexagon Systems Ltd       Experts in VME solutions    www.hexagon-systems.co.uk
HSL Webz                  Experts in web design              www.hsl-webz.co.uk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]