AMT Release Notes

AMT 60

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

Special attention items:

AMT 60

Product Cat Subcat Description Type Version Priority
AMT LION | AMT COBOL Developer Various C1710-040
Debugger Support Consumable Webservice classes.

Classes defined in Consumable webservices could not be debugged.

Debug information is now correctly generated and class variables can now be debugged by the LionDebugger.
NEW AMT 60
AMT LION Control Center Various 321830
Border around selected radio button, and exception when transactions are viewed.
Additional scenarios where these problems occur have been found and will be resolved in another change request.

A value in a radio button group could be selected by pressing TAB, and the proposed button would be indicated by a border around it. This border would also be visible if a radio button was simply clicked.

However, selecting one of the radio buttons with TAB has been removed so the border is no longer needed.
It has been removed from view by setting its width to 0.

Viewing a transaction would throw an exception in the following cases:
- The transaction was leaving a form with an AmtListBox.
- The transaction was going towards a form that did not exist (e.g. if a variable for the form name was used).
Instead of drawing the form that did not exist the viewer tried to draw the form it was leaving, however, without data.

Now AmtListView considers the data it has available and if it considers that insufficient, only draws an empty box.
FIX AMT 60
AMT LION | AMT COBOL AmtTools Reo C1902-022
AmtReorganize Analyze is done before system upgrade.

In the rare situation where a table's version number was incremented without any actual changes to the structure of the table, Reo.exe would handle this silently, without informing the user.

AmtReorganize has been improved so that the update of the expected version number is now logged.
FIX AMT 60
AMT LION | AMT COBOL Control Center Configuration 319251
Default print PDF program changed.

The default print PDF program if a new Printer service was added, was Foxit.

The default printer PDF program has now been changed to Adobe.
CHANGE AMT 60
AMT LION Runtime AmtScreens 327756
RTQuery: recordnr on 'Edit record' is the row number.

When a record in RTQuery was queried, the value shown after 'Recordnumber:' would actually be the row number.

Now the value of the column specified as the identity column will be used.
FIX AMT 60
AMT LION Runtime Web Client 328112
Invisible selected Listbox values.

If ListBox items were created and selected in the Display_main, their selected status was not visible in web clients.

This situation has been rectified.
FIX AMT 60
AMT LION | AMT COBOL Generator Various C1908-027
Identity option in tables needs to replace LIONRECNO.

The identity option a table was added as an extra identity instead of replacing LIONRECNO.

Now, in a table, only one field can be set to identity. If set, it replaces LIONRECNO (so the logic can't access LIONRECNO anymore).
If there is an index with the identity field as its first key, the extra RECNO_<table> index is no longer created, either.
CHANGE AMT 60
AMT LION | AMT COBOL AmtTools Reo C1908-109
Amt Reorganize unable to drop object due to foreign key.

Amt Reorganize could not drop a table if a foreign key still existed.

If a table is now dropped, its foreign keys are dropped, too.
FIX AMT 60
AMT COBOL Runtime Various 1909-083
Error in sort on signed COMP-3 field in former MicroFocus Systems.

Sorting a file with a Signed COMP-3 field in sort fields went wrong with former MicroFocus systems, which caused an incorrectly sorted file.

Sorting has now been corrected for Singed COMP-3 fields.
FIX AMT 60
AMT LION | AMT COBOL Runtime Scripts C1909-092
Only one OMIT item supported in sort definition.

Only one OMIT item was supported in sort definitions.

This has been changed, multiple OMIT items are now supported.
CHANGE AMT 60
AMT COBOL Runtime Various C1909-080
Query parameters with DECLARE WITH SQL construction.

Query parameters were not generated when a DECLARE WITH SQL construction was used.

Query parameters are now generated with DECLARE WITH SQL constructions.
CHANGE AMT 60
AMT LION | AMT COBOL Control Center Various C1909-081
Control Center and Batch Control handling of large or large amount of messages for 1 job.

The Batch Control screen froze or returned errors when a job produced many messages or very large messages.

Now the screen can handle these messages and still be responsive.
FIX AMT 60
AMT COBOL Runtime Various C1909-082

Empty line appearing every 10000 lines in printed reports.

An empty line appeared after every 10000 lines printed in a report. This happened because the line number was defined as a NUMERIC(4) internally, causing the counter to reset after 9999 lines had been printed.

This has been modified for COBOL applications, the numeric value has now been enlarged to a NUMERIC(9).
CHANGE AMT 60
AMT LION | AMT COBOL AmtTools Reo C1909-085
New Amt Reorganize leaves out default system data.

The new Amt Reorganize did not add default system data to an empty database.

Amt Reorganize has been corrected. It now checks if the default system data (application, components and role) are present within the system database. If not, they are added.
FIX AMT 60
AMT COBOL Runtime Web Client C1909-090
In COBOL online, an input field with format 99/99/99 could not be transmitted.

In COBOL online an input field with format 99/99/99 could not be transmitted; the error dialog on transmit indicated that the numeric value was not correct.

Now an input field with the above format can be entered and transmitted without an error being raised, unless of course the data is not valid.
FIX AMT 60
AMT COBOL Runtime Various C1909-091
Redefinition data not always correctly initialized.

If a redefined item is larger than the item being redefined, extra data is not always correctly initialized, since the increased buffer was initialized with binary 0.

Now the extra buffer size is initialized depending on the app-setting 'initial value of variables'.
FIX AMT 60
AMT COBOL Runtime Various C1909-092
Dummy file with file name NUL.DAT.

File name NUL.DAT was not recognized as a dummy file.

When a file with name 'NUL.DAT' is now defined, it is treated as a dummy file. This behaviour has been added only for former MicroFocus applications.
FIX AMT 60
AMT LION | AMT COBOL Runtime Various C1909-094
Decommissioning Batch executables.

We announced in 2018 that the StartReport.exe, Startjob.exe. Lionmessage.exe, Lionprint.exe, Lionscript.exe, and LionSort.exe would be decommisioned.
AMT 59 is the last version of the AMT product in which the executables are present.

In AMT 60 the executables are no longer delivered. The consequence for some customers is that the call to these executables is to be replaced by a call to either a Powershell script or a call to the Comscript.dll.

If you need any assistance in replacing the interface, please contact the support desk.
More information about the Comscript module can be found at:
https://help.myasysco.com/lion/comscript-module.html
https://help.myasysco.com/lion/comscript-module-job-interface.html
CHANGE AMT 60
AMT LION | AMT COBOL Control Center Server Control C1909-096
Great amounts of error logging on system database connection loss.

When the database connection was lost the update heartbeat logged a lot of errors.

The system database connection is now checked and recreated on loss, thus cutting back on the amount of logging produced.
FIX AMT 60
AMT LION | AMT COBOL AmtTools Reo 328470
Reo cannot change the file group of tables with an index on only the identity column.

When a table was changed by changing its file group, Reorganize could not apply these changes to the database, because it compared the old situation to itself, and changed nothing. When Reorganize now analyzes database differences, the file group changes are detected correctly.

Related to this problem, is that when the file group of an index was changed, the entire table was moved to another file group, if the database was a Microsoft SQL database, and the index was clustered (Microsoft considers an index clustered, if it's on the identity column and only on that column).

Now, the table generated from user code is used to determine what the file group of an index is to be.
For Microsoft SQL databases the file group of an index on only the identity column is ignored, meaning the file group of the table will be used instead.
FIX AMT 60
AMT LION Generator Various C1909-98
Remove the preview switch of user triggers.

User triggers still had the preview switch on.

User triggers are no longer under preview and are now general available in the Amt developer.
CHANGE AMT 60
AMT LION | AMT COBOL Generator Various C1909-099
Cleanup of obsolete option of inheriting highlighters.

Clean-up of obsolete option of inheriting highlighters. This option was not visible and not used at runtime.

Obsolete option of inheriting highlighters in the Painter has been removed.
FIX AMT 60
AMT LION | AMT COBOL AmtTools Reo C1909-100
AMT Reorganize gives error when an array of strings is changed.

When an database column with an array of strings was changed in array size, Reorganize wanted to correct the data layout.

The data layout of an array of strings is not changed by Reorganize anymore, if the array dimensions are changed.
FIX AMT 60
AMT COBOL Runtime Various C1909-101
A-Series AMT-COBOL only: Implementation of out-of-forms mode.

On an A-Series mainframe, when using SDF screens, an end-user has the ability to go into out-of-forms mode. When the out-of-forms mode is entered, the complete SDF screen is turned into text, which can be modified and transmitted.

This has now also been implemented in AMT COBOL.
NEW AMT 60
AMT COBOL Generator Various C1909-102
Date translation.

DB2 command SELECT DAYS(DateField1) - DAYS(DateField2) FROM TABLE was translated as:
SELECT AMT_DB2_DATE_DIFF(DateField1, DateField2)FROM TABLE

The command is now translated as
SELECT datediff(dd, DateField1, DateField2) FROM TABLE
FIX AMT 60
AMT COBOL AmtTools Debugger C1909-104
The debugger didn't work for A-Series COBOL online programs.

The debugger didn't work for A-Series COBOL online programs. The code could be debugged but the screen was not shown in the browser.

The debugger can now be used to debug A-Series COBOL online programs.
FIX AMT 60
AMT COBOL Runtime Various C1909-105
MiFo COBOL COMP-3 move of same size should execute a memory move.

In MiFo COBOL, when one COMP-3 field was moved to another, AMT used to do a numeric move (same as IBM).

Now AMT does a memory move. (This way invalid numeric data can be moved also).
FIX AMT 60
AMT COBOL Runtime Various C1909-108
Leakage of cursors in IBM DB2 statements.

For IBM DB2 migration the cursor name is unique per program. When this was replicated in MsSql the list grew too long.

The routine for making cursor names unique in MsSql for an IBM DB2 migration has been updated in order to reuse existing entries.
FIX AMT 60
AMT COBOL Runtime Various C1909-117
A-Series AMT-COBOL only: Incorrect size/format migrated BOOLEAN fields (SDF).

On an A-Series mainframe, when SDF screens are used, the display value of a BOOLEAN field can be defined as required. The value on the screen is shown as defined, but in the actual data buffer the field is defined as a NUMERIC COMPUTATIONAL.

In AMT Cobol the SDF Boolean fields should be generated as an Alpha field with length 1 (or larger, depending on the defined Boolean values) on the screen, and as a NUMERIC COMP with length 1 in the form data buffer.

This issue has been resolved.
FIX AMT 60
AMT COBOL Developer Database C1909-118
Clarification of the trigger dialogue.

In the per row/stmt option for a trigger, it was unclear that it only concerned DB2.

The dialog has been updated to show more clearly this is a DB2 setting only.
CHANGE AMT 60
AMT LION Developer Forms C1909-119
Developer doesn't show a NUMERIC label with an empty caption clearly.

The developer didn't show a NUMERIC label with an empty caption clearly. This occurred when the formatting options were set in such a way that 0 was suppressed.

If the caption for a NUMERIC label is not set, it is now internally filled with all 9s and then formatted. If a caption is specified its value is used for formatting. If the caption is 0, the formatting may still be shown as all spaces, but that will be what the developer has specified.
FIX AMT 60
AMT COBOL Runtime Various C1909-121
Structure as target in ACCEPT statements.

Using a structure as a target in an ACCEPT statement was not correctly handled for former MicroFocus applications.

Using a structure as target in an ACCEPT statement is now correctly handled for former MicroFocus applications. A check is done if the target is a structure and the ACCEPT is handled accordingly.
FIX AMT 60
AMT COBOL Generator Various C1909-122
AMT Generator generating COBOL file layouts in copy, call to constructor sometimes not generated.

For customers currently migrating to AMT VS only. A COBOL copy object in the FILES SECTION was not generated correctly, causing a runtime error when the generated program was run.

The Generator has been fixed to generate the correct code.
FIX AMT 60
AMT LION | AMT COBOL AmtTools Reo 32301
AMT Reorganize doesn't create Oracle stored procedures correctly.

AMT Reorganize did not create Oracle stored procedures with parameters correctly.

AMT Reorganize has been improved so that stored procedures with parameters are now correctly analyzed and created.
FIX AMT 60
AMT COBOL Migration COBOL C1909-130
Wrong SQL code in EXEC DB2 with a result that included null.

When an EXEC DB2 was executed having a result that included null, the wrong SQL code was set, it should have been -305 instead of -3522.

Setting SQL code has been corrected for former IBM/MicroFocus COBOL applications.
FIX AMT 60
AMT COBOL Runtime Various C1909-001
For AMT-COBOL only: Passing AmtFileId object as native variable to external assembly.

When passing an AmtFileId object as a parameter to a CALL on an external assembly, a runtime exception would occur, because the AmtFileId object could not be cast to a native variable.

This has been resolved, by passing AmtFileId object as a String containing the full file name.
FIX AMT 60
AMT COBOL AmtTools Debugger C1910-003
Unused duplicate variable reported as error in AMT Debugger.

An unused duplicate variable was reported as error in AMT Debugger so the user was unable to debug the program. In a COBOL program an unused variable defined twice is a valid construct. The AMT IDE for COBOL reports a warning but will generate the program. In AMT LION an error is reported and the report will not be generated.

It is now possible to debug COBOL programs that have an unused duplicate variable. The AMT Debugger now reports a warning instead of an error and the program to be debugged can be loaded.
CHANGE AMT 60
AMT COBOL Migration COBOL 328487
IBM writeQ with TD option.

There was no support for IBM writeQ with TD (transient Data) option.

Support has been added for writeQ/readQ/deleteQ with the TD option. Also, in the Control Center these TD queues must be defined before they can be used at runtime.
NEW AMT 60
AMT COBOL Generator Various C1910-010
A-Series AMT-COBOL only: Implementation SDF Form Data Only attribute.

On an A-Series mainframe, when SDF screens are used, the Data-Only form attribute indicates that on transmit, only the input data should be transmitted and not the complete form image.

This is now also implemented in AMT COBOL.
NEW AMT 60
AMT COBOL Control Center Configuration C1910-013
New timeout settings in RuntimeBehavior for former A-Series COBOL.

1: Call shared programs timeout: When calling COBOL shared programs, the calling program continues either when an answer is received or when timeout is reached. When timeout is 0, it defaults to 60 minutes.
2: RECEIVE timeout: When a RECEIVE of a map is done in a former A-Series COBOL application, the calling program continues when a map is received or when timeout is reached. In case of a timeout, the status will be set to NODATA.
When timeout is 0, it defaults to 60 minutes.
NEW AMT 60
AMT COBOL Developer Database 328493
Using a hex literal inside an EXEC DB2 failed.

When a hex literal (for example x'0D0A') was used inside an EXEC DB2, it failed with a missing-parameter-exception at runtime.

Now hex literals can be used inside EXEC DB2/RDMS blocks.
FIX AMT 60
AMT COBOL Runtime Various 328505
Former IBM BMS screen with FRSET and FSET did not always transmit the FSET fields.

A former IBM BMS screen with FRSET and FSET did not always transmit the FSET fields if the values had not been changed.

Now when a FSET is defined, the value of the field is always transmitted and no longer set to all hex 00.
FIX AMT 60
AMT LION | AMT COBOL AmtTools Reo 328428
DROP TABLE within AMT Reorganize.

When a DROP TABLE is done within AMT Reorganize, an error occurs when it is attempted to drop the index and any triggers, since these were already removed when the table was dropped.

AMT Reorganize no longer attempts to remove indexes and triggers that have already been dropped.
FIX AMT 60
AMT LION | AMT COBOL AmtTools Reo C1910-024
AMT Reorganize raises unhelpful error.

AMT Reorganize raises an unhelpful error in case of a non-existing file group.

AMT Reorganize validates if the file groups/tablespaces exist, if not Analyze is stopped with a pertinent error message.
FIX AMT 60
AMT COBOL Runtime Various C1910-025
COBOL programs raise 'Could not find prepared statement' error.

COBOL programs raised error 'Could not find prepared statement' with handle xxx, where xxx is a random number. The problem was the internal command handle being cached.
Program now releases the cancelled-handle, so the problem is solved.
FIX AMT 60
AMT LION Runtime Jobs/Batches C1910-026
AMT Batch Controller removes available jobs/forms with a hyphen in the name.

The AMT Batch Controller removed available jobs/forms with a hyphen in the name. In the AMT Control Center they still are hyphenated, but on disk they are underscored.

The AMT Batch Controller now uses the same logic as the AMT Control Center and handles the hyphen correctly leaving the forms/jobs intact.
FIX AMT 60
AMT LION | AMT COBOL AmtTools Reo C1910-030
Control Center Reorganize screens have been removed.

Control Center Reorganize screens have been removed, in favour of starting AMT Reorganize directly. This executable can run standalone (preferably) or remote through the AMT Reorganize service.
The new AMT Reorganize has an Analyze step so the operator can see what's going to be changed within the Reorganize step.
CHANGE AMT 60
AMT COBOL Runtime Various C1910-031
In SDF screens, the Input Substitution was not implemented.

Before, SDFscreens that used the Input Substitution gave an error while being converted.

Now, the Input Substitution is written in the COBOL FORM-TO-WS and WS-TO-FORM sections of the screens Procedure Division.
CHANGE AMT 60
AMT COBOL Runtime Various C1910-038
Program/Transaction control needs 'live' update.

Program/Transaction control was read at the start of the Transaction Controller and not updated before a restart of the controller.

Program/Transaction control is now read every 5 minutes together with user security.
CHANGE AMT 60
AMT LION | AMT COBOL AmtTools Reo 328520
Reorganize AMTSYSTRANSIENTDATAQUEUE

The new AMT Reorganize kept detecting changes for the new table AMTSYSTRANSIENTDATAQUEUE whereas the changes had already been done.

The new AMT Reorganize no longer detects changes for the new table AMTSYSTRANSIENTDATAQUEUE once the changes have been done.
FIX AMT 60
AMT COBOL Developer Various 328511
SB42 field B1MYND not editable.

Fields that should have become visible/editable after changing the 'protected' attribute were still read-only.

The fields that were still read-only after changing the 'protected' attribute are now visible and editable.
FIX AMT 60
AMT LION | AMT COBOL AmtTools Reo 328522
AMT Reorganize without primary key.

AMT Reorganize did not create a primary key (PKSCHEMAINFO etc) when reorganizing an empty system database.

AMT Reorganize has been corrected so that the primary keys are created. For MsSql databases, the Asy_Unique stored procedure has been created.
FIX AMT 60
AMT COBOL Runtime Database 328487
DB2 NUMERIC param not.supported in Microsoft.SQL server.

An AMT COBOL program terminated because a DB2 query used a NUMERIC parameter for the YEAR function, which is not supported by Microsoft SQL Server.

If a NUMERIC parameter is used in a DB2 query with the YEAR function, the parameter is cast to a VARCHAR first, which is supported by Microsoft SQL Server.
FIX AMT 60
AMT LION | AMT COBOL Control Center Various C1910-057
Errors cause AMT Control Center to go down.

After using the AMT Control Center for a while an error appeared, causing the AMT Control Center to be no longer usable.

An issue was found in the 'autorefresh' behaviour. When the 'Batch Control' page was visited and 'autorefresh' was enabled, the refresh of the page continued to be processed even though the user was no longer on the page. The 'autorefresh' is now correctly reset when the user leaves the 'Batch Control' page.
FIX AMT 60
AMT COBOL Runtime Various C1910-060
IsNumeric check for COMP-3 fields.

The IsNumeric check for COMP-3 fields returned true when non numeric data was in the buffer

Now IsNumeric checks that every nibble in the memory buffer is a valid numeric; only the last nibble may be an 0X0C 0X0D or 0X0F
FIX AMT 60
AMT COBOL Runtime Various C1910-063
INTEGER-OF-DATE & DATE-OF-INTEGER were off by one.

With baseyear set to 1800, INTEGER-OF-DATE with 01-01-2018 returned 0, and DATE-OF-INTEGER with 0 returned 01-01-2018

With baseyear set to 1800, INTEGER-OF-DATE with 01-01-2018 now returns 1, and DATE-OF-INTEGER with 1 returns 01-01-2018
FIX AMT 60
AMT COBOL Runtime Jobs/Batches 328530
Runjournals created in wrong folder.

When the application name had '__' in it, print files were created in the wrong folder.

Print files are no longer created in the wrong folder if the application name has '__' in it.
FIX AMT 60
AMT LION | AMT COBOL AmtTools Reo 328539

The new AmtReorganise did not add the stored procedure SET_APPLICATION to the system database when Oracle was used, which resulted in a lot of errors.

AmtReorganise has been corrected to add the SET_APPLICATION to the system database for Oracle also.
FIX AMT 60