Configuration

Configuration. 1

Workbench Options. 1

Colours. 1

Workbench Options. 1

IDE.. 1

Test Environment 1

User File Paths. 1

Locate or Create Folders. 1

[Initialize Project] 1

[Add Training] 1

COBOL. 1

z/OS.. 1

JZL Templates. 1

Web Services. 1

SQL. 1

Local Installation. 1

ZOS Installation. 1

DL/1. 1

Client 1

Diagnostics. 1

 

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.

Workbench Options

This tab relates to the Jazz workbench: -

Colours

(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.

Workbench Options

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.

IDE

(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.

Test Environment

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.

User File Paths

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.

Common Path

“*”, 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

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: -

None

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. 

Visual Studio

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: -

Eclipse

Temporary rules – behaves as None.  To be reviewed in discussion with a customer who wants this feature.

Subfolders

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.

COBOL Copy

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. 

BMS Maps

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.

Job Output

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).

Locate or Create Folders

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.

[Initialize Project]

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.

[Add Training]

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.

COBOL

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 Col 72.  If checked then cols 73-80 will contain the program name. Here is the beginning of the COBOL program Aanexmpl generated with this option checked: -

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.

z/OS

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 Templates

 

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

Web Services

 

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

SQL

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.

Local Installation

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. 

ZOS Installation

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.

DL/1

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.

Client

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.

 

Diagnostics

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.