When you click [Configure] on the workbench, or start Jazz for the first time, this form opens: -
You make changes on any of the tabs, then when you click [Close] these changes are saved and will be used immediately and for all your following Jazz sessions until changed. As described under “Setup”, you use this form when you use Jazz for the first time, as Jazz needs to be pointed to the right folders. You will set values on the Workbench and Lang (=language) tab, but you will only set the z/OS tab if you are submitting jobs to a z/OS mainframe. If you are using Micro Focus with an IDE (Visual Studio or Eclipse) then you won’t need anything on the z/OS tab. You will only set values on the SQL tab if you are using a relational database with Jazz – DB2, Oracle, or SQL Server.
This tab relates to the Jazz workbench: -
(or for our American friends, Colors). You probably won’t feel the need to change the default colours, but double-click or right-click any of these if you do and a colour palette appears:-
Select the colour that you want for this type of program text.
Set your UserID. This will
appear in the automatic comments generated at the top of Jazz
programs and copy books: -
*# Last Updated by JazzUser at
15/05/2018 10:24:48 a.m.
PROGRAM
Batch1 BATCH;
If you are
using z/OS, this should be your z/OS user id, as it will be the same value
shown/set in the z/OS tab.
You can set
the number of spaces per indent, the maximum line length, whether you want COPY
code to be displayed by default, and the number of files that you want to be
remembered in the “Most Recently Used” list of the File menu. Thus with File limit
set to 4 (the default), your File menu will look like this: -
Open Last
Session automatically. If checked, the
previous program is opened automatically, e.g. you don’t have to use File/Open
to reopen
*# Last Updated by JazzUser at
15/05/2018 10:24:48 a.m.
PROGRAM
Batch1 BATCH;
…
Min Jazz
Error Messages. Set to “Warning” and
you won’t see “Information” messages.
Set to “Error” and you won’t see “Warning” either. Sometimes a program or copy book can produce
an annoying number of low-level messages that you don’t want to see: set this
if you want to suppress them.
(Integrated
Development Environment). Options are
None, Visual Studio, or Eclipse.
Select
Visual Studio or Eclipse if you want to use Jazz with one of these IDE’s. Leave the default as None if you’re using
Jazz without an IDE.
Currently
this has been tested with Visual Studio (2017), but not with Eclipse. Eclipse will be tested and implemented in
cooperation with an Eclipse user after Visual Studio implementation is
completed. In the meantime
Eclipse will behave like None.
Options are
z/OS or IDE.
If z/OS
then a textbox to set/edit the Job Output folder name appears, and [Process]
will submit jobs to a z/OS system to compile and execute the programs, and
return the results. When the [Job
Results] turns green, clicking it opens a Notepad session to view the latest
job output.
If IDE then
the Job Output folder is neither visible nor checked, and the caption of the
[Job Results] button has is the name of the project,
e.g. TSTSQL. When configured for Micro
Focus and Visual Studio, clicking the [Job Results] (TSTSQL) button opens
Visual Studio with the Micro Focus COBOL Project associated with this project.
This
describes the folders that are used in your Windows environment for Jazz
objects. Jazz has been developed
assuming that folders are arranged like this: -
Common Path
Project1
Jazz
Programs
Jazz Copy
Code
etc
Project2
etc
If you are
working on your own then these can be on your own PC, but if you are working
with others then all members of your project team must have the same values,
and the common path should refer to a folder on a shared server.
[Set
Defaults] sets Common Path and Project to *, and checks that they exist: of course they don’t so the textbox is highlighted and a
Windows Explorer search is initiated.
“*”, the
default value, initiates a dialog to define the
common path when [Check Folders] or [Initialise project] is clicked. Create or navigate to the folder where you
want to save the objects for your projects.
If an IDE
is used then the common path should be the folder in which it saves its project
objects. For example, with earlier Jazz development my projects were stored in My Documents, so
Common Path had value
C:\Users\Advanced
Computers\Documents
and the
project folder was named
Jazz
With
Version 15 Jazz we implemented Micro Focus support, and my common folder became
C:\tutorials
and the
project folder was ACCT, TSTSQL, or whatever actual tutorial I was working
with.
Common Path
must not be left blank, or as “*”.
Project may
not be a blank, but should be the name of a subfolder within the common
path. “*” will cause [Initialise
Project] to initiate a Windows Explorer search within the Common Path. If you’re using Micro Focus Enterprise
Developer with Jazz, then you start by creating a COBOL project as described in
the Micro Focus tutorials. In the
example above the Window snap illustrates Jazz being set up to work with within
the Micro Focus CICS tutorial, TSTSQL.
Values for
Project depend on the IDE setting: -
Any valid
folder name may be given. If it doesn’t
already exist, the dialog offers options to create it, or to choose another
name.
The folder
name must already exist within the common path.
To use Jazz with Visual Studio you must first create a VS project with
one of the COBOL project types provided by Micro Focus: probably Mainframe
Subsystem Application. Suppose that
we’ve created a COBOL project called TSTSQL.
Visual Studio will have created a folder structure like this: -
TSTSQL\
Bin\
Obj\
Properties\
TSTSQL.cblproj
TSTSQL.sln
With Jazz configured to work with Micro Focus Enterprise Developer and
Visual Studio: -
the names of the cblproj and sln appear to the right of Project, and may be edited if
necessary: -
Temporary
rules – behaves as None. To be reviewed
in discussion with a customer who wants this feature.
Jazz
Programs, Jazz Copy Code, Generated COBOL, JCL, Cobol Copy, and BMS Maps are
all sub-folders within the project folder.
They may be a valid folder name or left blank.
Folder
names are generated with the names given, but are not case sensitive. Thus if your Common
Path is given as here, C:\tutorials, but a folder C:\Tutorials (or TUTORIALS or
any other case) exists, this will be used.
The same applies to all other folder names.
Jazz uses different
extensions like .jzz, .jzc, etc to distinguish different object types, so you can
have a single subfolder for all types of object, or you can define separate
subfolders to make your Windows set-up more like the way mainframe libraries
are organized, or some combination. We
recommend that you use the full set of subfolders, as illustrated here, to
avoid clutter. Extensions for COBOL
Copy and BMS maps default to the values used by Micro Focus, but you can change
these extensions if you need particular extensions for your local
software. The extensions are irrelevant
when objects are sent to a mainframe, as z/OS uses specific libraries, not
extensions, to distinguish different types of object.
MANASYS
generates COBOL programs using Jazz definitions and
procedural code. All record layouts are
generated directly into the program, and so it doesn’t use need to use COPY
statements within COBOL except for standard CICS control blocks. However, there are two situations where
MANASYS generates COBOL copy books: -
1.
SQL
Record definitions. These have to
appear in the COBOL program as
EXEC SQL INCLUDE record END-EXEC.
MANASYS therefore generates a record
layout in the COBOL Copy library to support this syntax.
2.
Web
Service Input and Output Messages.
Although MANASYS generates the COBOL Web Service program with in-line
message definitions, a copy book is needed to create the binding file and WSDL
or JSON message formats.
This is
only relevant for Classical CICS programs.
When you [Save] or [Process] a 3270 screen
layout, the BMS code to create the physical map is stored in this folder. If
the Test Environment is z/OS then [Process] will submit a job to create the
physical map.
When the
test environment is z/OS then [Process] will submit a job to z/OS and then
return its output into this folder. This
folder is not displayed on this Configure/Workbench page unless Test
Environment is set to z/OS.
Note that
this folder does not have to be within the Common Path\Project hierarchy,
although in this example it is. When
your job has processed it is copied into this folder and removed from the JES
output queue, and clicking [Job Results] opens Notepad to view your job
results. If you examine the folder with
Windows Explorer you may see two entries, for example
for JOB00123 you’ll see JOB00123.txt and JOB000123.txt.txt. The first is the job as JES returned
it. Notepad doesn’t recognise the first character
of each line as a printer control character, so you see these and there is no
line spacing for new page or control characters “0” or “-”. The second removes the control character,
inserts blank lines for control characters “0” or “-”, and a line of hyphens
for “1” (new page).
A folder
search is initiated when you set up Jazz for the first time, click [Check
Folders] or [Initialise Project], or type “*” in one of the folder
textboxes. This displays the Set
Configuration Value dialog, with the name of the object that you are
setting. For example, here we’re setting
Jazz Project, which has been coloured yellow on the underlying Configure
dialog: -
Set
Configuration Value displays
·
The
original text, “*”, in the original textbox is redisplayed as a label
·
Within
Path shows the path hierarchy so far.
Here we’re defining Project, which will be a folder within the Common
Path, so here the value of the common path is displayed. If we were defining one of the next level,
such as Jazz Programs, then Within Path would show the Common Path \ Project.
You may need to drag the right-hand side of the Set Configuration Value
dialog box to the right to see the whole path.
·
The
original text is displayed in a textbox.
Here you can edit it, for example typing “MyNewProject”. As you type here, the related text in the
Configure form will also change. You
might do this if you were going to create a new folder, and needed to change
the text value.
Action
buttons then follow
·
[Browse]
opens Windows’ Browse For Folder dialog, with the path
hierarchy so far highlighted, and with an option to create new folders: -
Expand the highlighted folder and select the
folder that you want. You can create a
new folder by clicking [Make New Folder]: this creates a folder named “New
Folder” which you can immediately re-name.
If you want to create a hierarchy, like JobOutput/Project1,
then use [Make New Folder] and create JobOutput, then
again [Make New Folder] Project1.
Whether a selection or new folder, you can only go one level at a
time.
·
[Create]
will create a new folder within the path so far, using the name in the
textbox. It must be valid, so you’ll
change “*”.
·
[Undo]
is for “Oops” moments: if you created a path incorrectly, you can click undo to
delete it (if possible), clear the textbox, and start again.
·
[OK] Following a
successful [Browse] or [Create] the Set Configuration Values dialog
closes. Click [OK] if you want to leave
this dialog without making any change.
When values
have been given for the user file paths click [Initialize Project] and Jazz
will copy some initial objects into the libraries. A selection dialog will appear: -
First time
you should probably select all items – click on the top item, then press
<shift> and click the last with <shift> pressed. With an updated version of Jazz you may be given a list of objects to select. If in doubt, select all.
Click this
for a training project: various Jazz training objects
will be downloaded. As with [Initialise
Project] you have the option of selecting items, and the particular tutorial
will have told you which objects you need.
However it is harmless to select all.
Here you
give the options that will be used for the Intermediate Language (COBOL),
screen generation, and Easytrieve Conversion.
Intermediate
Language. You can’t change this: it’s put here just to
emphasis our future intent.
COBOL
Dialect. Choices are Enterprise COBOL for z/OS, and MicroFocus COBOL.
Choose Enterprise COBOL for z/OS if the program is to be developed for
z/OS or the Micro Focus mainframe subsystem. Choose MicroFocus
COBOL for other development. Currently
(August 2020) the only change is the format of COBOL SELECT … ASSIGN
statements.
Level. If set to 6.2 or greater then validation code will be generated using
the newer built-in functions TEST-NUMVAL, TEST-NUMVAL-C, and TEST-NUMVAL-F to
allow input data to be entered as decimal or floating-point numbers. Otherwise, values have to be entered as
integers, without any decimal points, currency symbols, or exponents.
Include Jazz Program as Comments.
If checked then the Jazz source program is
included as comments at the top of the program.
Individual Jazz statements are also printed within the body of the COBOL
program just ahead of the corresponding COBOL statements, whether this is checked
or not.
Show Jazz Proc Stmts
as Comments. If checked then Jazz
statements are inserted as comments ahead of the COBOL statements that are
generated from them in the procedure division.
Show
Dictionary Entries in Jazz Program. If checked, then Jazz will
print into the program (as comments) the entries that will be added to the
system data dictionary. The data dictionary feature isn’t yet developed: when it is
the entries shown will be picked up and put into a dictionary database.
Sequence
Numbers (left). If unchecked, columns 1 to 6 will be left
blank. If checked, you can set the line
increment.
Program
Name from
000020
IDENTIFICATION DIVISION. AAnExmpl
000030
PROGRAM-ID. AAnExmpl. AAnExmpl
000040
AUTHOR. JazzUser
(Using Jazz from Visual Studio) AAnExmpl
000050
DATE-WRITTEN. 15/09/2019 1:25:12 PM AAnExmpl
Generate
Diagnostic Code. If checked, Jazz creates extra COBOL code
that may be useful in the event of a run-time error (abend). This code introduces a small overhead, but
our recommendation is to leave this checked if you’re directly using z/OS: the
overhead (only a few extra MOVE statements) will be undetectable in
practice. With Micro Focus Enterprise
Developer and Visual Studio, you may feel that it’s unnecessary clutter.
Allow
SQL. This must be checked to allow MANASYS to
include SQL definitions in the Jazz programs, and in the generated COBOL.
STXIT
Limit (Batch only). In batch programs some abends are trapped
(for example, Data Exception), allowing your Jazz program to present diagnostic
messages in terms of your Jazz program, not just leave it to you to interpret a
COBOL dump. The program may be able to
recover from this and try again: you can set the number of retry attempts up to
9. STXIT is not used if the test
environment = IDE (refer tab Workbench Options).
Max Jazz
Error Level. If Jazz checking finds errors with severity
greater than the level set here, then COBOL won’t be generated. Error severity may be
·
T Terminal error: Jazz can’t continue
·
S Severe Error: Jazz can’t generate a correct COBOL program
·
E Error:
Jazz has made a correction that should result in a correct COBOL program
·
W Warning: The program is probably
correct
·
I Information: This isn’t a problem, just something that
Jazz thought you should know.
Sometimes
you might want to change this from “E” to “S” to allow Jazz to generate some
COBOL anyway.
Decimal as Comma. Check this if you want numbers
to be printed in the European form, with a comma for the decimal point and a
period separating thousands. Thus with a
value of 1 million, 234 thousand, 567 and a decimal fraction of 89,
Unchecked: will print as 1,234,567.89
Checked: will print as 1.234.567,89
MANASYS
Jazz inserts SPECIAL-NAMES. DECIMAL-POINT IS COMMA. Into the CONFIGURATION SECTION.
Currency. MANASYS Jazz generates COBOL
PICTURE clauses with a dollar sign, $, as its currency symbol. With your cultural settings this may be
correct for you, or your Windows and COBOL cultural settings may interpret this
character as another symbol. You should
first experiment, generating a program like Aanexmpl
(see JazzUGTraining.htm) that prints some MONEY values. If this gives you the result that you want,
then you don’t need to use this configuration setting. But if you have a need to deal with multiple
currencies, or your Windows and COBOL cultural settings don’t handle currency
symbols in a way that you like, you can use this option. If you use this option, then MANASYS inserts
another line like
CURRENCY SIGN IS '€' WITH PICTURE
SYMBOL '$'.
into the CONFIGURATION SECTION. This causes MANASYS to generate PICTURE
clauses with $, but for the results to be printed with the € symbol.
You can set the Currency by typing one or more
characters into the textbox to the left of “Currency”, selecting a character
from the combo to the right, or a combination.
Here I selected the £ symbol (which I don’t have on my keyboard), then
added GB to create code GB£: -
causing MONEY values to be printed like this
CICS
Mapping Level. Setting this has no effect unless you are
generating web services, where it can affect the size of messages. Suppose you have a message structure defined
with a variable number of occurrences of a record. With CICS Mapping Level absent or less than 4
then the message will always contain the maximum number of occurrences of the
record, with excess records being sent as initialised values (blanks and
zeros). With CICS Mapping Level 4 or
greater a COBOL OCCURS DEPENDING ON structure is created, and the actual number
required (up to the maximum) is sent.
CICS Mapping Level 4 is not currently supported by Micro Focus.
3270
Template. When you create a new screen Jazz starts with
a template: here you give the name that will be used as default by the screen
editor. If you have local standards
about 3270 layout then you may prefer to create your own template with a
different name.
Year Rollover. MANASYS stores dates as an 8 digit number, in format ccyyMMdd, e.g. the 6th June 1941 is stored as 19410606. Year Rollover lets you define the rules for deducing a century when it’s not given. With the following setting, if the year is greater than 40 then the century is 2000, otherwise it is the current century, 2100.
Thus a date entered as 6/6/41 will be 20410606, i.e. 6th June 2041, not 6th June 1941.
Field Heading Options. Here you can change the way in which column headings are printed. By default, with both checkboxes unchecked: -
1Printed at 15 Dec 2022, 10:27:53 Program Aanexmpl Page 1
0Region *-----------Region-----------* District *------------Salesperson's-------------* *-----Sales-----* DateCommenced
*Nbr-* *------------Name------------* *-----------------Name-----------------* *------this-----*
*-----month-----*
0 1 New Zealand 1|REEDE, Phillip $468.55 28 Feb 2018
With No Hyphens checked: -
1Printed at 15 Dec 2022, 10:32:50 Program Aanexmpl Page 1
0Region * Region * District * Salesperson's * * Sales * DateCommenced
*Nbr * * Name * * Name * * this *
* month *
0 1 New Zealand 1|REEDE, Phillip $468.55 28 Feb 2018
With No * Boundary checked: -
1Printed at 15 Dec 2022, 10:35:28 Program Aanexmpl Page 1
0Region Region District Salesperson's Sales DateCommenced
Nbr Name Name this
month
0 1 New Zealand 1|REEDE, Phillip $468.55 28 Feb 2018
Upper Case Names. COBOL Field Names are normally defined as you wrote them, but if this is checked they are generated into the COBOL in capitals whatever way you wrote them.
No SID Comments. By default, MANASYS will generate comments like [22] to the right of Jazz statements, to help you relate the COBOL code to the Jazz statements from which they have come. Check this if you don’t want these comments.
Use Binary Search. To look up external tables SEARCH or SEARCH ALL is used. SEARCH is a simple 1-to-nbr sequential search. SEARCH ALL is a binary search. SEARCH ALL is more efficient, but the key fields MUST be in ascending order. For small tables, say less than 50 entries, it is not worth using SEARCH ALL. When the table keys are in ascending order, this parameter determines when to use SEARCH ALL: if the number of table entries is less than this number, SEARCH will be used.
See https://www.jazzsoftware.co.nz/Docs/JazzLRM_SEARCH.htm for more information
EZT Conversion. This gives a few options that affect Easytrieve Conversion dialogs.
Print Routines. It is now recommended that you generate Report Routines in all situations, so this option is assumed for you and you don’t have the option to uncheck it.
Insert on Exit. On exit from the EZT Conversion Notepad, if this is unchecked a MsgBox asks whether you want to insert the converted EZT statements into your Jazz program ([Yes], ‘[No], [Cancel], select [Yes] and another MsgBox tells you “EZTConv.EZT Saved” ([OK]). Check this and neither of these MsgBox dialogs appear.
Clear EZTConv. When you click [EZT Conv] the Easytrieve Conversion Notepad is opened. It should be empty: but a previous session may have left something in the work file: if this is checked it will be cleared automatically. Unless you are part of the Jazz Software development team, leave this checked.
Combine Repts. Default (unchecked): each report is produced with its own DD statement. For example, Program MISC3058 produces REPORT1 and REPORT2, and would use JCL as in Example 1. If Checked, printing is produced in the EZT style, from a single DD.
Example 1: Combine
Repts Not Checked
//*** Run BATCH PROGRAM in IDE with Micro Focus Enterprise
Developer
//JAZZUSER JOB
,CLASS=A,MSGCLASS=A
//GO EXEC PGM=MISC3058,TIME=(0,10)
//SYSOUT DD SYSOUT=*
//PRTERR DD SYSOUT=*
//SNAP DD SYSOUT=*
USED BY JZSTXIT
//* Inserted DD statements based on program
//INP DD DSNAME=&&INP,DISP=(NEW,PASS)
//REPORT1 DD SYSOUT=*
//REPORT2 DD SYSOUT=*
//JZWK1 DD DSNAME=&&JZWK1,DISP=(NEW,PASS)
Example 2: Combine
Repts Checked
//*** Run BATCH PROGRAM in IDE with Micro Focus Enterprise
Developer
//JAZZUSER JOB
,CLASS=A,MSGCLASS=A
//GO EXEC PGM=MISC3058,TIME=(0,10)
//SYSOUT DD SYSOUT=*
//PRTERR DD SYSOUT=*
//SNAP DD SYSOUT=*
USED BY JZSTXIT
//* Inserted DD statements based on program
//INP DD DSNAME=&&INP,DISP=(NEW,PASS)
//REPORT1 DD DSNAME=&&REPORT1,DISP=(NEW,PASS)
//REPORT2 DD DSNAME=&&REPORT2,DISP=(NEW,PASS)
//SYSPRINT DD SYSOUT=*
//JZWK1 DD DSNAME=&&JZWK1,DISP=(NEW,PASS)
DDNAME. This provides the DDName to be used for the combined report. It must be a valid DDName and not used by any other DD of the GO step.
ORDER(Null). When checked, PROCESS statements generated by EZT conversion will include ORDER(NULL) unless the EZT JOB statement is associated with SORT causing a real ORDER option to be generated. A PROCESS without any ORDER option, and one with ORDER(NULL), create exactly the same COBOL, so why ORDER(NULL)? The point of ORDER(NULL) is to prevent later EZT conversion from adding another ORDER option to the PROCESS statement.
EZT and Jazz handle sequence and control breaks differently. In Jazz, PROCESS Input ORDER(Field1 BREAK, Field2); defines the sequence and control breaks for any PRINT statements executed within the logical scope of the PROCESS Input /END PROCESS Input. In EZT however, SEQUENCE and CONTROL apply to reports, and so a program can read an input file and produce several reports from it with different sequences and control breaks.
If an EZT program contains a report that specifies SEQUENCE and/or CONTROL, and the PROCESS statement has no ORDER option, the report’s sequence will become an ORDER option of the PROCESS statement. However, if the PROCESS statement already has an ORDER option then logic is created where selected data are written to a work file, which is then read back in the sequence required by the report.
Adding ORDER(NULL), which is the default, ensures that all sequenced reports are produced using a work file. This makes converted Jazz programs behave like EZT, but it is not always the best approach. If ORDER(null) is checked you can always remove an unwanted ORDER(NULL) to allow conversion to add ORDER from SEQUENCE, conversely you can always add ORDER(NULL) if it’s unchecked but the added ORDER is not valid.
For more information, see https://www.jazzsoftware.co.nz/Docs/JazzUGEZTLogic2.htm#_Printing_and_Reports Examples 2 and 3.
Here you
give the details needed to allow jobs to be created and submitted by FTP/FTPS
to the z/OS system. This tab is
irrelevant and can be ignored if you’ve set Test Environment (Workbench options
tab) to IDE, and you are testing your generated COBOL programs with Visual
Basic/Micro Focus Enterprise Developer (MFED), not directly submitting the job
to a z/OS system.
UserID, Password. These are the credentials with which you log
into TSO on the z/OS system. Unless
your z/OS system has been set up to allow anonymous FTP (which is unlikely)
Jazz needs to log on to the FTP/FTPS connection in order to upload the
generated COBOL and submit a job to compile [and run] it, so it needs this
information. When you enter the password you must repeat it in the textbox
“Repeat PWord”.
Your z/OS system may periodically (monthly?) require you to change your
password: when you do this (with TSO) you will also need to enter the new
password here.
Job Stmt. This
is a pro-forma JOB statement. Note that,
like all “JZL”, it is standard z/OS JCL except that the statements may be
longer than 72 characters, and may include Jazz parameters: names starting with
“@” that are substituted before the JCL is submitted. Here there is a parameter @Jobname, which is
formed according to the rule described in the section “JobName
Rule”.
JobName Rule. Choose a rule to create a value for @Jobname.
ISPF. Here
you describe the library name hierarchy, as you would in ISPF. The main value of this is to give values for
symbolic parameters @Project and @Group, which are used in the following
section, Libraries
JZL templates. See below.
JZL is “Jazz-format JZL” that Jazz uses to submit a job
Job Submission. IP
gives the address that you’d use in a TN3270 session to communicate with your
z/OS system. Port is the port number for
FTP communication. Secure FTP (TLS) will
be used if it is detected. Your z/OS
system should be configured to support this, otherwise your z/OS credentials (userid and password), as well as the following details of
your job submission and results, are exchanged with basic FTP and are
vulnerable to interception.
Libraries. Here
you define the z/OS libraries that you’ll use.
Note that their DSNAME values can be defined with Jazz parameters. After substitution these values may be used
when jobs are generated and submitted.
DCLGEN is only relevant if you’re using MANASYS Jazz with DB2 (ZOS),
otherwise this option is irrelevant and will be ignored. For this library @Project.@Group. is probably
not appropriate.
Web Services. This
gives the details that you need to develop and test web service provider and
requester programs with z/OS. See below for more details.
Job Output. Like
Common Path on the Workbench Options tab, you must name a folder where the job
output will be placed when Jazz downloads it from the z/OS mainframe. Enter “*” to initiate a dialog to search for
and set the Job Output path. As with
Common Path. you give a complete path: you may name a folder within the common
path or an independent folder. Downloaded
jobs don’t need to be shared, so you may decide to use a folder within your My
Documents folders. A value is required if you’re using z/OS testing.
JZL is
“Jazz-format JZL” that Jazz uses to submit a job. For example, if you click [Process] when you
are editing a batch program, then after Jazz has checked the program and found
that there are no serious errors it will generate and submit a job by: -
1.
Uploading
the generated COBOL to the COBOL source library (defined as “Source”)
2.
Creating
a JOB statement based on the Job Statement on this form
3.
Creating
JCL from the batch compile template JZCompileBatch. This uses the procedure IGYWCL and so
includes a Compile and Link step
4.
Adding
a step to run the program based on the template JZGo,
with additional DD statements derived from the files used by the program that
have DSNAME options.
You can
edit any of these templates by selecting a template from the Combo and clicking
[Edit JZL]. This will open the named
template with Notepad.
JZL is
normal z/OS JCL except that: -
1.
Lines
do not have to fit within “columns 1 to 72”, but can be any length.
2.
Lines,
including parameter lines, can include Jazz Parameters, which are words
starting with “@” like “@Program”.
Jazz
converts JZL to JCL by: -
1.
Substituting
Jazz @ parameters. The JZL and hence the
JCL may also contain JCL parameters like &SYSUID – these will be handled
later by z/OS.
2.
Breaking
over-long JCL statements at appropriate boundaries, and creating continuation
lines. (This does not apply to parameter
lines).
To be
substituted a parameter must be bounded by punctuation or the end of the
line. If you wish to have a parameter
value directly followed by other text use the special punctuation symbol “!”
(shift-1 on most keyboards). ! will be
removed from the output line when it is used in this way: thus
@Program = “WST1”
BINDING=@Program!HTTPSOAPBINDING
results in
BINDING=WST1HTTPSOAPBINDING
Lines that
use this special punctuation should not use “!” in any other way as ALL “!”
will be removed from that line. However
it is a normal data character in other situations, albeit invalid in JCL.
Here is the
list of parameters recognized by JZL => JCL conversion. Mostly the source of these values is obvious,
and is usually a field in the z/OS tab of the configuration form. Parameter values may be entered in lower or
upper case or a mixture, but Jazz may change this: -
·
In
situations where the value MUST be upper case to avoid errors, like the z/OS
library names (@Source, @Copy, @JCL, @LoadBatch, and @LoadCICS) the values will
be changed to upper case as they are entered.
In the table below, the parameters with “U” in the Case column are
forced to upper case. Otherwise
parameter values retain the case with which they were entered.
·
In
some cases a parameter value is wanted in upper case in the z/OS file system,
but in lower case in the z/OS Unix file system.
An example is Project, which is set by default to @Userid and therefore
is upper case. However when this is a
component of the HFS name it may need to be lower case. In such cases you can use @lc… or @uc…
parameter names, e.g. if @Project has value “IBMUser”
then @lcProject will have value “ibmuser” and
@ucProject would have value “IBMUSER”.
If a parameter value contains further parameters then the coercion to
upper or lower case occurs on the initial substitution. For example, if a Jazz @parameter has value “/u/@project”, then @ucParameter will
initially become “/U/@PROJECT”. Now
@Project will be substituted, but since the @ name is neither @ucProject nor
@lcProject the actual value of @Project will be used, so if the value of
@Project were “Myprojt” the final value of
@ucParameter would be “/U/Myprojt”.
Parameter name |
Case |
Comment |
@JobName |
U |
Formed by the rules in JobName Rule |
@Library |
U |
May be set to @Source, @Copy, @Loadbatch, or @LoadCICS |
@Userid |
U |
From textbox on z/OS tab |
@Suffix |
|
Set automatically. See JobName Rule |
@Program |
U |
Taken from the PROGRAM statement |
@Screen |
U |
Screen name: set when the Jazz Screen Editor submits a physical map for assembly |
@JobStmt |
|
From textbox on z/OS tab |
@Project |
|
From textbox on z/OS tab, usually defaulted to @Userid |
@lcProject |
L |
Value of @Project in lower case |
@ucProject |
U |
Value of @Project in upper case |
@Group |
|
From textbox on z/OS tab |
@lcGroup |
L |
Value of @Group in lower case |
@ucGroup |
U |
Value of @Group in upper case |
@TypeValue |
|
From textbox on z/OS tab. Currently not used |
@Source |
U |
From textbox on z/OS tab |
@Copy |
U |
From textbox on z/OS tab |
@JCL |
U |
From textbox on z/OS tab |
@LoadBatch |
U |
From textbox on z/OS tab |
@LoadCICS |
U |
From textbox on z/OS tab |
@HFS |
|
From textbox on z/OS tab |
@Reqname |
L |
Web Service Provider: Request member name |
@Respname |
L |
Web service provider: Response member name |
@Pgmint |
U |
Web Services: parameter for DFHLS2WS. Value CHANNEL or COMMAREA |
@Contid |
|
Web Service provider: container name |
@Mode |
|
Set by program to “Provider” or “Requester” |
@DBRMlib |
U |
From SQL tab for DB2 (zOS). Used for SQL jobs |
@SSID |
|
Ditto |
@Collection |
|
Ditto |
@DBSchema |
U |
Ditto |
@Plan |
U |
Ditto |
Give the
name of the zFS (z/OS Distributed File Service) that
you’ll be using for Web Services. As
with the JZL Templates section, Provider and Requester name JZL templates that
you can edit. Just click on the word
“Provider” or “Requester” to open a Notepad window. Or they are listed in the JZL Templates
Combo, so you can select and edit them from there.
[Check zFS]. Checks (and
creates if necessary, subject to a dialog), the pair of files defined as zFS, i.e. /u/manajazz/Provider
and /u/manajazz/Requester, with subfolders /shelf and
/wspickup.
Note that these names are case-sensitive.
NB:
previous versions of MANASYS referred to HFS (Heirarchical
File System), and this is just a name change as far as MANASYS is
concerned. Both file systems remain
available, but IBM recommend that you use zFS. For more information see z/OS
File System overview - IBM Documentation
This tab can change its
appearance depending on your selection of options from the common section: -
Here you
select the database type (currently only DB2 is tested), whether you are using
DB2 locally or on z/OS, the database name, and schema name. Values shown above are from a local (on my
laptop) installation of DB2 LUW and its SAMPLE database.
The only field requiring special comment here is “Schema”.
A relational database contains not only normal tables like EMPLOYEES containing data that we can retrieve and update, it contains System Catalog views which are views and tables used by the database to describe itself and manage access. We don’t want to see the SYSCAT views, so we give the schema name that our database uses for normal tables. To find out this schema name you can list the database schema names by selecting SCHEMANAME from SYSCAT.SCHEMATA. SCHEMANAME can be up to 128 characters long but is rarely more than 16 characters, so I’ve used SUBSTR to make the display more compact: -
SELECT SUBSTR(schemaname,1,18) schemaname FROM syscat.schemata
which produces: -
SCHEMANAME
------------------
NULLID
ROBERTBW10
SQLJ
SYSCAT
SYSFUN
SYSIBM
SYSIBMADM
SYSIBMINTERNAL
SYSIBMTS
SYSPROC
SYSPUBLIC
SYSSTAT
SYSTOOLS
13 record(s) selected.
RobertBW10 is my Windows user name and the administrator for this laptop, and this name was picked up automatically for the user tables when I installed DB2 LUW.
With zOS unchecked the Connection section is displayed, giving
information that allows you to connect to the database. Clicking [Test Connect] verifies that you can
connect with a message as below.
This tab
shares its values with the function [JazzJen]/Data/Import
from SQL, values can be set and changed on either form.
With the checkbox zOS checked, this tab appears like this: -
From the common part of the form with ZOS:
· The Database name is almost irrelevant. It is necessary because Jazz requires a value to put into the PROGRAM statement, and it is useful documentation, but unlike DB2 LUW the COBOL compile does not connect to the database and the database name is not used in the BIND step. You will probably give a value like PAYROLL, BILLING, MARKETING.
· The Schema name is required. Here it does not have to be entered in upper case, but it will be used (converted to upper case) as Qualifier in the BIND step.
The lower part of the tab gives values that are used in the submitted job.
· DBRMLib is a dataset name of a library used in the COBOL Compile step,
· SSID and Collection are used in the BIND step,
· SSID is used in the batch GO step.
Your systems programmer will give you the values that you should be using.
There is a DL/1 tab, but you can’t use it. We started developing DL/1 support for a potential client, but the client did not proceed with the project and so DL/1 (IMS) support is not available in any working state, so we password protected this tab to keep users from activating features that don’t work. If you want to discuss DL/I support with us, please contact us: Robert@Jazzsoftware.co.nz or linkedin.com/in/robert-barnes-5b833a.
This tab defines
where client interface objects will be created, and what sort of objects are
required. Refer to the Users’ Guide
chapter, Creating a Client Interface for a Jazz Web
Service, for information on the use of this tab.
This tab is
designed for the Jazz software development team, not for Jazz users.
The field
on this tab that is most likely to be relevant to Jazz users: Loop Trap Limit. At various points in Jazz the logic should
be going through a list – of statements, of fields, whatever – and if we have
made a programming error the code may go into an endless loop. To prevent this a limit has been coded: if
the limit is reached then there is a message “Loop Trap Exceeded” and the program
stops. Unless you are writing much larger programs than we do you shouldn’t see
this message: if you do see it but you think that it’s a valid situation you
may like to set a larger limit.
You may be
asked to check Enable Logging to help us to diagnose a problem. If this is checked, the section Jazz Logging
below becomes visible, and you can select what type of logging is required. The first time that you select this option
you will have to define a folder for logs.
While Enable Logging is checked every time you run Jazz you’ll create a
log file: -
The type of
logging is determined by the options checked in the Jazz Logging section. You need a security code from Jazz Software
Ltd to use the Startup option. Here is
an example of a log with Files Read checked: -
20190929_150531:Jazz Logging
Started. Version:Debugging
20190929_150531:Workbench.Getfile:C:\Users\Robertbw10\source\repos\Jazz\Jazz\COBOL.jzc
20190929_150532:Workbench.Getfile:C:\tutorials\TstSQL\Jazz_Programs\WSPG1.jzz
20190929_150532:Getfile:C:\Users\Robertbw10\source\repos\Jazz\Jazz\JAZZ.jzc
20190929_150532:Getfile:C:\tutorials\TstSQL\Jazz_CopyDefs\MySvce-WSPG1.jzc
20190929_150532:Getfile:C:\tutorials\TstSQL\Jazz_CopyDefs\JZABNDW.jzc
20190929_150532:Getfile:C:\Users\Robertbw10\source\repos\Jazz\Jazz\DFHEIBLK.jzc
20190929_150532:Getfile:C:\tutorials\TstSQL\Jazz_CopyDefs\Custf.jzc
20190929_150532:Getfile:C:\tutorials\TstSQL\Jazz_CopyDefs\Types.jzc
20190929_150532:Getfile:C:\tutorials\TstSQL\Jazz_CopyDefs\JZTrim.jzc
20190929_150532:Getfile:C:\tutorials\TstSQL\Jazz_CopyDefs\JZSMth.jzc
20190929_150532:Getfile:C:\tutorials\TstSQL\Jazz_CopyDefs\JZMDays.jzc
20190929_150532:Getfile:C:\tutorials\TstSQL\Jazz_CopyDefs\JZDTVS.jzc
20190929_150555:Jazz Logging
Ended
Other
options on this tab cause various diagnostics to be produced as Jazz runs. These will be meaningless without access to
Jazz .NET source code, and mostly are not useful with the compiled version of
Jazz available to users. This tab may
change in appearance with different builds, as we add special diagnostic tests
for things we are working on at the time.