AMT Release Notes

AMT 59

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

Special attention items:

AMT 59

Product Cat Subcat Description Type Version Priority
AMT LION AmtTools Debugger 325221
Warning missing AmtScreens path.

Pressing 'Start Screens' in LionDebugger performed a check of the configured screens path for the current server. If no '.exe' was found, the program would simply exit.

Now a warning is displayed, notifying the user which setting must be configured for 'Start Screens' to behave as expected.
CHANGE AMT 59
AMT LION | AMT COBOL AmtTools Debugger 326959
Show Constant value while debugging AMT application.

When using AMT Debugger to debug an application made in AMT Developer, the user could not always inspect the value of a constant, e.g. with constants of type Alpha or Numeric. Instead of  the actual value, the name of the class storing the constant would be displayed.

More accurate debugging metadata has now been generated, so the debugger will properly inspect the object holding the constant and display the actual value.
FIX AMT 59
AMT LION | AMT COBOL Runtime Web Client C1809-072
Upgrade jQuery.

jQuery for the Application Center and the applications was outdated and needed upgrading.

jQuery for the applications has been upgraded to the latest version (3.4.1).

Note to customer:
Custom JavaScript changes that customers have applied to the application itself should be checked if they are still supported within the updated 3.4.1 jQuery library.
The application runs within the Application Center, but the jQuery upgrade does not affect the Application Center itself!
CHANGE AMT 59
AMT LION | AMT COBOL Developer Various C1904-065
The SIGNALR plugin was updated to version 2.4.1 for the applications.

CHANGE AMT 59
AMT LION Developer Code Logic 327944
Code completion for OCCURS elements does not work.

Code completion for OCCURS elements did not respond.

Code completion code has been extended to process the OCCURS elements also.
FIX AMT 59
AMT LION Runtime AmtScreens 327754
RTQuery: context menu not available in a result.

In the results view of the RTQuery tab in AMTScreens, there was no context menu.

A context menu has been added to the results view in the RTQuery tab of AMTScreens. It can be opened by clicking the right mouse button, and contains the options: 'Copy to clipboard' and 'Edit single record'.
NEW AMT 59
AMT LION | AMT COBOL Control Center Security C1907-120 
Sessions not cleaned up in Control Center/Application Center.

Sessions were not cleaned up in some browsers, like Chrome.

Logoff code has been improved and sessions are logged off correctly again.
FIX AMT 59
AMT LION Runtime AmtScreens 328358
Order descending in RTQuery.

When a table was ordered in RTQuery, with a multi-column index, only the last column in the index was processed.

Construction of the ORDER BY clause has been reworked, so that all index columns are included, in the expected order.
FIX AMT 59
AMT COBOL Generator Various C1908-065
The FRSET in the BMS maps was not converted.

For applications migrated from an IBM COBOL mainframe, the FRSET in the BMS maps was not converted and functionality was missing at runtime.

The FRSET is now an option in the developer for BMS forms. If set, all the modifiers are cleared on sending the map. Only changed fields are sent back to the logic, all others are set to hex 00.
FIX AMT 59
AMT LION | AMT COBOL AmtTools Reo C1908-115
With the new Reorganize, a null-reference error pops up after you receive the 'old application' message.

This error could occur if you had upgraded to a new AMT version, but not performed a whole system generation yet. The new Reorganize tried to load new data, which was not available, on account of the application being built in an earlier AMT version. This step should not have been executed.

If you have an application based on an older AMT version, Reorganize will no longer try to load the data.
FIX AMT 59
AMT COBOL Runtime Various C1908-116
Empty folders are no longer deleted for applications migrated from MicroFocus.

If a file was deleted, and the folder in which the file existed was emtpy after the deletion, this empty folder was removed. 

This behavior has been changed for applications migrated from MicroFocus; if the folder is empty after a file has been deleted, the emtpy folder will remain.
CHANGE AMT 59
AMT-COBOL Runtime Various C1908-118
COBOL File-status variable not set after WRITE statement of sequential files.

COBOL File-status variable was not set after WRITE statement of sequential files.

COBOL File-status variable is now set after WRITE statement of sequential files.
FIX AMT 59
AMT LION | AMT COBOL AmtTools Reo C1909-003
AMT Reorganize logging info for foreign key change is unclear.

AMT Reorganize did not give any information about the table if a foreign key was changed, created or deleted.   

If a foreign key is changed, created or deleted the corresponding table name is now shown in the logging.
FIX AMT 59
AMT LION | AMT COBOL Runtime Various 328266
Filecontroller timeout corrections for Forms, COBOL OnlineProgram and COBOL programs.

Forms or OnlineProgram connections were removed from the server side before they timed out on the client side. Also, programs should not time out on the client side, as the transactions may take a long time to process.

Forms and OnlinePrograms now use the correct timeout and Programs don't timeout anymore.
FIX AMT 59
AMT-COBOL Runtime Various C1909-007
AMT-COBOL migrated from A-Series only: NUMERIC check on numeric form buffer field with "blank when zero" failing.

The NUMERIC check on a numeric (SDF) form field with the "BLANK ON ZERO" option failed in those situations that the field value was ZERO. 

This issue has been resolved. 
FIX AMT 59
AMT LION Runtime AmtScreens C1909-008
Error when double clicking a selected LISTVIEW item.

Sometimes an error was shown when a selected LISTVIEW item is double clicked that it is not able to cast an object. Sometimes an object of DisconnectedItem was passed instead of the expected object.

DisconnectedItems are now ignored as these are not part of the visual tree anymore.
FIX AMT 59
AMT-COBOL Runtime Various C1909-009
A-Series AMT COBOL SDF only: line #25 message on status line.

In applications migrated from an A-Series mainframe, a transaction message begins with ESC (0x001B) 'RS' followed by a message length and a message, that message should be written on SDF form line #25.

This is now also implemented in AMT COBOL.
FIX AMT 59
AMT LION | AMT COBOL Control Center Various 326512
Sorting did not work correctly for all columns in the Control Center.

Not all columns in the Control Center sorted as expected.

Sorting has been fixed.
FIX AMT 59
AMT-COBOL Runtime Jobs/Batches C1909-015 
Update implementation of SELECT IDENTITY_VAL_LOCAL().

The implementation to support SELECT IDENTITY_VAL_LOCAL() (change C1908-029) did not work correctly with prepared statements, because SELECT SCOPE_IDENTITY() only returns the identity in the same scope, and each prepared statement has its own scope.

DB2 INSERT statements are now appended with SELECT SCOPE_IDENTITY(), so that the identity is retrieved from the same scope.
FIX AMT 59
AMT LION | AMT COBOL Runtime Web Client C1909-017
Wrong formatting when using '---B---' with a negative value.

Wrong formatting when using '---B---' with a negative value, resulting in "  - 123".

Now, if using a format '---B---' is used, the hyphen for negative sign will also use the location of the "B".
FIX AMT 59
AMT-COBOL Runtime Various C1909-018
AMT COBOL: Implementation BYE (A-Series) and CESF (IBM) transactions.

In applications migrated from an A-Series mainframe the BYE transaction will sign off the user, and for application migrated from an IBM mainframe the CESF or CSSF transaction will sign off the user. AMT COBOL did not mimic this behaviour. 

Entering the BYE (for former A-Series) or CESF/CSSF (for former IBM transactions) in AMT COBOL now, the user will be logged off and redirected to the logoff screen showing the "You're logged off of the application" message.
NEW AMT 59
AMT LION | AMT COBOL AmtTools Reo C1909-019
AMT Reorganize default file group wasn't read, the standard PRIMARY was used instead.

If a reorganization used a name different from PRIMARY for 'default file group', AMT did not handle this correctly.

AMT Reorganize now reads the default file group from the database.

NOTE: There is a known issue with MS-SQL. If a name different from "PRIMARY" is used in MS-SQL, then AMT Reorganize wants to update the filegroup each time. This will be solved in AMT60. For now, please use  "PRIMARY" as the default file group.
FIX AMT 59
AMT-COBOL Runtime Web Client C1902-021
Add support for CESF transaction.

Add support for CESF transaction on IBM COBOL to logoff your session when entered in the top left corner.

If you enter "CSSF" or "CESF", we now log off the session. Also, you can write "CICS RETURN TRANSID ('CESF') IMMEDIATE" in the logic to log off.
NEW AMT 59
AMT-COBOL Generator Various [FIX] C1909-024
The LENGTH OF function should return a pic 9(9) binary.

The LENGTH OF function (used in former IBM applications) should return a pic 9(9) binary but it returned a different format. This prevented called programs from mapping the input parameter correctly, if it was the LENGTH OF function.

Now the LENGTH OF function returns the right type, so if it is used in a call it has the correct memory layout.
FIX AMT 59
AMT-COBOL Runtime Various [FIX] C1909-026
Trying to read a record after deleting all records in SQLite file caused an exception.

Reading records after deleting all records in an SQLite file caused an exception. 

Checks have been added to prevent the exception from being thrown. If a read is done after all records have been deleted, "end of file" is reported.
FIX AMT 59
AMT-COBOL Generator Various C1909-027
Calling CICS read/write/browser with a LENGTH OF for the key length caused a C# error.

Calling CICS read/write/browser (in a migrated IBM application) with a LENGTH OF for the key length caused a C# error.

The LENGTH OF can now also be called for the key length argument.
FIX AMT 59
AMT-COBOL Runtime Database C1909-028
Double read in VSAM files in database.

If STARTBR and READNEXT were called on a VSAM table in the database, the first record was read twice, once in STARTBR to check for existence, once in READ NEXT. 

For performance reasons the READ NEXT now returns the record already read.
FIX AMT 59
AMT LION | AMT COBOL AmtTools Reo 327868
AMT Reorganize gives a unclear message when DLL files are missing.

The message given if AMT Reorganize could not find or load the database.dll of a specific application was unclear.

This has been improved, the application is now mentioned also.
FIX AMT 59
AMT-COBOL Runtime Database C1909-031
OPEN and CLOSE implemented for VSAM files to database.

For VSAM to database conversion only: when indexed files moved into a database are accessed, statements are converted to EXEC VSAMDB. Statements OPEN and CLOSE were ignored/commented but are also needed. 

EXEC VSAMDB OPEN and CLOSE are introduced with this change. OPEN MODE(OUTPUT) truncates the table as if it were a new file. Other modes and EXEC VSAMDB CLOSE will reset the FILESTATUS variable if specified.
NEW AMT 59
AMT-COBOL Runtime Various C1909-034
Implementation of XMIT-TILL-CURSOR behaviour.

For migrated A-Series AMT COBOL applications we needed the XMIT-TILL-CURSOR behaviour for the migrated SDF screens. On the mainframe, when a SDF screen is sent, only the data till the cursor is transmitted. 

In AMT COBOL we now transmit the data up to and including the active control, which mimics mainframe behaviour.
NEW AMT 59
AMT LION | AMT COBOL Runtime Various C1909-037
Sorting a file on an alpha key where the data contained a COMP-3 value was incorrect.

Sorting a file on an alpha key where the data contained a COMP-3 (BCD data) value was incorrect. For example, value 80 was sorted after value 90.

When sorting an ASCII file where the sort key is alpha and no custom sort sequence is defined, we now sort on byte level instead of character level, so we have solved the issue and also improved performance for all alpha sorts.
FIX AMT 59
AMT-COBOL Runtime Various C1909-041
Retrieval of transaction code from screen data.

In applications migrated from an A-Series mainframe, the transaction code is retrieved from the screen data that is transmitted.

This is now also implemented in AMT COBOL.
CHANGE AMT 59
AMT LION | AMT COBOL Runtime Various C1909-046
Numeric fields with initial value 0 didn't have initial value 0.

This ticket can only be reproduced if in the application options you have set 'initial values of variables' to 'All Spaces'.
If you set an initial value of 0 on a numeric field, this was not set in runtime. It remained spaces.

Currently the 0 initial values for numeric fields have been set again.
FIX AMT 59
AMT LION | AMT COBOL Runtime Various C1909-048
Using the AMT FTP functionality as provided in ComScript to upload a file causes an endless loop.

Using the AMT FTP functionality as provided in ComScript to upload a file caused an endless loop. This loop occurred when the filecontroller was used to stream the file data. 

This has been resolved. Using the AMT FTP functionality will now send the file correctly to the FTP target.
FIX AMT 59
AMT LION | AMT COBOL Control Center Security C1909-049 
Registering new user in Control Center does not work.

Registering a new user in Control Center did not work.

Register functionality has been fixed, users can now create a new account again.
FIX AMT 59
AMT-COBOL Runtime Various C1909-054
Half-byte hex value interpreted as literal value when assigned to a variable.

On an A-Series mainframe you can assign a half-byte hex value to a variable, for example: MOVE ALL @1@ TO WS-FIELD. In AMT COBOL the half-byte value (@1@) was interpreted as a literal value, including the "at" signs, instead of a half-byte value.

This issue has been resolved.
FIX AMT 59
AMT-COBOL Runtime Various C1909-055
Check if Booleans field migrated from DMSII equals ZEROS is failing.

In AMT COBOL the check if a Boolean field migrated from DMSII equals ZEROS always returned false, no matter what the independent Booleans' actual value was.

This issue has been resolved. 
FIX AMT 59
AMT-COBOL Runtime Various C1909-057
AMT Transaction Server does not clear necessary system tables at startup. AutoStart transactions works incorrectly.

CICS (used in former IBM / MiFo applications) uses 2 system tables in the application database for queueing. These tables were filled when the online application was running and were never cleared. Autostart transactions were started by every transaction agent when the Transaction Server was started.

With this fix, when the Transaction Server is started, the system tables are cleared. Also a fix for C1906-111 has been implemented, so now only one agent will execute the Autostart transactions at startup.
FIX AMT 59
AMT LION Developer Various C1909-058
DICTIONARY and OCCURS data is missing in Object Inspector for all controls in AMT Developer.

DICTIONARY and OCCURS data were missing in Object Inspector for all controls in AMT Developer.

Controls that support DICTIONARY and/or OCCURS now have the property in the object inspector again.
FIX AMT 59
AMT LION | AMT COBOL AmtTools Reo C1909-059
AMT Reorganize doesn't show system database for 'analyze' and 'reorganize' if the system database is empty.

If the system database was empty, the user needed to be able to reorganize the empty database.

Corrected dialog questions handling so the correct program flow is now followed, and the system database can be analyzed/reorganized even if it is empty.
FIX AMT 59
AMT LION Runtime Various C1909-060
AMT Web Consumable webservice unable to log sent and received values.

AMT Web Consumable webservice didn't have possibilities to log raw sent and received values.

The AMT Consumables now follow the debug settings of the form or report to log the raw sent or received data.
FIX AMT 59
AMT-COBOL Generator Various C1909-067
Parameters in a commodule calling ExecuteProgram didn't get to the program.

If the commodule was used and ExecuteProgram was invoked, the parameters didn't fill the ones defined in a migrated IBM program in the using class of the program. Also, the reply was not updated.

Now the parameter is passed in and out of the program to the commodule caller.
FIX AMT 59
AMT-COBOL Runtime Various C1909-068
Incorrect screen value for formatted SDF fields.

The values sent from a transaction program were shown incorrectly in formatted SDF fields. For example, when the value 24092019 was sent to an SDF field with the format 99/99/9999, it was shown as 24/92/1900 instead of 24/09/2019.

This issue has been resolved.
FIX AMT 59
AMT-COBOL Runtime Various C1909-069 
Multiple cursors with the same name in program / subprogram.

If an AMT COBOL program migrated from IBM had an open cursor for reading from the database, and it called another program which also wanted to use a cursor with the same name, the program abended.

In the migrated IBM DB2 applications the scope of a cursor is the source program in which it is defined. Therefore the cursors have now been made unique to the program that uses them.
CHANGE AMT 59
AMT-COBOL Developer Code Logic C1909-076 
SQLERRD(3) converted incorrectly.

SQLERRD(3)( in migrated IBM DB2 applications) was incorrectly migrated with 2 dimensions, which caused an error at runtime.

SQLERRD(3) is correctly migrated with 1 array dimension.
FIX AMT 59
AMT LION | AMT COBOL AmtTools Reo C1909-077
AMT Reorganize added foreign keys twice on REO of empty System Repository.

When performing the first reorganize of an empty system database, AmtReorganize.exe would try to add foreign keys twice, resulting in errors being displayed during the REO.

The reorganize process has been cleaned up, and foreign keys are added only once now.
FIX AMT 59
AMT LION Developer Code Logic 328432 Possibility to save XML files without a BOM-Marker.

If an XML was saved in the AMT Developer Studio, the AMT framework used a Save method to create UTF-8 files that always utilized a BOM-Marker.

Now it is possible to omit the BOM-Marker. This can be done by defining the "Save" method: Save(<filename>, <useBOM>).
CHANGE AMT 59