Download Latest Version JRecord_0.93.2.zip (10.6 MB)
Email in envelope

Get an email when there's a new version of JRecord

Home / jrecord / Version_0.81.2_Test
Name Modified Size InfoDownloads / Week
Parent folder
ReadMe_JRecord_0.81.2.md 2016-10-04 12.1 kB
JRecord_Version_0.81.2_update.7z 2016-10-04 2.3 MB
CobolToJson_0.81.2.7z 2016-09-30 1.1 MB
JRecord_Version_0.81.2.7z 2016-09-30 2.3 MB
Totals: 4 Items   5.8 MB 0

JRecord 0.81.2

JRecord is a library for reading Cobol data files in Java. This is again a intermediate release, some area's still need to be finalised (and could be changed in later releases) Which is why I have put a Test in the release name

This releases is in response to several user requests.

This version contains changes related to

  • Xml-Schema's
  • Minor changes to ExternalRecord that allow it to be used in a fluid style
  • Changes related to Occurs-Depending

Code Generation

A basic Code Generator has been added to JRecord. It will take a Cobol Copybook and generate skelton java read/write programs using a 'Template'. CodeGen now supports 3 main templates

  • Standard - Generate a Cobol Field Name class + sample read/write programs
  • LineWrapper - as well as generating a Cobol Field Name class it also generates a Line Wrapper class where Cobol field names are Getter/Setter methods. Data is stall stored in JRecord Lines.
  • StdPojo - as well as generating a Line Wrapper, the StdPojo will convert the Cobol-Data-Record into a stadard java-class.

See https://sourceforge.net/projects/jrecord/files/jrecord_CodeGen/Version_0.81.1/

Downloads

  • JRecord_Version_0.81.2.7z - jars / source code etc.
  • CobolToJson_0.81.2.7z - jars / source for the Cobol2Json utility
  • JRecord_Version_0.81.2_update - Use at your own risk. First attempt at supporting Complex Occurs-Depending

If you use JRecord, you will find the RecordEditor usefull

  • The RecordEditor can:

    • Generate JRecord Code (using JRecord CodeGen utility) see RecordEditor Generate Documentation
    • import Cobol-Copybooks, the cobol import has the option of also generating a JRecord IOBuilder definition.
    • view/edit Cobol-Data files with the imported Cobol-copybooks

Changes

Changes 0.81.2

  • Changes to Xml-Schema format, you can now enter just field-lengths (or positions) when fields follow one after the other.
  • For Xml-Schema the Font is now used as a default-font (if not in the Xml definition).
  • The ExternalRecord class now has a asIOBuilder which converts it back into a IOBuilder.
  • Allows fields to be inserted into a ExternalRecord. Use at your own risk.
  • Can set starting-position in MultiCopybookLoader + extra functions added to ExternalRecord

Changes 0.81.1

  • Minor Cobol Enhancements
  • New Cobol2Json program
  • New Layout compare programs. This is both an example of using CodeGen generated code and a utility to test JRecord\
  • Two new 'Templates' - lineWrapper and stdPojo added to CodeGen utility
  • In the CodeGen utility, yopu can now specify a directory holding user written 'Templates'.
  • CodeGen has been added to the RecordEditor. For a description see RecordEditor Generate Documentation.
  • Cobol2Csv and Cobol2Xml are now seperate projects

Changes 0.81

  • New IOBuilder documentation
  • New Code Generation utility
  • Refactor IOBuilders

    • Updates, fixes, Documentation for CsvIOBuilder (JRecordInterface1.CSV)
    • Updates, fixes, Documentation for FixedWidthIOBuilder (JRecordInterface1.FIXED_WIDTH)
    • Updates, fixes, Documentation for RecordEditor-Xml-IOBuilder (JRecordInterface1.SCHEMA_XML)
  • Refactor Cobol2Xml (both interfaces and Implementing classes).

    • Added extra options to Cobol <--> Xml processing
    • Added Java-Script and Groovy Examples for Converting Cobol Files to/from Xml.
    • Added Record support
  • Rewrite of Cobol2Csv / Csv2Cobol; it now supports occurs depending, can produce files without Column Headings

  • New Extended Cobol Copybook reader class (CobolSchemaReader) for use use in utilities like Cobol2Xml or Cobol2JSon
  • Version 0.95.6 of cb2xml has been used.
  • Various User requests and fixes

Changes 0.80.8i

This version is basically a code cleanup with some enhancements to the Utility programs.

  • Added new parameter -OutputFileStructure (-ofs) to Cobol2Csv program. This option allows users to generate Csv files with/without column headings.
  • Refactor IOBuilder Interfaces and implementation classes. General code cleanup.
  • Refactor Cobol2Xml Interfaces and implementation classes.
  • Fixes for the Fixed-Width and Csv IOBuilders
  • Added initToSpaces option to IOBuilders / Cobol2Xml classes. When writing very large Cobol Files, setting to false will be more efficient, but you will need to set every field
  • Added Cobol-Copybook Reader option to IOBuilders and Cobol2Xml interfaces/classes.
  • Added Record-Hierarchy option to Cobol2Xml classes. This allows you to define a hierarchy between records and read/write xml more accurately reflects the internal relationship
  • Added Record-Selection and Record-Hierarchy options to Data2Xml and Xml2Data programs (batch cobol to/from Xml programs)
  • Added JavaScript / Groovy examples of converting cobol files to/from Xml.

Changes 0.80.8h

  • Fix issue with file structure in CobolIoProvider.java (Bug #12)
  • Fix issue with redefines (Bug #13)
  • Fix to TextLineReader to make it thread safe (Bug 15)
  • Several other minor fixes
  • Added support for occurs depending Cobol <==> Xml programs
  • Added support for specifying Usage at Group Level in copybook
  • Added support for Multi-line value's in copybook
  • Added maven pom files
  • Added test files to Source directory to allow Maven Testing
  • Changes for testing on Linux
  • Extra tests
  • Reorganise source diretory
  • Change to cb2xml 0.95.5

Changes 0.80.8g

  • Adding Multi-Record support to the cobol2Xml and xml2Cobol support
  • Added array support to xml2Cobol
  • Added option to set Record-Type by position in the file.

Changes 0.80.8f

  • Added new Data2Xml and Xml2Data programs. These are replacements for Dat2Xml and Dat2Xml in the cb2xml project
  • Allow Multiple copybooks to be used by the one IOBuilder
  • Added Export to the JRecordInterface1.SCHEMA_XML option. This will save a ExternalRecord as Xml.

Changes 0.80.8e

  • Import/Export of RecordEditor-Xml to include Group-Details.
  • Fix for looking accessing array-fields in the GetGroupField method
  • Added deprecated to some old methods
  • Add Checks to IOBuilders to make sure the Line-Type is compatible with the schema (i.e. byte based records are used with Binary layouts).
  • More Work & testing of IOBuilders. Inparticular the CSV, FIXED_WIDTH, SCHEMA and SCHEMA_XML IOBuilders have undergone basic testing
  • More IOBuilder examples
  • fix for Record-Selections where the field is in a different record.

Changes 0.80.8d

  • Fix for Fixed-Length Writer (see API or user problem discussion)
  • line.getFieldValue("Invalid-Field-name") will throw a run-time expception if an invalid field-name is used. (see API or user problem discussion).
  • new methods (isLowValues, isHighValues, setHex, isDefined, setToLowValues and setToHighValues) have been added to fieldValue class. (see Unsuported values discussion). Some of these methods (setHex, setToLowValues and setToHighValues) only work for byte based records (i.e. Line-class as apposed to CharLine etc).
  • New Continuous (IO_CONTINOUS_NO_LINE_MARKER) for Split_Redefine discussion. This is for multi-record files where there is no line (or record) marker. Record-Length is based on the indivual Record-Type's.
  • New JRecordInterface1 class that acts as a Front-end to JRecord via
    IOBuilders. I would suggest using the new IOBuilder class, take care as there is still more testing needed.

Changes 0.80.8c

  • Support for Occurs Depending on in the common section when using the SPLIT_REDEFINE option.
  • Improvements when creating Occurs-Depending records.
  • Fix for sign trailing Issue (supplied by Nick Briggs)

Changes 0.80.8b

  • basic support for Occurs depending

Changes 0.80.8

  • There is a new Default Csv parser that is much Closer to the Csv Standard. Most people should notice the difference. JRecord will use the new CsvLine class (instead of Line) when reading Csv files. For the most part you should not notice the difference, there are some situations where you might, e.g. if the input line is "","","" if you do line.getFullLine() you get back "","","" while with the new CsvLine you get ,,. If you want to use the "old" lines, you can:
  • New CobolIoBuilder classes have been introduced (JRecord_Basics.htmlBasic IoBuilder Introduction and examples). These should make it easier read and write cobol data files.
  • There are new Csv options for Csv files with embedded carriage-return (\n) characters:
  • By default, JRecord will still use the cb2xml.properties file; but you can specify Cobol columns via CommonBits or specifying the columns when converting the cobol copybook.
  • The GetUnique*Field methods and getFields methods have been replaced by new getGroupField and getGroup

Changes 0.80.7

  • New method of defining File-Schemas in Java code.
  • New ways of getting IO-Readers / Writers
  • Several fixes to the Parameter parsing in Cobol2Csv & Csv2Cobol programs
  • Cobol2Csv & Csv2Cobol programs now accept Xml-Schemas
  • New CsvLine class
  • New Cobol2Cobol utility for copying from one fixed-width file to another.
  • More Example programs
  • Updated Documentation

Changes 0.80.6

  • Postive Comp-3 numbers now use the no-sign nyble instead of the positive nyble value.
  • Added Fixed-Width-Char line support (Constants.IO_FIXED_LENGTH_CHAR)
  • Resolved some differences between the processing of Xml-Schemas in JRecord versus RecordEditor
  • New Example programs for
    • Cobol2Csv and Csv2Cobol example programs
    • Processing Multi-Record files
    • Handling duplicate field names
    • Manipulating schema's
  • New Cobol2Csv and Csv2Cobol example programs.
  • Extra documentation

Changes 0.80.5

  • Zoned-Decimal in Ebcdic-German + several other European language versions of Ebcdic
  • Several fix's for Fixed Width 16 bit charsets (e.g. UTF-16 etc)
  • Fix's / enhancements for Unicode Csv files
  • Several new Examples + the Examples have been reorganised

Changes 0.80.4

  • Adding an new Null-Constant ~ CommonBits.NULL_VALUE

    • When used, the default value ("" for String, 0 for numerics) is assigned to the field, see XmplLineIOF.java
      salesRecord.getFieldValue("KEYCODE-NO").set(CommonBits.NULL_VALUE);
      salesRecord.getFieldValue("DATE").set(CommonBits.NULL_VALUE);
      
  • Fix's RecordEditor-Xml import/export for System-Name and eol-type.

Changes 0.80.3

  • Adding Syncronize to the Cobol-Copybook reader to make it Thread safe.

Changes 0.80.2

  • Adding getUniqueField & getUniqueFieldGroupsInSequence which retrieve field-definitions using both the field name and one or more group levels

Changes 0.80.1

  • Adding ~1, ~2, ~3 etc to duplicate field-names
Source: ReadMe_JRecord_0.81.2.md, updated 2016-10-04