Raincode Insight


Version 6.0.136.0

Raincode Crossbow

Raincode Crossbow is a consistent release of the entire Raincode product line, covering compilers, emulators and ancillary tools.

In practice, Raincode Crossbow is designed with three driving forces:

  • A focus on performance across the board:

    • The internal computation engine for non-binary numeric data types (display numeric or packed decimals) has been entirely overhauled, resulting in performance improvements that can go up to a factor of 5 (depending on the level of dependence on these non-binary data types)

    • The file I/O layer has been optimized to ensure the best possible performance when dealing with indexed or sequential files

    • RadaR is a revolutionary solution to run batch steps 5 to 10 times faster, without changing the application source code or even the JCL they are called from

    • The Visual Studio plugin now runs the heaviest debugging operations asynchronously, thereby dramatically improving response time and the overall user experience, even when debugging programs with hundreds of active variables

    • The views generated to access VSAMSql and IMSql data using plain SQL DML statements have been optimized dramatically

  • Updated .NET platform support running both on Linux and on Windows, on virtual machines or in containers, on the cloud, on laptops or servers managed on premise.

  • Consolidation of the product suite, allowing all Raincode software to be built and upgraded synchronously, thereby avoiding the headaches that come from multiple products that follow different (and sometimes, incompatible) release cycles.

Version 6.0

In addition to the above description, Raincode Crossbow v6.0 (see release notes) is a technical release that includes the following:

  • Support for .NET 10.0 and SQL Server 2025 across the board.

  • The Visual Studio plugin now supports Visual Studio 2022 and 2026, with improved support for JCL debugging.

  • Support for the File-AID JCL utility.

  • Support for TLS encryption on QIX and IMS TN3270 terminal servers.

  • Removal of support for .NET Framework and .NET 6.0.

  • Removal of support for Microsoft Host Integration Server (HIS) for Db2.

  • Removal of 32-bit support.

1. Introduction to Raincode Insight

Raincode Insight is a data visualization and analysis tool on the Power BI desktop. It provides users with an interactive and creative dashboard for exploring the repository of Raincode legacy compilers. For more details, refer to the Repository

1.1. Prerequisites

  • SQLite ODBC Driver: To load the SQLite database in Raincode Insight, the user has to install the SQLite ODBC Driver, which is available here.

  • Desktop version of Power BI: Users can download the desktop version from this link.

  • Raincode Insight requires a previously installed version of Raincode Legacy Compilers and Tools and Raincode JCL.

1.2. Create Raincode Insight compatible SQLite file

  • Execute the script PrepareRaincodeInsight.ps1 located at C:\Program Files\Raincode\Crossbow\net10.0\scripts\Repository to create the Raincode Insight compatible SQLite File.

pwsh "C:\Program Files\Raincode\Crossbow\net10.0\scripts\Repository\PrepareRaincodeInsight.ps1" "${path\to\file.db3}"
The SQLite file generated by the Raincode compilers or JCL should be used as input to prepare a database. Refer to the command line options for more details on generating a file.

2. Load Database in Raincode Insight

Follow the steps mentioned below to load the database in Raincode Insight:

  • Double-click the Raincode Insight template (RaincodeInsight.pbit). A pop-up will appear in the main window.

image001
Figure 1. Pop up screen
  • Provide the path to the SQLite database in the db3datasource text box and then click Load.

image002
Figure 2. Path to SQLite Database
If Raincode Insight prompts for credentials while loading the SQLite file, use x as the username and x as the password; otherwise, the database loading will fail.
  • A progress pop-up window displaying the status of the database loading will appear.

image003
Figure 3. Progress pop-up window
If the system issues ODBC-related error messages while loading the database, it is likely that your ODBC driver has not been installed properly.
  • Once the database is loaded, the Raincode Insight dashboard will be available to the user.

image004
Figure 4. Raincode Insight dashboard
  • To save the Raincode Insight template, select File→Save, provide a name and location in the Save As window and click Save.

image005
Figure 5. Save Raincode Insight

3. User interface

The user interface of Raincode Insight provides three basic views:

  • Report view: The dashboard gets created in this view.

reportview
Figure 6. Report View

The dashboard consists of the following tabs:

2 Errors

3 Calls

4 CICS®

5 JCL

6 SQL

9 Graph

  • Data view: Provides a preview of the data.

dataview
Figure 7. Data view
  • Relationship view: Displays the relationship between various objects.

relationshipview
Figure 8. Relationship View
Be notified that any changes in the data and the relationship views will be reflected in the report view.

4. Overview

This tab provides the total number of programs available in the compilation repository and offers filters for the programs.

image006
Figure 9. Overview Tab

4.1. Filters

  • The language filter in the top right corner of the screen filters the view by programming language.

LanguageFilter
Figure 10. Language Filter

For example, select COBOL as the language: the report view will filter all the data related to COBOL.

Reportviewcobol
Figure 11. Filtered data
  • The volume filter in the top left corner of the screen populates the total number of COBOL, PL/I and HLASM programs.

totalnoofprograms
Figure 12. Volume

It also provides details at the bottom left corner of the screen, such as languages, expanded and non-expanded, and the total number of programs.

  • The compilation result in the bottom right corner of the screen provides details of the error types.

compilationresults
Figure 13. Compilation result

Errors can be filtered by the two types listed below:

  • By the error types: for example, when the error type is selected as 022-Compilation Error, the overview tab will populate data corresponding to the selected error type.

compilationerror
Figure 14. Report View compilation error
  • By the programming language and the error types: for example, select a COBOL programming language from the language filter and the error type as 034-Parsing error, the overview tab will populate the data corresponding to the filter applied.

reportviewfilter
Figure 15. Report View filters

Users can hover over a data point in the report view to see the tooltip. This tooltip presents the values of the data point.

hover
Figure 16. Tool-tip

5. Errors

This tab provides the details of all types of errors.

image007
Figure 17. Errors Tab

5.1. Filters

The available filters are:

  • Search error message

Type or select by drop-down menu

search
Figure 18. Search error message
  • Language

LanguageFilter
Figure 19. Language
  • Log Levels

selecterror
Figure 20. Log Levels
  • Error types

typeoferrors
Figure 21. Error types
The option for the error filter on the top right corner of the report view would disappear, if No error is selected in the error filter.
  • Sorting

Errors can be sorted as per:

  • Error message

  • Language

  • Return Code

  • Count

  • Number of programs

filtererrors
Figure 22. Filtered Errors
The above screenshot has sorted the errors by the number of programs.

6. Calls

This tab shows all the targets used in the portfolio.

image008
Figure 23. Calls Tab

It provides a call overview, which is a graphical interpretation of the call type.

graphcall
Figure 24. call overview

6.1. Filters

The available filters are:

  • CICS®

  • JCL

  • Verb

  • Call Type

callfilter
Figure 25. Call Filter
  • The search target at the top right corner of the screen provides a drop-down menu to search for a specific target.

searchtarget
Figure 26. Search Target

The call information in the bottom left corner of the screen can also be sorted by:

  • Call type

  • Count

  • Program count

  • Target count

sortinformation
Figure 27. Sort information

7. CICS®

This tab provides a list of CICS® commands found in the portfolio.

image009
Figure 28. CICS® Tab

7.1. Filters

The available filters are:

  • Search CICS® Command

  • Language

  • Unrecognized

  • 3270

cicsfiltercontrol
Figure 29. CICS® filter control
  • The Commands WordCloud at the top left corner of the screen shows frequently used keywords in the portfolio.

wordcloud
Figure 30. Command WordCloud

A Tooltip provides the frequency of the keyword.

hoverinfo
Figure 31. Keyword hover information

By clicking a keyword, filtered CICS® commands would appear.

filteredkeyword
Figure 32. Filtered CICS® Command

The Usage in the bottom left corner of the screen populates the program name, language and line number of CICS® command. It appears when a keyword is clicked or any of the above-mentioned filters are applied.

Usage
Figure 33. Usage

8. JCL

This tab provides details on all the JCLs. It populates the total number of JCLs, Program steps, Procedure steps (proc steps) and Data definitions (DDs).

image010
Figure 34. JCL Tab

The user can search for a JCL job from the Job Name drop-down menu.

jcljob
Figure 35. Select Job name

A graph will populate for the selected job name. And the program steps giving the information about program name, program parameters, prog cond, and sequence will also appear at the top right corner of the screen.

graphjcl
Figure 36. Graph and Prog Steps JCL job name

9. SQL

This tab lists all the SQL tables available in the portfolio.

image011
Figure 37. SQL Tab

When the user selects an SQL table from the Search SQL Table option, a call graph for the selected SQL table will be populated in the Graph area.

graphsql
Figure 38. SQL Call Graph
The red denotes the selected SQL table.

9.1. Filters

The SQL call graph can be further filtered by using Link Type and Depth.

linktype
Figure 39. Filters

10. Statistics

This tab provides general statistics of the portfolio.

image012
Figure 40. Statistics Tab

The statistics tab populates three types of graphs, as mentioned below:

  • Expanded Lines vs Object Size:

expandedline
Figure 41. Expanded Lines vs Object Size
  • Input Lines vs Object Size:

inputsize
Figure 42. Input Lines vs Object Size
  • Input Lines vs Static Size:

staticsize
Figure 43. Input Lines vs Static Size

By analysing these graphs, users can find the anomalies in programs.

A tooltip appears when the user hovers over the dots, showing program details.

tooltipinfo
Figure 44. Tooltip Information

10.1. Filters

The available filters are:

  • By Language

  • CICS® command

  • JCL steps

filters
Figure 45. Filters Type
  • By Search Program

Searchprogram
Figure 46. Search Program

11. Program Info

This tab provides all the information about the selected program.

image013
Figure 47. Program Info tab

11.1. Filters

The available filters are:

  • Language

  • CICS® command

  • JCL Steps

  • Compilation result

filterprog
Figure 48. Filters ProgramInfo

The user can select a program from the table to view detailed information about it. This tab provides information about language, compilation errors, CICS® commands, error messages, JCL job and step names.

Proginfo1
Figure 49. Program details

This tab also populates a call graph, which can be further filtered through Link Type and Depth.

Proginfocalltree
Figure 50. Program Info Call Graph

12. Graph

This tab provides graphical representation of the portfolio.

image014
Figure 51. Graph tab

12.1. Filters

The available filters are:

  • Language

  • Link Type

  • CICS®

  • JCL

graphfilters
Figure 52. Graph Filters

The filter types are updated based on the other selected filters. For example, selecting HLASM as language, link type filter will have only call option.

resetfilters
Figure 53. Reset filters

The call graph and table will also get updated.

updatedcallgraph
Figure 54. Updated call graph

Appendix A: Lists of tables and figures in the document