Releases: Synergex/CodeGen
CodeGen 5.2.6
CodeGen Release Notes
- We added a new structure expression token <IF STRUCTURE_MAPPED> that allows you to generate conditional code for mapped structures.
- We corrected an issue that was causing the field loop expression tokens <IF DATE_YYYYMMDD> and <IF_DATE_YYMMDD> to fail to evaluate as true for nullable date fields.
- This version of CodeGen was built with Synergy/DE 10.3.3d and requires a minimum Synergy version of 10.1.1 to operate.
Symphony Framework Components
- There were no Symphony Orchestrator changes in this release.
- There were no Symphony Framework CodeGen Extensions changes in this release.
CodeGen 5.2.5
CodeGen Release Notes
- We added four new structure expression tokens <IF STRUCTURE_ASCII>, <IF STRUCTURE_ISAM>, <IF STRUCTURE_RELATIVE> and <IF STRUCTURE_USER_DEFINED>. These expression tokens can make it significantly easier to create template files that can create appropriate output based on the type of data file that is associated with the structure being processed.
- This version of CodeGen was built with Synergy/DE 10.3.3d and requires a minimum Synergy version of 10.1.1 to operate.
Symphony Framework Components
- There were no Symphony Orchestrator changes in this release.
- There were no Symphony Framework CodeGen Extensions changes in this release.
CodeGen 5.2.4
CodeGen Release Notes
- We fixed a problem that was occurring when the <FIELD_MAXVALUE> replacement token was used in conjunction with decimal or integer fields that use a UI Toolkit Window-script based selection window, and in conjunction with the -ws command line option. The token would previously insert an incorrect value that was equal to the enumerated base value minus the enumerated step value, but without regard to the number of selections present in the window. This behavior has been corrected.
- We Fixed a problem that was preventing UI Toolkit window script files from being parsed correctly.
- This version of CodeGen was built with Synergy/DE 10.3.3d and requires a minimum Synergy version of 10.1.1 to operate.
Symphony Framework Components
- There were no Symphony Orchestrator changes in this release.
- There were no Symphony Framework CodeGen Extensions changes in this release.
CodeGen 5.2.3
CodeGen Release Notes
- We added a new experimental utility to the distribution. The Code Converter utility can be used to automate bulk searches within and bulk edits to an applications code. This utility is in a usable form but is still a work in progress and is likely to undergo substantial changes as it evolves.
- We added two new utility routines (IsDate.dbl and IsTime.dbl) that are referenced by some of the supplied sample template files.
- We corrected a regression that was introduced in the previous release which caused the field loop expansion token <FIELD_SQL_ALTNAME> not to default to using the actual field name if no alternate name was present.
- We performed an extensive code review and cleanup, updating the code in several areas to take advantage of new features available in the Synergy compiler, and also improving efficiency.
- We fixed an issue that was causing the CreateFile utility -r (replace file) option to fail, an existing file would not be replaced even if the -r option was specified.
- We fixed an issue in the CreateFile utility that would result in an unhanded exception in the event that invalid key information was passed to XCALL ISAMC.
- We made some minor code changes to allow CodeGen to be built in a .NET Core environment and we hope to be able to leverage .NET Core to once again support the use of CodeGen on non-Windows systems (starting with Linux) in the near future.
- This version of CodeGen was built with Synergy/DE 10.3.3d and requires a minimum Synergy version of 10.1.1 to operate.
Symphony Framework Components
- We no longer ship the Symphony Framework sample templates with CodeGen. You can obtain the latest Symphony Framework templates from the Symphony Framework web site (http://www.symphonyframework.net).
- There were no Symphony Orchestrator changes in this release.
- There were no Symphony Framework CodeGen Extensions changes in this release.
CodeGen 5.2.2
CodeGen Release Notes
- We added a new field loop expansion token <FIELD_FORMATSTRING> which can be used to access a fields format string value.
- We added a new command-line option -utpp which instructs CodeGen to treat user-defined tokens as preprocessor tokens. This means that user-defined tokens are expanded much earlier during the initial tokenization phase, which in turn means that other expansion tokens may be embedded within the values of user-defined tokens.
- We removed the RpsBrowser utility from the distribution; it was an experimental project that was never completed.
- This version of CodeGen was built with Synergy/DE 10.3.3d and requires a minimum Synergy runtime version of 10.1.1.
Symphony Framework Components
- There were no Symphony Orchestrator changes in this release.
- There were no Symphony Framework template file changes in this release.
- There were no Symphony Framework CodeGen Extensions changes in this release.
CodeGen 5.2.1
CodeGen Release Notes
- We added several a new generic expression token <IF COUNTER_n_op_value> that allow you to write conditional template code based on testing the current value of the two internal template counters against a simple numeric expression. Here is an example of using one this new expression:
<IF CODEGEN_COUNTER_1_EQ_10>
Code to include for every 10th item
</IF>
- We added several new loop utility expression tokens that allow you to write conditional template code based on the total number of items that will be processed by a loop, how many items have already been processed, and how many remain, either including or excluding the current item. The new expressions are <IF PROCESSED_EXCLUSIVE_op_value>, <IF PROCESSED_INCLUSIVE_op_value>, <IF REMAINING_EXCLUSIVE_op_value>, <IF REMAINING_INCLUSIVE_op_value> and <IF TOTAL_ITEMS_op_value>. Here is an example of using one of these new expressions:
<IF TOTAL_ITEMS_LT_50>
Code for a small number of items.
<ELSE>
Code for a larger number of items.
</IF>
-
We added several new loop utility expansion tokens that allow you to determine the total number of items that will be processed by a loop, how many items have already been processed, and how many remain, either including or excluding the current item. The new expressions are <PROCESSED_EXCLUSIVE>, <PROCESSED_INCLUSIVE>, <REMAINING_EXCLUSIVE>, <REMAINING_EXCLUSIVE_MAX_n>, <REMAINING_INCLUSIVE>, <REMAINING_INCLUSIVE_MAX_n> and <TOTAL_ITEMS>.
-
We added a new file header token <REQUIRES_CODEGEN_VERSION> that allows you to specify that a minimum version of CodeGen is required in order to successfully process a template. Here is an example of using one this new expression:
<REQUIRES_CODEGEN_VERSION>5.2.1</REQUIRES_CODEGEN_VERSION>
-
We made a minor correction to the documentation of the -f l command line option. The documentation previously stated that this option caused fields marked as "Excluded by Language" to be EXCLUDED from field loop processing, but actually such fields are excluded by default. The -f l command line option actually suppresses this behavior, causing such fields to be INCLUDED in field loop processing.
-
This version of CodeGen was built with Synergy/DE 10.3.3c and requires a minimum Synergy runtime version of 10.1.1.
Symphony Framework Components
- There were no Symphony Orchestrator changes in this release.
- There were no Symphony Framework template file changes in this release.
- There were no Symphony Framework CodeGen Extensions changes in this release.
CodeGen 5.2.0
CodeGen Release Notes
- We added two file loop expansion tokens <FLOOP_ODBC_NAME> and <FLOOP_RPS_NAME>.
- This version of CodeGen was built with Synergy/DE 10.3.3c and requires a minimum Synergy runtime version of 10.1.1.
Symphony Framework Components
- There were no Symphony Orchestrator changes in this release.
- There were no Symphony Framework template file changes in this release.
- There were no Symphony Framework CodeGen Extensions changes in this release.
CodeGen 5.1.9
CodeGen Release Notes
- We made a slight change to the way that the multiple structures command line option (-ms) is processed, allowing it to be used when only one repository structure is specified. This allows for templates that use the <STRUCTURE_LOOP> construct to be used when only one structure is being processed.
- We fixed an issue that was causing the <FIELD_SPEC> token to produce incorrect values for auto-sequence and auto-timestamp fields. Previously the value 8 would be inserted, now the correct value i8 is inserted.
- We added two new structure expansion tokens <FILE_ODBC_NAME> and <FILE_RPS_NAME> that expands to the repository ODBC table name or structure name of the first file definition that is assigned to the structure being processed.
- This version of CodeGen was built with Synergy/DE 10.3.3c and requires a minimum Synergy runtime version of 10.1.1.
Symphony Framework Components
- There were no Symphony Orchestrator changes in this release.
- There were no Symphony Framework template file changes in this release.
- There were no Symphony Framework CodeGen Extensions changes in this release.
CodeGen 5.1.8
CodeGen Release Notes
- We added a new generic expansion token <DATABASE> that can be used to insert the name of the relational database currently being targeted.
- We added three new generic expression tokens <IF DATABASE_MYSQL>, <IF DATABASE_POSTGRESQL> and <IF DATABASE_SQLSERVER> that can be useful when developing database agnostic template files.
- We enhanced the <REQUIRES_OPTION> file header token by adding a new option TF which allows a template designer to specify that the template-defined folders feature must be enabled.
- This version of CodeGen was built with Synergy/DE 10.3.3b and requires a minimum Synergy runtime version of 10.1.1.
Symphony Framework Components
- There were no Symphony Orchestrator changes in this release.
- There were no Symphony Framework template file changes in this release.
- There were no Symphony Framework CodeGen Extensions changes in this release.
CodeGen 5.1.7
CodeGen Release Notes
- We added experimental support for generating code for MySQL and PostgreSQL databases by adding a new command line option -database. This option allows you to specify a target database type and affects the SQL-compatible data types that are generated by the field loop expansion token <FIELD_SQLTYPE>. If this option is not used then the default database continues to be Microsoft SQL Server, but this default may be changed via the new environment variable CODEGEN_DATABASE_TYPE. Before considering this support final we would appreciate any feedback from developers working with MySQL or PostgreSQL about whether we have chosen appropriate data type mappings. A list of these data type mappings can be found here.
- We changed the SQL Server data type mappings for D6 (YYMMDD) dates from DECIMAL(6) to DATE.
- We changed the SQL Server data type mappings for D6 (YYYYPP) and D4 (YYPP) period numbers from CHAR(6) and CHAR(4) to DECIMAL(6) and DECIMAL(4) respectively.
- We changed the SQL Server data type mappings for nullable time (HHMMSS and HHMM) from DECIMAL(6) and DECIMAL(4) to TIME(0).
- This version of CodeGen was built with Synergy/DE 10.3.3b and requires a minimum Synergy runtime version of 10.1.1.
Symphony Framework Components
- Symphony Orchestrator was upgraded to use Symphony Framework V3.2.11.
- There were no Symphony Framework template file changes in this release.
- There were no Symphony Framework CodeGen Extensions changes in this release.