MANASYS Jazz_logo_02_314x117


MANASYS Jazz Build 16.2.240 Improves Service/Client Development

Summary

Build #240 continues the focus on development of CICS Web Services and related Client Interfaces.  Improvements include support for messages that return several records, improving the New/Logic/Web Service dialog to handle related tables easily, support for VSAM web services, and optionally handling Add and Delete functions.

 

There are a few other changes and error corrections, mostly related to web service improvements.

 

The Bridging Two Worlds video is unchanged from Build 16.1, but this help page gives full details including the most recent changes.

Major Changes

·        Multiple Records.  With Build 16.1 generated clients could only handle messages with a single record.  Now [Client] has caught up with web service generation, creating a client that handles messages from a service generated like this: -

The message will contain up to 20 Employee records.  Timing tests showed that each request/response took 2-3 seconds, but there was no measurable difference between the time for a request/response returning 1 record and one returning 20.  By returning several at once scrolling through the list of records can now be instantaneous.  As before, if the Max value is insufficient the client logic will automatically read the next 20 (or fewer) records when the client scrolls to the 21st record.

 

·         Related Records.  Employee is defined like this, with an EXISTS property noting that EMPLOYEE.WORKDEPT must exist as a value of DEPARTMENT.DEPTNO: -

COPY Department;

DEFINE EMPLOYEE SQL DATA(   

    WORKDEPT CHAR(3) CAPS DKEY 'XEMP2' EXISTS DEPARTMENT.DEPTNO,

 

Because of this relationship, the dialog will include an extra step, giving us the opportunity to add data from the DEPARTMENT table: -

 

Here we’ve selected DEPTNAME.  This is added to the output message, as if the EMPLOYEE record contains this field: -

DEFINE OJSPG2A SERVICE OUTPUT DATA(

    JZ-Employee (20) GROUP,

        JZ-Employee-ReturnCode LIKE Types.ReturnCode,

        Checksum CHAR(40),

        DEPTNAME LIKE DEPARTMENT.DEPTNAME ASSIGN DEPARTMENT.DEPTNAME FKEY EMPLOYEE.WORKDEPT,

        END GROUP);

It is an output field only, and so cannot be updated.  It is part of the Employee GROUP, so data is presented as if DEPTNAME is another field in the Employee record, having the same extent (20) as other Employee fields.

 

·         VSAM support. Clients can be now be generated to support VSAM web services.  Build 16.1 clients worked for DB2, but they depended on the web service including Browsecount in its output message so that the client could control scrolling.  Browsecount was calculated by
      EXEC SQL SELECT COUNT(*) …
so an alternative for VSAM was needed.  Logic was developed that works for VSAM while remaining efficient and avoiding unnecessary I/O.  Click here for more detail.

Miscellaneous Changes

·         Dialog changes. Update no longer requires Max=1.  

·         Add and Delete logic is now optional, Previously Add and Delete functions were always generated if Update was checked.

Errors fixed

The following errors have been fixed

·       SQL Record Length for saving was incorrectly calculated because the calculation didn’t allow space for indicator variables.

·       Help Errors.  A number of minor Help errors, mostly related to using https, were fixed.

·       Next Key value for fields defined CHAR PIC, e.g. EMPNO CHAR(6) PIC '999999', is correctly calculated as if defined PIC, not CHAR.

·       DELETE correctly handles DB2 constraint errors

 

Getting the Latest Build

This build will download automatically when Get Jazz is clicked.  

 

Existing users should

1.    Update their Jazz folders by clicking [Configure] and [Initialise Project], then following the dialog to download all the C# templates: -

@InList.cs
@IsFloat.cs
@IsInt.cs
@IsNoLongerThan.cs
@JazzClient.cs
@Method.cs

@ReadNoScroll.cs

@ReadScroll.cs

@RequestResponse.cs

Also support routines
      JZNXTKY.cbl and JZTRIM.cbl

2.    Recompile support routines JZNXTKY and JZTRIM.

3.    If you’re running MANASYS Jazz from a saved shortcut, check that you’re running build #240 by looking at Help/About, or the line 4 comment of the generated COBOL.  If you have a saved shortcut to the previously-loaded version then this may continue to run the old version.

What Next?  Planning for the Next Release

We’re never short of ideas, but the important ideas are yours.  What would you like us to do next?   Every release is an opportunity to rethink and reset, so there’s never a better time to suggest enhancements.

 

Possible developments: -

·         Client-side interface generation.  This has met objectives for the second stage, but there are still many ideas to make this feature even better. These include

o       Implementing ViewState definitions, providing a facility that works for web services the way that Viewstate works in ASP.NET, supporting web service conversations, and chained execution sequences.

o       Build 16.2 has worked with variations of program JSPG2, a DB2 update program, and JSPG1V which is a VSAM equivalent.  The web service dialog will be reviewed to provide more options and flexibility.  The next stage will likely support record hierarchies such as Client/Orders, and also remove the restriction on VSAM records containing repeating fields or groups.

 

Please let us know your priorities and suggestions for further development.

 

Robert Barnes

CEO, Jazz Software Ltd

Skype: Robert.Barnes3

LinkedIn   linkedin.com/in/robert-barnes-5b833a

www.jazzsoftware.co.nz   

IBM PartnerWorld member