Low Code COBOL Development with MANASYS Jazz

This is the first of what will be a 10-part series of articles about MANASYS Jazz.

1.    What is MANASYS Jazz?

MANASYS Jazz is multi-level development software for mainframe users to make programming as simple as possible without losing any of the flexibility, efficiency, and safety of proven technology.   Aimed at z/OS and Micro Focus users, it is capable of creating COBOL programs for Batch (Basic file processing, Data mapping and conversion, and Reports), CICS (classical), and CICS Web Services.  It also generates interface objects in C# integrating server-side and client-side logic, simplifying the development of mobile, web, and windows apps using mainframe data.

Level 1

Programs can be generated from data definitions and a dialog.  For example, here we’ve used the menu New/Logic/Batch Program.  We give some details: the program name, its input file, do we want it in order? and so on. Here we’re saying that program Batch1 will read CustF in a particular order, we want all records, and we’ll print the records.  We will also be using a Lookup Table (file) called “FR”

Because we checked ORDER the dialog gets us to specify the sequencing fields and control breaks from Custf.  Because we checked PRINT we select which fields we want to print.  We are asked how to relate FR to Custf.  Click [Finish] and the dialog closes and shows us the Jazz program that’s been generated. 

If this is exactly what we want we simply click [Process] to create COBOL which will either be submitted to z/OS, or passed to Micro Focus Enterprise Developer, to compile and run. Here are a few lines of the report it produces.

1Printed at 06 Nov 2021, 07:37:35                                RepNbr1                                Page   1                     

0Account Region District *------------Name------------* *-SalesYTD-* Billingcycle *--------Region Name---------*                     

0 000141      1        2 ORR, Myra Dorothy              $41,985.00            Jun New Zealand                                        

0 000018               3 BARNES, Melissa                $25,358.40            May New Zealand                                        

  000145                 PATCHING, Naomi                 $9,894.06            Mar New Zealand                                        

  000197                 SARTEN, Frederick              $56,624.40            Oct New Zealand                                         

  000219                 TREBILCOCK, Thomas Glanville   $10,373.12            Dec New Zealand                                        

0 000123               4 KNIGHT, William                $30,820.92            Apr New Zealand                                         

0 000114               5 JACOB, Lionel Le Grand          $2,256.58            Feb New Zealand                                        

All this just from definitions and dialogs, without writing a single line of code!

Level 2

When we want more than the dialogs provide we can edit the Jazz program.  Here we’ve moved FR.Name to the left, added SUM to SalesYTD so that subtotals are calculated and printed on every control break.  We’ve also added DateCommenced: -

    PRINT (CustF.Account,CustF.Region, FR.Name,CustF.District,CustF.Name,CustF.SalesYTD SUM,CustF.Billingcycle, CustF.DateCommenced) ;

Now the report has Region Name where we want it, and subtotals are printed on change of District and Region, and grand total at the end.

1Printed at 08 Nov 2021, 09:01:45                                          RepNbr1                                           Page   1

0Account Region *--------Region Name---------* District *------------Name------------* *----SalesYTD---* Billingcycle DateCommenced  

0 000141      1 New Zealand                           2 ORR, Myra Dorothy                   $41,985.00            Jun   28 Feb 2018  

              1 District Subtotal                     2                                     $41,985.00                               

0 000018        New Zealand                           3 BARNES, Melissa                     $25,358.40            May   28 Feb 2018  

  000145        New Zealand                             PATCHING, Naomi                      $9,894.06            Mar   28 Feb 2018  

  000197        New Zealand                             SARTEN, Frederick                   $56,624.40            Oct   28 Feb 2018  

  000219        New Zealand                             TREBILCOCK, Thomas Glanville        $10,373.12            Dec   28 Feb 2018  

              1 District Subtotal                     3                                    $102,249.98                               

Jazz takes care of routine details like formatting data into print lines, so it requires far fewer statements than COBOL.  Program Batch1 is only 8 lines of Jazz, but generates 672 lines (291 Procedure) of COBOL, 32 times as many. However the Jazz language is flexible enough to do almost anything that COBOL can do, so you can add logic including calculations, conditions, loops, and routines.  Routines are performed paragraphs, but unlike COBOL you can pass them parameters. 

Level 3

When even this flexibility is insufficient, experienced COBOL programmers can extend Jazz with COBOL statements, and you can CALL subprograms that might have been written with Jazz, COBOL, Assembler, or any other language that can be called from COBOL.  Subprogram interfaces are fully described in DEFINE statements, making it easy to avoid parameter mismatch errors with CALL, and you can pass constant parameters.

The ultimate flexibility: all objects that MANASYS produces are common languages – COBOL, JCL, BMS, WSDL or JSON, C# – and can be edited.  The intermediate-language programs (COBOL, C#) are written clearly to facilitate this, and support routines are supplied as COBOL source code.  Perhaps useful as a temporary fix while Jazz Software works with you to develop a new feature like IMS support.

Review

Why write an entire low-level program when there are only a few statements needing 3GL flexibility?  From the first version of MANASYS our software has been designed to make simple programming trivial, complex programming easy, and leave you with the full flexibility of the intermediate language on the rare occasions that you need it.  Enormous productivity gains, without any loss of flexibility.

General programming skills are useful for all levels, but COBOL knowledge is only necessary at level 3.  If new programmers are introduced to COBOL through MANASYS Jazz they will be productive very quickly, and pick up COBOL skills as they go.  It’s a great way to solve the COBOL skills shortage.

In the next of this series, we’ll look at how MANASYS works, showing how Jazz data definitions give it so much power.

See our web page if you want more information.  Contact us if you have any questions, or connect with us on LinkedInDownload a free evaluation copy if you want to try it out.