AMT Release Notes

AMT 85

Released: 09 Apr 2021.
For availability, please contact the Avanade Service Portal for information on downloading new releases.

Special attention items:

AMT 85

Product Cat Subcat Description Type Version Priority
AMT LION | AMT COBOL Runtime Jobs/Batches 330131

If there was only one AMT Batch Controller, there was clearly no need to check which should lead regarding the scanning of objects. This happened nevertheless, which could result in misleading error information.

If there is only one AMT Batch Controller, it is now always leading and scanning for leading Batch Controller no longer takes place.
CHANGE AMT 85 Medium
AMT LION | AMT COBOL Developer Database C2101-008

PREVIEW: Changes have been made to support full DB Field Type implementation in AMT, of which one is visible to the customer: If an AMT Reorganize Analyze is run on a Field Type change, like ALPHA to NUMERIC, a warning is now shown that this may cause data loss, whereas this was not mentioned before.
CHANGE AMT 85 Medium
AMT LION | AMT COBOL Developer Database 328800

PREVIEW: Table fields in AMT Developer Studio now have a property DbFieldType. For STRING fields DbFieldType can now be changed to VARCHAR(MAX) instead of TEXT on MS SQL Server.
NEW AMT 85 Medium
AMT LION | AMT COBOL Control Center Server Control 330225

The AMT File Controller raised errors at startup and shutdown, because the Named Pipe it used was not stopping and cleaning its thread correctly.

The Named Pipe implementation has been revised throughout the AMT products.
FIX AMT 85 High
AMT LION | AMT COBOL Runtime Jobs/Batches C2101-073

.writefile could return 'resok=false' after a successful write, if the same file was being updated simultaneously by several running reports. This was caused by an internal DelphiFileAge check, which was often unnecessary.

The check is now performed only when the file is created, which prevents the incorrect behaviour from occurring.
FIX AMT 85 Medium
AMT LION | AMT COBOL Runtime Various 330261

AMT programs crashed if a Basepath with value Null was read from the database.

Null values are now accepted for Basepath reading.
FIX AMT 85 Medium
AMT LION Generator Various 330497 / C2102-025

In the AMT Generator, .ToAlphaValue is suffixed to variables used in concatenations. ToJson and ToXml, however, return C# strings and in those cases the ToAlphaValue resulted in a C# error.

Generation of a suffixed .ToAlphaVar method call has been disabled for these class methods.
FIX AMT 85 Medium
AMT LION Runtime AmtScreens 329583 / 329097

Clicking on a button did not lead to a change in appearance until after the release of the mouse-button, because OnClick was the only event that was handled. 

Event handling has now been split up into a OnMouseDown and a OnMouseUp, which results in a more intuitive look and feel.
FIX AMT 85 Medium
AMT LION | AMT COBOL Runtime Various 330293 / 330393 / 330313 / 330216

Named Pipes logged errors and warnings in the logging, which were difficult to address as the same functionality was coded differently in various AMT products.

As a next step to solving any further problems with Named Pipes, the code has been refactored and is reused between services to improve stability and maintainability.
FIX AMT 85 High
AMT LION Runtime AmtScreens 329967

In AMT Screens RTQuery, re-selecting a table in Table Mode, after switching to Query Mode and executing a select query for a different table, didn't produce updated data from the previous Table Mode selection.

Switching back from Query to Table Mode now updates the previous table correctly.
FIX AMT 85 Medium
AMT LION | AMT COBOL Runtime Various C2103-012

AID, AMT's automatic deployment tool, could not process parameters to start generated scripts.

A column has been added to the parameters tab, 'Top level parameters', in which users can input their parameters for a PowerShell script.
FIX AMT 85 Medium
AMT LION | AMT COBOL Developer Various C2103-013

In the AMT Developer Studio Command Line Interface, for 'Import file' the option 'FNAME=...' now supports multiple files. The filenames need to be enclosed in double quotes and separated by commas. Also, they are all loaded in the same application and must be of the same type/version.
NEW AMT 85 Medium
AMT LION | AMT COBOL Runtime Various C2103-016

The PdfPrinting library was called through AmtCallDll, making it less efficient than it could be.

Now that the PrintService has been migrated to .NET Core, this library can be called directly, so the call through AmtCallDll has been replaced with directly loading and calling the .NET Core version of this library.
CHANGE AMT 85 Low
AMT COBOL Developer Database C2103-023

Floating point database field types have been implemented in AMT COBOL.

Field Type 'FloatDouble' and 'FloatSingle' can now be used in an AMT COBOL table, view or stored procedure. These are 8 or 4 byte ISO standard floating point types and can be used to store COBOL COMP-2 and COMP-1 data. The AMT Query object now supports 'SetParamDouble' and 'ValueAsDouble' methods for setting and retrieving these values in SQL statements.
NEW AMT 85 Medium
AMT LION | AMT COBOL Control Center Configuration C2103-025

Changing the 'Base setup' in the system configuration of the new ASP.NET Core Control Center caused an error to appear, because 'CWA Size' expected an INT32 instead of a string.

The error has been fixed by setting the value to 0 if an empty string is encountered. The settings can now be changed again.
FIX AMT 85 Medium
AMT LION | AMT COBOL Control Center Configuration C2103-028

Trying to add a new printer in the new ASP.NET Core AMT Control Center caused an error, because one of the properties was set to 0 whereas a list was expected.

The error has been fixed by providing the required list. New printers can now be added again.
FIX AMT 85 Medium
AMT LION Runtime Web Client 330493

Control DropDownList did not inherit the font styles set from the Combobox in the web client.

The font styles set has been added to the DropDownList.
FIX AMT 85 Medium
AMT LION Runtime AmtScreens 329549 / C2103-034

In a Combobox, the 'OnSelect' event was executed every time the 'Up' and 'Down' keys were used.

Now, the 'Onselect' is no longer executed on the use of the 'Up' and 'Down' keys, but only when focus is lost or a value has been clicked.
CHANGE AMT 85 High
AMT LION | AMT COBOL Control Center Various C2103-035

The old AMT Control Center and AMT Application Center were made using ASP.NET, which depends on .NET Framework.

The new AMT Control Center and AMT Application Center websites have been made using ASP.NET Core, replacing the ASP.NET websites.
NEW AMT 85 High
AMT LION Runtime Various C2103-037

In MsSql, runtime errors could occur for Cursor Queries on remote databases whose name contained a hyphen.

Now for MsSql,  '[]' are added around the database name in queries at runtime, so the name is escaped and does not raise an error anymore.
FIX AMT 85 Medium
AMT LION Developer Web Services C2103-042

Reloading WSDls created a new AmtWebserviceSupport.exe for each call.

Now, only one instance is started and used.
FIX AMT 85 Medium
AMT LION | AMT COBOL Runtime Jobs/Batches C2103-044

A new property has been introduced in the ComScript module on the Job object: 'StartedDateTime'. This property contains the start time of the job by the AMT Batch Controller.
NEW AMT 85 Medium
AMT LION | AMT COBOL Runtime Various C2103-046

Because of the recent (and on-going) .NET Core move, the AMT Batch Controller needs to switch from PowerShell 5.x to PowerShell 7 for the execution of PowerShell scripts in order to support .NET Core fully. Starting from AMT 85 the AMT Batch Controller will require PowerShell 7 to be installed for the execution of PowerShell scripts within the AMT Batch Controller.

PowerShell 7 can be downloaded from: Releases · PowerShell/PowerShell · GitHub
For debugging PowerShell scripts with PowerShell 7 you have to use Visual Studio Code: Using Visual Studio Code for PowerShell Development - PowerShell | Microsoft Docs
The PowerShell ISE can no longer be used for PowerShell 7, but there is a PowerShell ISE mode in Visual Studio Code:  How to replicate the ISE experience in Visual Studio Code - PowerShell | Microsoft Docs
CHANGE AMT 85 High
AMT LION | AMT COBOL AmtTools Reo C2103-049

When index logic was added to an existing index, or AMT Reorganize was run after a datapump with duplicate keys outside the index logic part in a unique index, AMT Reorganize gave an SQL error or the flag fields were not updated correctly.

Now the flag fields are updated correctly and index logic is retained when 'dropindexes' options are used, so the datapump can use the logic and AMT Reorganize doesn't need to recalculate the index logic. 
Also the tables are now processed in sorted order, so it is easier to find what exactly is happening during large changes.
FIX AMT 85 Medium
AMT LION | AMT COBOL AmtTools Various C2103-050

Authorization security for the new .NET Core AMT Application Center web API has been improved, so that it now resembles the new .NET Core AMT Control Center.
CHANGE AMT 85 Medium
AMT LION | AMT COBOL Runtime Jobs/Batches C2103-054

In ComScript 'Job.QueueName' was blank, if read from a running job. 

Job.QueueName now contains the queue from which it is running or queued in.
FIX AMT 85 Medium
AMT LION | AMT COBOL AmtTools Various C2103-055

The ASP.NET Core Application Center did not always log errors it encountered, because error action only handled 'GET' requests, whereas it should also have handled 'POST' requests.

All errors are now logged correctly.
FIX AMT 85 Medium
AMT COBOL Runtime Various 330533

The AMT Transaction Server occasionally crashed on an invalid received message, due to an incorrect JSON value.

Now the AMT Transaction Server logs the invalid message and keeps on running.
FIX AMT 85 High
AMT COBOL Runtime Various 330524  / C2103-064

The statement: variable = variable * -1 went wrong if variable was of Binary-1 type. 

The statement works again.
FIX AMT 85 High
AMT LION | AMT COBOL Developer Database C2103-067

Preview available for DbFieldType property on Table fields in AMT Developer Studio.

Add PREVIEWDBFIELDTYPE=TRUE to Lion.ini to activate the preview.
With this preview it is possible to change the field type a field gets in the database, like CHAR or VACHAR for Alpha fields and NUMERIC or INT for Numeric fields. The default type shown is the type AMT Reorganize chose in the past. This default behaviour can be changed by a new Application Option.
NEW AMT 85 Medium
AMT LION | AMT COBOL AmtTools Various 330541

The AMT Setup used to update the web.config files for the AMT Application Center and AMT Control Center to use the correct URLs for the business logic. This was missing for the new ASP.NET Core websites.

Setup has been updated to change the appsettings.json files for the new websites.
CHANGE AMT 85 Medium
AMT LION | AMT COBOL Control Center Configuration C2103-078

Adding application aliases, database aliases, or database filegroups in the new ASP.NET Core Control Center caused an error, because the JSON parser expected numbers and got strings.

The error has been fixed.
FIX AMT 85 Medium
AMT LION Developer Various C2103-083

Loading the WSDL has been placed in a different assembly because of the move to .NET Core. Also, in old style webservices WSDLs, popup menu options have been reduced, of which most had already been disabled.
CHANGE AMT 85 Medium
AMT LION | AMT COBOL Runtime Various C2103-048

The AmtCallDll referenced some libraries it no longer needed.

These references have been removed.
FIX AMT 85 Medium
AMT LION Runtime Various 330526

Response for a Consumable Web Service with elementFormDefault=' unqualified' was not deserialized correctly.

Generation of the response class has been corrected to handle 'elementFormDefault='unqualified' correctly.
FIX AMT 85 High
AMT COBOL Runtime Various 330270 / C2103-090

Forms in the web client were refreshed unnecessarily on transactions.

Forms themselves are not refreshed anymore, they only perform an AJAX-request to execute transactions.
FIX AMT 85 Medium
AMT LION | AMT COBOL Control Center Various C2103-091

The new ASP.NET Core AMT Control Center and AMT Application Center websites were showing the same, incorrect, error message: 'Unexpected end of JSON input'.

The error messages have been corrected to show relevant error messages.
FIX AMT 85 Medium
AMT LION Runtime AmtScreens 330571

In Comboboxes, Event 'OnSelect' was not executed if a new value was selected by pressing the 'Up' or 'Down' keys and the Combobox was then closed by 'Enter', pressing the arrow or clicking elsewhere.

The 'OnSelect' is now only fired when the Combobox is closed and the value has been changed.
FIX AMT 85 Medium
AMT LION | AMT COBOL Runtime Various C2103-096 

Bug reports on SQL errors were not accurate, they did not show the right stack trace.

Bug reports on SQL errors now show the exact location of the errors.
CHANGE AMT 85 Medium
AMT COBOL Runtime Various 330539 / C2103-101

Former OS2200: the screen showed question marks in fields, caused by HEX 00 characters sent by the COBOL program.

The HEX 00 characters have now been replaced by spaces.
FIX AMT 85 Medium
AMT LION | AMT COBOL Control Center Configuration 330577

Creating a new print queue in the new ASP.NET Core AMT Control Center was sometimes not accepted because of differences in the handling of time-zones between various JSON flavours.

The AMT Control Center has been updated to properly handle time zones.
FIX AMT 85 Medium
AMT COBOL Generator Various 330182 / C2103-107

The AMT Generator stopped because folder Binaries\Server\Bin couldn't be deleted. 

The folder Binaries\Server\Bin was deleted twice, the second attempt at deletion has now been removed.
FIX AMT 85 Medium
AMT LION | AMT COBOL Developer Various C2103-108

The hyperlinks  in the documentation node no longer worked when they were clicked. Instead an error dialog was shown.

Now the hyperlinks start the browser again. Also, the links in the 'about' dialogs work again, and opening scripts externally.
FIX AMT 85 Medium
AMT LION | AMT COBOL Developer Various C2103-109

Double-click no longer worked after a recent change, if the target object in the relation list was the current object. It should have taken the source object to jump to.

Now the double-click checks the source/target column to detect which value to use in the open statement.
FIX AMT 85 Medium
AMT LION | AMT COBOL Runtime Jobs/Batches C2103-111

Program or Report stays running even after the report is done, because of a timing issue with updating the state in the database.

This has been solved by adding a retry mechanism.
FIX AMT 85 Medium