AMT Release Notes

AMT 56

Released: 29 Jul 2019.
For availability, please contact the Avanade Service Portal for information on downloading new releases.

Special attention items:

There are no special attention items for this release.

Product Cat Subcat Description Type Version Priority
AMT LION Runtime Web Client 326609
OnEnter was not processed when triggered by a SetFocus in some web clients

When the Editbox is focused by the .setfocus property, the OnEnter event is not properly triggered in Edge, Opera, Firefox or Chrome, however, it did work in Internet Explorer. The .SetFocus property will trigger additional events in newer browsers which were then handled in parallel, while in Internet Explorer the events would be executed later in the process. Therefore Internet Explorer did work. 

OnEnter and OnExit events will now be queued and will be triggered when the result had been processed to perform as supposed.
FIX AMT 56
AMT LION | AMT COBOL Control Center Configuration 321726
Error when clicking on Alias or Filegroup tab

Selecting the Alias or Filegroup tab in the Control Center database settings will give and error if the general database settings have not been saved yet.
The following error would be thrown: "The parameters dictionary contains a null entry for parameter 'databaseId' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.JsonResult GetDatabaseAliasList(Int32, Int32)' in 'Asysco.Amt.ControlCenter.Html5Web.Controllers.ConfigurationController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
Parameter name: parameters". Once the database has been added, you can safely work with those two tabs.

The Alias or Filegroup tab are now hidden until the general settings are saved.
FIX AMT 56
AMT LION Runtime AmtScreens C1901-073
Numeric Editbox does not handle overwrite correctly.

When trying to overwrite characters in the Editbox, by using the insert key on a keyboard in AMT screens,  the input is sometimes blocked. 
This would especially happen when the Editbox was almost filled.  Hence, it wasn't possible to overwrite the text. 

The behaviour regarding overwriting values in a numeric Editbox, by using the insert key, has now been improved.
FIX AMT 56
AMT LION | AMT COBOL Developer Various C1906-084
Hyperlinks in document

Hyperlinks in document nodes where not clickable, links could not be clicked to open the link in a browser.

Now, a hyperlink can be clicked and a browser will automatically be opened and navigate to the selected link.
FIX AMT 56
AMT LION Runtime AmtScreens 328246
AMTScreens
When exporting data to a CSV file from the RTQuery data-grid was placed on a single row.

In the case one would export RTQUERY results into a CSV-file, all rows would end up on one single row, whereas it should be written on to separate lines like the header. The results end up on the same row because the CR/LF symbols were missing after each line. 

This behaviour is corrected and the results from the RTQUERY data-grid will now be added to separate rows.
FIX AMT 56
AMT COBOL Runtime Various C1906-111
Difference of two dates

Finding the difference of two dates is possible in DB2 and the result is returned as a date (the function of subtracting two dates does not exists in SQL Server).

A new function is added to the AMT Framework (AMT_DB2_DATE_DIFF) to subtract two dates. This function will only be utilized when working with SQL Server. The REO will only do this if the system is migrated from IBM/DB2.
CHANGE AMT 56
AMT COBOL Developer Various C1906-114
Added SI-PREVFORM in AmtCobol.

The System Item SI-PREVFORM - already known in AMT LION - has now been introduced in AMT COBOL.  This (read-only) System Item contains the name of the previous active form. Developers can, for instance,  use this System Item to check if it is the first time that a form is sent to the client, which enables one to set some initial values.

E.g.
IF NOT SI-CURRFORM =SI-PREVFORM
 ....
END-IF

SI-PREVFORM can only be used in WS-TO-FORM, in other places it will act identical to the behaviour of SI-CURRFORM.
NEW AMT 56
AMT COBOL Runtime Various C1906-116
Switching between EXEC CICS READNEXT & READPREV returned wrong record.

**FOR CICS IBM/MIFO AMT COBOL ONLY**
When using READNEXT to browse through a VSAM file and then then reversing the direction by using READPREV (or vice versa).
AMT COBOL had to reset the search with the current key, usually resulting in returning of the same record.

Switching between READNEXT and READPREV now does a browse reset and will return the correct record.
FIX AMT 56
AMT LION | AMT COBOL Runtime Scripts C1906-118
Added functionality to backup VSAM DB files.

In the CMD scripts a COPY of a VSAM file is done to create a backup. This file is converted to a database table in the migration project and a means to backup this table/file has to be provided. This change adds two functions to the AMT PowerShell library, a backup and a restore function. These can be used instead of the COPY to create and restore a backup of the specified VSAM (which is migrated to a database table).
NEW AMT 56
AMT COBOL Developer Code Logic C1901-007
Changed COMP-2 type implementation to use up to 17 digit precision.

COMP-2 floating point type could be more precise.
Precision was changed from 15 to 17 digits as needed. This means a variable like

01 TESTCOMP USAGE COMP-2

containing a value 10324036.004089056 is not rounded to 10324036.0040891 anymore.
CHANGE AMT 56
AMT COBOL Generator Various C1907-002
A large expression inside a function fails to parse.

A large expression inside a function fails to parse when the expression between the () is larger than 66 characters.

Now a function call, for example FUNCTION MIN (12, *long calculation multi lines*), will no longer cause a syntax error.
Also the FUNCTION INTEGER() is now implemented.
FIX AMT 56
AMT COBOL Developer Code Logic C1907-003
Fixed locking issue in VSAM files in database.
For the new VSAM files in database implementation (C1904-019) a lock request timeout occurred when a record was written and locked for update.
This issue is resolved with this fix.
FIX AMT 56
AMT LION | AMT COBOL Runtime Web Client 326967
Using Windows Authentication on Application Center and Control Center throws an exception for users who are not authorized.

In the case where Windows Authentication is used and the users are not allowed into the Application Center or Control Center, the AMT Framework should throw a user-friendly Error-message instead of throwing the default browser message. Currently, users would see an error stating that the web.config needs to be modified or the message "automatic creation of user failed because of: "userrejected"" when more details are allowed.
Now the AMT Framework will return a more user-friendly error and adds the exception in the internal logging. Regardless of this, Companies could choose to add their own message instead. 
CHANGE AMT 56
AMT LION | AMT COBOL AmtTools Reo C1906-066
AmtReorganize has ability to reorganize transaction database in batch mode

As one of the improvements in the coming AmtReorganize utility, it will now be possible to reorganize the transaction database through scripting in batch mode.
To do so, the switch /APP: can be used.
NEW AMT 56
AMT LION Runtime Various 327943
The Port of Application Server was not released in cases where it was stopped during debug sessions where reports were still running.

Reports would not be terminated in the cases where the application server is stopped when a Debug-session is still connected to a report.
In this case, the DebuggerHost would be terminated leaving the report running orphaned. This would result in circumstances where the TCP Port remained occupied by this process and would not be freed again.
When one would start a new application, this process would halt as both processes would listen for the same TCP Port.

Now when the application server is stopped, any process being debugged at that time will also be terminated allowing the port to be released again
The app server ports would remain in use by the old app server process while a report in debug was still running even if the appserver was stopped or killed.

When the application server is stopped any process being debugged at that time will also be terminated allowing the port to be released again.
FIX AMT 56
AMT COBOL Runtime Jobs/Batches C1907-015
AMT COBOL writes trailing spaces to print file.

In AMT COBOL, when writing records to 2 files with varying record lengths, the deviating length could cause the records in the second file to be supplemented with trailing spaces. When an AMT COBOL program is executing WRITE statements on a File Definition (that has a length of 20) and then executes a WRITE-statement of a File Definition (that has length 10), it will internally share the same print layout. This would cause the records of the smaller File Definition to be enlarged with spaces to ensure both File Definitions are of an equal length of 20 characters.

In AMT COBOL, when writing records to 2 files with different record lengths, this should no longer cause the files to be supplemented with trailing spaces.
FIX AMT 56
AMT LION Runtime AmtScreens 328254
AMT Screens RTQuery

Pressing the next or back button on a popup with an MSSQL database would hide the first column.

Some of the behaviour was improved in a previous change, however, one function (update data) did not receive this improvement.
It has been added.
FIX AMT 56
AMT LION Runtime AmtScreens 328281
The number box of AMT Screens RTQuery is used for limiting the amount of rows returned per query, however, was not working.

The number box was not limiting the amount of rows returned.

The number box now limits the amount of rows returned.
Documentation regarding the usage of the box has been improved.
FIX AMT 56
AMT COBOL Generator Various C1907-018
"cics handle condition" 

"cics handle condition" did not support sections and only supported labels.

The generator has been updated so now a section can be used in a "cics handle condition".
FIX AMT 56
AMT COBOL Runtime Jobs/Batches 327982
AmtQuery ErrorCode and ErrorText properties made object specific.

With the introduction of AmtQuery in AMT COBOL the error code reflected the last database error code. When multiple AmtQuery instances were used, all objects showed the same error code.

With this fix, each AmtQuery instance has its own error code and error text. The instance used executing SQL will have its error code set, the other instances are zero. 
After the declaratives section is executed, e.g. an error was handled, the error code will be zero and error text empty. Also, "Not Found" is not an error anymore, it was error code 1. Use RowsAffected = 0 to handle "Not Found".
CHANGE AMT 56
AMT COBOL Developer Code Logic C1907-021
AmtQuery C# error when generating VALUEASINTEGER property.

When using the VALUEASINTEGER property in an AMT COBOL program using AmtQuery, the generator showed a C# error. It was not possible to use VALUEASINTEGER.

With this change VALUEASINTEGER may be used, the C# error is gone.
FIX AMT 56
AMT COBOL Runtime Various C1907-022
If a query is not cancelled, it will read all records of that query when the query is closed.

If a query is closed, but there are still records to be retrieved, ado.net will still read all records before closing the query.

For AMT COBOL: queries will be cancelled, if there are still records to be retrieved. For AMT LION there are no changes.
CHANGE AMT 56
AMT LION Runtime AmtScreens C1907-024
AMTScreens RTQuery 

AMTScreens RTQuery sometimes receives an empty result set from the application server when selecting a new table which does contain results causing a crash within AMTScreens.

The crash within AMTScreens is resolved with this change, however, the empty results issue still exists within the application server and will be resolved in another change.

Known issue: Sometimes RTQuery returns no results from a table which does contain results.
Workaround: Selecting another table and after the original table will give the correct amount of results.
FIX AMT 56
AMT LION | AMT COBOL Control Center Configuration 325148
The Database Configuration FileGroup, In the Control Center, didn't work well.

In the System Configuration -> Architecture -> Database, in the tab sheet 'FileGroup/TableSpace' of one of the databases,
a filegroup can be specified. When one would select a SQL Server Database, the 'Kind' would always be saved as 'Other'. Even when '[Default indexes]' or '[Default Tables]' was selected.

The FileGroupType is now correctly saved and it can now be used as described in the help
FIX AMT 56
AMT LION | AMT COBOL AmtTools Reo C1907-025
Amt Reorganize displayed wrong text within analysis.

The new Amt Reorganize displayed a debugging text when an analysis was run, this text display has been removed.
FIX AMT 56
AMT COBOL Generator Various C1907-029
COBOL validation error on "and not -123" not boolean.

When writing "evaluate true" .. "when field > 5 and not 9" you got a validation error. Adding before the 9 a "=" detoured the issue.

Now, this syntax if also allowed when before "and not" is a binary expression (field ).
FIX AMT 56
AMT COBOL Generator Various C1907-027
Without the ORGANIZATION keyword the source was not parsed.

The following statement did not parse because of the missing ORGANIZATION keyword:
SELECT CSV-FILE ASSIGN TO XXX-FILE
LINE SEQUENTIAL.
The parser missed the Keyword ORGANIZATION before LINE SEQUENTIAL

Now this keyword has been made optional within the AMT Framework.
FIX AMT 56
AMT COBOL Developer Various C1907-031
Support Section name not identical to entrypoint.

Entrypoints using sections were not working if the entrypoint did not match the section name.
This caused the subprogram to not function.
FIX AMT 56
AMT LION | AMT COBOL Runtime Various Older version Oraclewrapper was delivered.

We now use a subfolder to deliver the managed drivers.
The managed Oracle wrapper should be used from the  subfolder OracleWrapper_4_nnn_n_0Managed
The Environment Variables should be changed in the system settings.

Howto:
Open the Environment Variables (System > Advanced System Settings > Environment Variables)
Change systeem variabele of  AMT_ORACLE_WRAPPER
Value: \AMTTOOLS\OracleWrapper\OracleWrapper_4_121_1_0Managed\asysco.amt.oraclewrapper_4_121_1_0Managed.dll
CHANGE AMT 56
AMT COBOL Developer Code Logic C1907-040
A-Series Cobol specific parsing errors in AMT COBOL.

While working on an A-Series migration project we have encountered various A-Series Cobol specific parsing errors in AMT COBOL.

CobolFileExists and CobolFilePresent  methods added for printfiles (AmtPrintText objects).
These parsing errors have been resolved. These changes should have no further consequences for existing AMT COBOL customers.
FIX AMT 56
AMT LION Runtime AmtScreens C1907-042
RtQuery does not refresh

When changing values in RTQUERY the values are not updated in the loaded data.

Loaded data is also updated after changing values with RTQUERY.
FIX AMT 56
AMT LION | AMT COBOL Developer Various 328261
Match case ignored on Find

When trying to find a string in the AMT Developer studio the result would only match cases if "current frame/element" was selected.

Now match case works no matter where you try to find the string.
FIX AMT 56
AMT LION AmtTools REO 328308
Application server gives errors about NULL values when running in DB2.

The REC_NO field was not correctly configured as an IDENTITY field by the REO in DB2 causing errors about null being inserted in the records.

The REO has been fixed to correctly apply the IDENTITY attribute, fixing the DB errors in the case of DB2.
FIX AMT 56
AMT LION Runtime Various 328307

The length calculation of a numeric compbinary (a type rarely used in AMT LION) was not corresponding with A-Series mainframe.

The length calculation has been corrected.
FIX AMT 56
AMT COBOL Developer Code Logic C1907-053
A-Series COMS functionality support in AMT COBOL.

While working on an A-Series migration project we have encountered various A-Series COMS specific Cobol functions not being supported in AMT COBOL.

These COMS functions are being implemented in AMT COBOL. CONVERT-TIMESTAMP function implemented.
These changes should have no further consequences for existing AMT COBOL customers.
FIX AMT 56
AMT LION | AMT COBOL AmtTools Reo 328241
Amt Reorganize displays errors incorrectly

The new Amt Reorganize did not show errors within reorganize result screens, the column Executed has been changed to Message which gives an 'Ok' or an error message.
FIX AMT 56
AMT COBOL Runtime Various C1907-060
Moving ZEROS, HIGH-VALUE, LOW-VALUE or SPACES to formatted alpha field ignored format.

e.g. moving ZEROS to alpha field with format XXXBXXX would result in '0000000' that is incorrect.
It should be '000 000'
FIX AMT 56
AMT LION Runtime AmtScreens 328295
AMT Screens - Calendar does not clear

When moving 0 into the calendar it is not cleared in AMT Screens. In LionScreens the selected date is cleared.

The date in the textbox is now also cleared when 0 is moved into the calendar in AMT Screens.
FIX AMT 56
AMT COBOL AmtTools Various C1907-064
Implementation COMS Module Function Index (MFI)

For A-Series COMS migrations we need the ability to assign an integer value, the COMS Module Function Index (MFI), to a specific transaction code. Therefore we have added the "Function Index" property to the Transaction configuration table and the Transaction configuration screen in the AMT Control Center. The "Function Index" property is only available (and used) in A-Series Cobol environments.
NEW AMT 56
AMT LION Developer Various 328317
Stored Procedures out of sync after upgrade

Some stored procedures were not correctly synced by the setup tool.

The Sync procedure has been corrected and all stored procedures are now correctly synced.
FIX AMT 56
AMT LION | AMT COBOL Generator Licenses C1907-069
When only a IPv6 interface is specified and no IPv4 interface within a network adapter the generator will crash.

Reason is it will try to access the IPv4 properties which do not exist.

it will now skip the IPv4 properties when they do not exist.
FIX AMT 56
AMT LION Runtime AmtScreens C1907-070
When selecting a row in RTQuery some people could not read it since the color pallet was white letters with a light blue background.

The letters are now black with a slightly lighter blue background, this should improve the readability.
FIX AMT 56
AMT LION Developer Various C1904-096
Further improvements to Lion Keyword Highlighting.

Some keywords were still missing/wrong highlighting.
This would, for instance, happen with a few keywords where space would follow, like, ".enabled [", or ".Caption [".
This would also happen with some keywords in case there is a colon in front of the keyword, like; ":STOREDPROC("
Finally, some keywords were not recognized when it would end with a number.

Now all known keywords are highlighted the same way.
FIX AMT 56
AMT LION Runtime Web Client 328315 
The maximum number of connections of webservices is limited to 10

The maximum number of connections can cause the webservice to fail.
This occurs in the situation when you have more than 10 different operations designed and active at the same time.

The problem is solved by generating the station as a unique station and implement the maximum number of concurrent calls per service instead of limiting to all one service.
The default concurrent maximum is 100 per active operation.
FIX AMT 56
AMT LION Runtime AMT Screens 328274 / C1906-117
Within AMT Screens indexes were not used.

Indexes would not be used within AMT screens, therefore records were displayed in the standard order.

The logic was added for MSSQL, Oracle will currently ignore these, this will be solved in one of the following releases.
FIX AMT 56
AMT COBOL Runtime Various C1907-081
Ability to Disable/Enable Transactions and Programs.

For A-Series COMS migrations we need the ability to disable/enable specific programs and transactions. Therefore we have added the "Disabled" property to the Program/Transaction configuration tables and the Program/Transaction configuration screens in the AMT Control Center.
NEW AMT 56