Raincode Insight

Version 4.2.490.0

1. Introduction to Raincode Insight

Raincode Insight is a Power BI desktop-based data visualization and analysis tool. It provides users with an interactive and creative dashboard for the repository of the raincode legacy compilers. For more details, see Raincode Legacy Compilers artifacts repository

1.1. Prerequisites

  • SQLite ODBC Driver: To load the SQLite Database in Raincode Insight, user has to install SQLite ODBC Driver

SQLite ODBC Driver is available at http://www.ch-werner.de/sqliteodbc/
  • Desktop version of Power BI

Desktop version of Power BI is available at https://powerbi.microsoft.com/en-us/downloads/
  • Raincode Insight requires a previously installed version of Raincode Legacy Compilers and Tools and Raincode Batch.

1.2. Create Raincode Insight compatible DB3 file

  • Execute script PrepareRaincodeInsight.ps1 placed at C:\Program Files\Raincode\Compilers\scripts\Repository to create the Raincode Insight compatible DB3 File.

2. Load Database in Raincode Insight

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

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

Figure 1. Pop up screen
  • Provide the path to the DB3 database from the Raincode compiler in db3datasource text box and click on Load

Figure 2. Path to DB3 Database
  • A progress pop-up window with the status of the loading of the database will appear.

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 or at all.
  • Once the database is loaded, the Raincode Insight dashboard will be available to the user.

Figure 4. Raincode Insight dashboard
  • Save the Raincode Insight template: Select File→Save and provide a name and location in Save As window and click Save.

Figure 5. Save Raincode Insight

3. User interface

The user interface of the Raincode Insight provides three basic views:

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

Figure 6. Report view

Dashboard consists of the following tabs:

2 Errors

3 Calls




9 Graph

  • Data view: Provides preview of the data.

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

Figure 8. Relationship View
Be notified that any changes in the data and the relationship views would reflect in the report view.

4. Overview

This tab provides total number of programs available in the compilation repository. It also provides filters for programs.

Figure 9. Overview Tab

4.1. Filters

  • Language : Filter the view as per the programming language.

Figure 10. Language Filter

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

Figure 11. Filtered data
  • Volume: Populate the details on total number of COBOL programs , PL/I programs and HLASM programs.

Figure 12. Volume

It also provides the details such as Languages, Expanded, Non Expanded and total number of Programs.

  • Compilation result: Provides details of the error types.

Figure 13. Compilation result

Errors can be filtered:

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

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.

Figure 15. Report view filters

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

Figure 16. Tool-tip

5. Errors

This tab provides the details of all types of errors.

Figure 17. Errors Tab

5.1. Filters

  • Search error message

Type or select by drop down menu

Figure 18. Search error message
  • Language

Figure 19. Language
  • Log Levels

Figure 20. Log Levels
  • Error types

Figure 21. Error types
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

Figure 22. Filtered Errors
In the above screenshot the errors have been sorted as per the number of programs.

6. Calls

This tab shows all the targets used in the portfolio.

Figure 23. Calls Tab

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

Figure 24. call overview

6.1. Filters

  • CICS , JCL, Verb, and Call Type.

Figure 25. Call Filter
  • Search Target: drop down menu to search for a specific target.

Figure 26. Search Target

Call information can also be sorted by:

  • Call type

  • Count

  • Program count

  • Target count.

Figure 27. Sort information


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

Figure 28. CICS Tab

7.1. Filters

  • Search CICS Command, Language, Unrecognized and 3270.

Figure 29. CICS filter control
  • Commands WordCloud: shows frequently used keywords in the portfolio.

Figure 30. Command WordCloud

A Tooltip provides frequency of the keyword.

Figure 31. Keyword hover information

By clicking a keyword, filtered CICS commands would appear.

Figure 32. Filtered CICS Command

Usage: populates 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.

Figure 33. Usage

8. JCL

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

Figure 34. JCL Tab

Search JCL job from the Job Name drop down menu.

Figure 35. Select Job name

A graph will populate for the selected job name. Program steps giving the information about program name, program parameters, prog cond, and sequence will also appear.

Figure 36. Graph and Prog Steps JCL job name

9. SQL

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

Figure 37. SQL Tab

Select any of the SQL table from the Search SQL Table option, a call graph for the selected SQL table will be populated in the Graph area.

Figure 38. SQL Call Graph
Selected SQL table is denoted by the red dot.

9.1. Filters

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

Figure 39. Filters

10. Statistics

This tab provides general statistics of the portfolio.

Figure 40. Statistics Tab

Statistics tab populates three types of graph:

  • Expanded Lines vs Object Size

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

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

Figure 43. Input Lines vs Static Size

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

A tooltip appears when the user hovers over the dots, which shows details about the program.

Figure 44. Tooltip Information

10.1. Filters

By Language, CICS command, and JCL steps

Figure 45. Filters Type

By Search Program

Figure 46. Search Program

11. Program Info

This tab provides all the information about the selected program.

Figure 47. Program Info tab

11.1. Filters

Language, CICS command, JCL Steps and Compilation result.

Figure 48. Filters ProgramInfo

Select a program from the table to get all the information about it. This tab provides the information about language, compilation errors, CICS command, Error messages, JCL job name and step name.

Figure 49. Program details

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

Figure 50. Program Info Call Graph

12. Graph

This tab provides graphical representation of the portfolio.

Figure 51. Graph tab

12.1. Filters

Language, Link Type , CICS and JCL.

Figure 52. Graph Filters

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

Figure 53. Reset filters

Call graph and table will also get updated.

Figure 54. updated call graph

Appendix A: Lists of tables and figures in document