Raincode Sort
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. Using Raincode Sort
Raincode Sort is a utility that sorts records from one or multiple files and saves them to an output file.
It can be invoked in three different ways:
-
Directly from
COBOLorPL/I: Since most of the sort code is in aDLL, Raincode runtime utilizes thatDLLfor all sorts called directly from these languages. -
Using
JCLwithPGM=SORT: Defining the relevantDD (SYSIN, SORTIN, SORTOUT)and the same syntaxSYSINshould contain as a command. TheRaincodeSortRunner.exeis also invoked this way through JCL. -
By
RaincodeSortRunner.exe: Providing aFileConfigdefining theSORTIN,SORTOUTandSYSIN.SYSINis a file where all the utility commands are provided. The input data is provided in a fileSORTIN, and the output will be written toSORTOUT.
You can get help for Raincode Sort by running it without arguments on the command line. Detailed information is also provided in the Raincode Sort settings section.
RaincodeSortRunner.exe is installed along with the Raincode Crossbow installation. For more details, refer to the Raincode Crossbow Installation.
|
2. Raincode Sort settings
Raincode Sort supports an additional RCSET command to fine-tune your sort by setting internal constants.
The syntax is:
RCSET <OPT>=<VAL>,<OPT>=<VAL>,…
The supported options are:
| Option | Default | Usage |
|---|---|---|
|
10000 |
Sets smaller than this will not use concurrency to speed up the sort. |
|
3 |
|
|
2 |
|
|
10000 |
Sets smaller than this will be sorted with the default system sort. |
|
4194304 |
3. Raincode Sort command-line option
3.1. Miscellaneous
| Command-line option | Default value | Description |
|---|---|---|
|
Encoding used for ASCII based formats. Default value is iso-8859-1 |
|
|
Causes a JIT breakpoint to be hit. Useful for debugging custom hooks. |
|
|
Config to be merge at the begin of each command |
|
|
This command-line option is an additional .net 'app.config' file. |
|
|
DYNALLOC not supported command will be ignored |
|
|
Encoding used for EBCDIC based formats. Default value is ibm500 |
|
|
Interpretation of data. ByFormat is the deprecated default, which depedns on the -Ebcdic and -Ascii options. Valid values are:
|
|
|
XML file configuring the mapping and representation of files. |
|
|
Displays the tool’s help information. |
|
|
||
|
|
Displays a description of the program. |
|
|
Specifies the log level. Valid values are:
|
|
PD Format is equal to PDF (or PDC if false) (Default false). |
|
|
Encoding used to read the SYS-IN file. The possible values are UTF-8, US-ASCII, or an integer representing the code page. Default value is UTF-8 |
|
|
|
Displays the version information. |
|
Prints statistics on processed records. |
|
|
ZD Format is equal to ZDF (or ZDC if false) (Default true). |
4. Control Statements
Raincode Sort supports the most commonly used control statements, including:
SORT with the options EQUALS and NOEQUALS.
-
SUM -
INCLUDE -
OMIT -
RECORD -
MERGE -
COPY -
ALTSEQ -
OPTION -
INREC -
OUTREC
MODS for E15 and E35 user exits.
Raincode Sort supports user exit routines written in HLASM as well as in COBOL, that can be used to alter the incoming and/or outgoing flow of records processed by the sorting utility.
These routines can be taken from the mainframe with no change, and compiled just as any other legacy programs.
In the exit statements, the following parameters are ignored:
-
the size of main storage (m)
-
the library where the routine is located (s)
-
the linkage editor requirements (e).
The HILEVEL argument is also ignored.
The following data formats are not yet supported:
-
FL -
D1 -
D2
Some transversal features are not yet present:
-
Date handling -
Symbols -
Bit constants and sub-byte fields
Appendix A: Useful information
This appendix includes some additional useful information concerning Raincode Sort.
A.1. Good to know
In this section, some useful tips and details are provided.
|
Handling
When the FILES= option is used with a value greater than one, the input files are expected to have the logical name FILES= optionSORTINX.
|