AMT Release Notes

AMT 55

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

Special attention items:

AMT 55

Product Cat Subcat Description Type Version Priority
AMT LION | AMT COBOL Developer Various 324689
A license is about to expire dialog

A dialog was shown when the license was about to expire when running LionDev without GUI, this should not happen.

Dialog is not shown anymore when running without GUI, a message is logged in the logfiles instead.
FIX AMT 55
AMT LION Runtime LionScreens 325691
Titles of Graphs only appear in default language

Title, Footing, X axis text and Y axis text for specific languages is not picked up and the default text is used.

Text is now set correct after changing language and the text set in the developer is now used.
FIX AMT 55
AMT LION | AMT COBOL Control Center Configuration 325821, 326547
Control Center error when AmtRuntime.lic is missing or incorrect. Place to see when the AmtRuntime.lic will expire.

When AmtRuntime.lic is missing or incorrect, an unclear error is shown in the Control Center. Also, there is no place to see when the AmtRuntime.lic will expire.

When AmtRuntime.lic is missing or incorrect a clear message is shown now in the Control Center. Also the expiry date is now shown in the Manage Account dialog.
FIX AMT 55
AMT LION Runtime AmtScreens C1904-009
The toolbar in AMT Screens should be configurable to be made hidden

The toolbar cannot be hidden.

The toolbar is now configurable to be visible or not.
NEW AMT 55
AMT COBOL Developer Database C1904-019
Implemented conversion of VSAM files to database tables.

Applications migrated from IBM and Microfocus only.

AMT now supports VSAM files converted to database tables. Table definitions in AMT Developer have a new "VSAM file name" option and EXEC VSAMDB statements were added to AMT COBOL. Behavior is similar to EXEC CICS statements for VSAM files. This was added for conversion support. For new development AMTQUERY can be used to access database tables.
NEW AMT 55
AMT LION Runtime AmtScreens 1904-084
After returning to the "job messages" tab of AMT Screens, when there are a lot of messages, the list scrolls back to the top.

This is not desired, since the latest messages are not directly visible at the bottom.

The list will now properly scroll to the bottom.
FIX AMT 55
AMT LION Developer Code Logic 328039
Corrections made for namefile in combination with ClearatFirstRead

NameFile with the ClearatFirstRead would clear an existing file when no read action was done. Also, using NameFile with ClearatFirstRead followed by a readfile command with the GenSet switch 'DelEmptyRetainFile' set to TRUE would create an empty file.

NameFile with the ClearatFirstRead will not clear an existing file anymore when there is no read action. NameFile with ClearatFirstRead followed by a readfile command with the GenSet switch 'DelEmptyRetainFile' set to TRUE will not create an empty file anymore.
FIX AMT 55
AMT COBOL Runtime Various C1905-113
Implementation COMS screen and transaction handling.

For AMT COBOL A-Series environments we have implemented the COMS (online) transaction and screen handling.
This new behaviour of the transaction server/agent has been implemented for AMT COBOL A-Series environments only.
NEW AMT 55
AMT LION | AMT COBOL Developer Various 326730
Form name is now shown consistently considering casing in LION Screens/AMT Screens and the web client.

The form name should be shown in its original casing for all clients, for example when inserting an object the name is always in uppercase.

The form name is now shown in its original casing for all clients. Also, when inserting an object the name is not uppercased anymore.
FIX AMT 55
AMT LION Runtime LionScreens 326894, 315814
Print again issues

Print again from LION Screens or AMT Screens does not send over the original settings and the Start and EndPage setting are ignored.

AMT Screens and LION Screens are now also sending the original settings, so Start and EndPage is now working.
FIX AMT 55
AMT COBOL AmtTools Reo 328198
Default value of blank was automatically added.

Default value of blank was automatically added by the REO. So there was no way to force keys with "not null" to be entered in a SQL statement as it always got the default value ('').

The developer now shows if a default values is set to spaces. Also the object inspector has a popup menu on the initial values to clear or set it to spaces (for alpha fields).
The REO on the system database will update a lot of these default values. The user tables will be automatically updated to represent the old behavior of having a default value of ''. But then it can be removed in the IDE so its enforced.

When a developer adds a new field to an existing tables with rows and he specifies the field as "not null" then he also needs to set a default value. Normally we expect that a developer first adds the field with "null" before running the REO. Afterwards, updates to the content can be made to set the field to "not null". But this only occurs for fields that should not be null. Most new fields will be allowing null values.
FIX AMT 55
AMT LION | AMT COBOL Control Center Server Control 328087
The time to stop all services is improved for environments with a lot of application services.

Stopping all services could take a long time depending on the number of application services

The time to stop all services is improved for environments with a lot of application services.
FIX AMT 55
AMT LION | AMT COBOL Developer Various C1906-026
Popup in tree-view.

A number of screens in Developer didn't have a working popup in the tree-view and some it did work but it immediately turned off again.

Now all the screens with a tree-view in developer have a working popup with at least Expand all nodes and open in new window and cancel options.
FIX AMT 55
AMT COBOL Runtime Various C1906-027

VSAM Delete with generic key returned wrong status.

The Generic option specifies that the search key is a generic key with a length specified in the KEYLENGTH option.
In this case the search for a record is satisfied when a record is found with a key that has the same starting characters (generic key) as those specified.
However, when one would perform an EXEC CICS DELETE command utilizing the GENERIC option the CICS condition Endfile was returned instead of Normal.

With this fix, the Delete-statement will now read and delete all records until no more records are found that match the starting characters.
Then the command will return the CICS condition Normal.
FIX AMT 55
AMT COBOL Developer Code Logic 328167
The sign encoding (overpunch) needs to be different chars.

The sign encoding (overpunch) needed to be different chars (characters) than the ones we now supported (lion/ansi/ebcdict).
The C0 overpunch deviates in EBCDIC_278 from the standard used in the EBCDIC_500 standard.

To counter these differences we've added an application option for custom sign encoding.
When set to "custom" then the sign encoding must be specified in the sys.ini.
The following example shows an example of statement that can be added to the sys.ini:
    CUSTOMSIGNENCODING=RQPONMLKJ}{ABCDEFGHI
It contains the value for -9 (R) to +9 (I). Note both -0 and +0 needs to be defined and all values must be unique.
FIX AMT 55
AMT LION | AMT COBOL Developer Various 328219
Adding a second script template resulted in a new script file instead.

If a second script template was added in the Repository View, the Developer would create a new script file instead of a script template.
When one would try to open or delete the file the file this would cause the Developer to throw an error.
 
Now, multiple script templates can be added from the Repository View, without throwing an error. 
To improve the visibility the options will now show "Script Template" when opening a script template.
FIX AMT 55
AMT COBOL Generator Various C1906-035
Variable usage types BINARY, REAL and DOUBLE incorrect memory size.

In AMT COBOL, for migrated A-Series applications, the memory size of variables with usage BINARY, REAL and DOUBLE should occupy 6 bytes or 12 bytes.
Currently these variable types occupy 2, 4 or 8 bytes which is based on IBM behaviour.

For AMT COBOL A-Series we have changed the memory size.
FIX AMT 55
AMT LION Runtime AmtScreens 327779
Not clearly visible if a listbox is disabled

AMTScreens : When a listbox was disabled it was hard to see if it was disabled.

The listbox now gets a light-gray background when it is disabled.
FIX AMT 55
AMT COBOL Runtime Various C1906-038
Automatic retrieval of TRANCODE from incoming transaction data.

For AMT Cobol, especially for migrated A-Series environments,  the transaction server/agent should retrieve the transaction code from the incoming (client) transaction data.
The  starting position and maximum size of the transaction code must be definable in the AMT Control Center per application.
This new behaviour of the transaction server/agent has been implemented for AMT Cobol A-Series environments.
NEW AMT 55
AMT LION AmtTools Prodinstall/Pinstall 328186
The Prodinstaller would copy files that should be skipped. 

Files that were added to the "skipped files section", that were not present in the source folder but were present in the target folder, would appear in the delete list after all. 
Therefore it could happen that, for instance, the AMTSETTINGS.xml would appear in the delete list, although it should be skipped. 

Files in the "skipped files section" are now ignored when it is present in the target but not in the source.
FIX AMT 55
AMT COBOL Runtime Various C1906-041
VSAM file browsing in AMT COBOL fixed.

VSAM generic browse (STARTBR GENERIC) READNEXT did not return the same record with every search. Also, the command READPREV with set-pointer parameter did not work correctly.

This change fixes these issues.
FIX AMT 55
AMT LION Developer Web Services C1905-090
Old style webservices need to be phased out

Old style webservices, both provided and consumable, have been phased out and put into read-only mode. They cannot be edited or generated anymore.
NEW AMT 55
AMT COBOL Runtime Various C1906-046
Sorting files with BCD's in the key would fail. 

Sorting a file in AMT COBOL with Binary Coded Decimal's (BCD) in the key would fail and throw an overlapping key error. This would occur in sources from migrated IBM and Micro Focus customers. 

The Bcd field length calculation has now been implemented correctly for former IBM & Microfocus applications.
FIX AMT 55
AMT LION | AMT COBOL AmtTools Reo C1906-047
Application selection lost in New REO when switching tabs.

When switching between tabs in the first two tabsheets, the New REO would lose the application selection.

Now the application selections will be retained.
FIX AMT 55
AMT COBOL Runtime Various C1906-055
EIBTASKN should be unique. 

EIBTASKN contains the task number assigned to the task by CICS, this value should be unique per transaction. 
Before this change, each LINK/XCTCL would get a new EIBTASKN.

The AMT Framework will now generate one EIBTASKN per transaction.
FIX AMT 55
AMT COBOL Developer Code Logic C1906-063
Unisys A-Series file/task attributes not supported in AMT COBOL.

Unisys A-Series (Cobol) supports many different file/task attributes. Most of these attributes are obsolete in a Windows environment. And for that reason these attributes are now being ignored in AMT COBOL. Only attributes like: TITLE, FILENAME, FAMILYNAME and PACKNAME are being handled in AMT COBOL.
CHANGE AMT 55
AMT COBOL Runtime Various C1906-064
TIME FIELD could not be used in a SELECT statement. 

A query where the SELECT statement would be used together with a TIME FIELD, where the TIME FIELD was used in the "WHERE" part of the statement, would not work in AMT. The AMT Framework would crash because the value of the TIME FIELD in the query was bound with the wrong type. This works for Update and Insert statements, but not for Select statements. For select statements, it only works if the field is bound as a string.

The TIME FIELD can now be used in the WHERE section of a SELECT statement.
CHANGE AMT 55
AMT LION | AMT COBOL AmtTools Reo C1901-019
AMT Reorganize Array quantity changes not correctly detected

The changes of an array column were not correctly detected from a normal column to array column and vice versa. The calculation of an arrays dimensions were not always executed correctly.

The new AMT Reorganize now handles array column changes correctly.
Changes of an array column from a normal column to array column and vice versa is resolved. The calculation of an arrays dimensions are now executed correctly.
FIX AMT 55
AMT LION | AMT COBOL AmtTools Reo C1906-065
Reo on a DB2 Database failed because of outstanding reorgs.

Performing an REO on a DB2 Database would fail because of outstanding reorganize actions.

Reo on a DB2 Database will now first perform any outstanding internal reorganize actions for the DB2 Database before starting other actions.
FIX AMT 55
AMT LION Runtime AmtScreens 327715
Errors on a custom masked editbox

In case values were added at the end of a maskeditbox, characters would be replaced by invalid characters. 
An exampe of this would be as follows: ^^^^^^^^^^ would change to ■■■■■■■■■■ 

Typing at the end will not corrupt the value anymore.
FIX AMT 55
AMT COBOL Developer Code Logic C1906-072
Code folding exceptions because of period characters in a double-quoted literal.

The AMT Developer crashed throwing a "newFoldings must be sorted by start offset" exception. This Cobol code folding issue was caused by a period character in a double-quoted string literal.

This issue has been resolved.
FIX AMT 55
AMT COBOL Generator Various C1906-071
Add setcursor functionality in AmtCobol.

In CobolForms you can now use the 'CALL 'SETCURSOR' USING '' command to set the cursor position on .
Any cursor positioning by setting specific attributes in a program will overrule this.
NEW AMT 55
AMT COBOL Runtime Various C1906-073
Delete on file returned filestatus 23 on successful delete of last record.

In cases where the only record in a file gets deleted, the file status should be set to 0 for applications that were migrated from IBM / MicroFocus environments. AMT COBOL, however, returned status 23 not found.

With this fix the status 0 will be returned.
FIX AMT 55
AMT LION Services Batch Controller 327274
Schedule OnFile did not always work with a new file. 

When you have a job scheduled, that was configured to use the OnFile option, the job should run as soon as a file is available. However, in this case, the process didn't didn't detect the file the second time. When a file was added to a directory the first time and was deleted by the Onfile function the first time,  the Scheduler would not detect the file anymore when you added the same file the second time. The FileController did not trigger the file creation as it incorrectly determined that the file was already handled and should not be handled again.

Now, the Onfile option will detect the file even when it has handled the file before. 
FIX AMT 55
AMT COBOL Runtime Web Client C1906-076
Different colours for enable- and disabled HighIntensity fields

For one of the projects, a different colour is needed to separate enabled HighIntensity fields from Disabled HighIntensity fields.

Now a new CHighIntensityCobolDisabled class has been added to the Amt.css. This will be set for Disabled HighIntensity fields.
NEW AMT 55
AMT COBOL AmtTools Reo C1906-078. 

The New AmtReorganise will crash when adding date/time fields.

The new AmtReorganize.exe would crash in situations where one would analyse a COBOL table containing a DateTime field. No error messages would be logged in the Reorganize.Log, however, an error with the following error description would appear in the Event Viewer: The process was terminated due to an unhandled exception.

Internal length calculation has been corrected and it should no longer cause any errors.
FIX AMT 55
AMT LION Control Center Various 328075
Control Center Error with View Transactions

The transaction viewer gave an error when reviewing the transaction containing a listview.
This was caused by a version difference of the listview component within the transaction viewer against the newest listview control.

The problem is resolved by checking the version within the transaction viewer and acting accordingly.
FIX AMT 55
AMT LION Runtime Various C1906-080
The system table fields had mixed null/default value options per customer.

The system table fields had mixed null/default value options per customer.

Now the system tables have consistent options. Almost all system table fields are now nullable except those used in index keys. The REO on the system table will produce a long list but should be relatively quick.
CHANGE AMT 55
AMT LION | AMT COBOL AmtTools Reo C1906-081
REO fails to create a new table when a field contains large arrays.

The REO would fail to create a new table when it contained values with a high occurrence (large arrays) and the item itself is smaller than 5 long.
This error was introduced in Amt 54 with the change of C1808-028, because from that point on it would start to check on nchar or nvarchars.

The Reo will now create the field with the right definition for array items.
FIX AMT 55
AMT LION | AMT COBOL Runtime Various C1906-082

Batch.Log logfile shows the incorrect source of messages.

The Batch.Log logfile would not show the correct source (program/ subprogram) of messages. 
Messages originating from subprograms were not consistently bound to the correct subprograms. In some occasions, it would show the program name instead. 

This has now been corrected. The correct program or subprogram will now be reported for each message in the Batch.Log logfile.
FIX AMT 55
AMT LION Control Center Configuration 328224
Invalid warning when starting a report

When in the developer the Century start year is set to zero, you will get a warning when starting a report.
The problem is caused by change number C1904-0075, Fixed time frame.

The warning does not occur anymore.
FIX AMT 55
AMT COBOL AmtTools Debugger C1906-085
Showing the full path of the file with a MouseOver over a file variable.

A MouseOver over a certain File variable did not show the entire file path; also the value in the Watch window showed the logical filename instead of the entire file path. Even after the file was opened, the logical filename was still shown.

This has been fixed in the Amt Generator. The entire file path is now shown on MouseOver over the file variable and the entire file path is also shown as Value of a variable in the Watch list.
FIX AMT 55
AMT LION Developer Various C1906-086
Importing LionSource files with Command Line interface of LionDev.

When importing LionSource files with the Command Line interface of the AMT Deveoper Studio executable LionDev.exe and using the NOGUI parameter, the LionDev import could hang when the parameters were incorrect. This was because the GUI thread remained waiting for the Import thread to finish, while it was not started. In that case you could see LionDev hanging in the Windows task manager on the console.

Now, this has been resolved cause the GUI thread doesn't wait anymore when there was an error when starting the Import thread.
FIX AMT 55
AMT LION Runtime Various C1906-087
Optimization of the FileController.

From AMT 53, the FileController created incorrect file indexes; this was causing the filecontroller to have to rebuild the indexes again every time when adding new records to the file, which might possibly cause a slow responsive system.

Performance increase was gained by putting indexes in memory, resulting not having to read it again next time.
FIX AMT 55
AMT LION AmtTools Reo C1906-089
Showing compilation errors of stored procedures (Oracle related).

Amt Reorganize did not show the compilation errors of stored procedures when the naming of the schema in Oracle was different than the user code of the connected user.

Now, the selection of compilation errors has changed to use the correct schema information.
FIX AMT 55
AMT LION Runtime AmtScreens C1906-096
Key combination CTRL + S in the application screen.

Pressing the key combination CTRL + S in the application screen crashed the AmtScreens application. These crashes was caused by an issue with focusable controls.

In this version the cause of the crash has been resolved.
FIX AMT 55
AMT LION Runtime AmtScreens C1906-097
Pressing a character in the RTQuery listview in AmtScreens would cause a crash.

Pressing a character in the RTQuery listview in AmtScreens caused a crash. This had to do with the feature that looks up names, and selecting the first occurrence of that row.

In this version the crash is resolved for now, however, the mentioned feature is still broken. This will be resolved in a future release.
FIX AMT 55
AMT COBOL Developer Code Logic C1906-100
Generation of command  EXEC CICS DELETE with parameter NOHANDLE.

Command EXEC CICS DELETE with parameter NOHANDLE returned a C# error when generating. This was due to some changes in the AMT Generator.

With this fix, the generation has been adjusted to ensure that the code generates and works without errors.
FIX AMT 55
AMT LION Runtime Various C1906-104
Deleted printfiles when a report or program aborts.

Within Amt, printfiles were always deleted if the report or program aborted. For systems, for instance when migrated from LINC, this will not be a problem, because the printfile is normally treated as a temporary file. However this should not happen when the filename is set externally, for instance by a script.

Now, the printfiles will not be deleted if the filename of the printfile is passed from outside, because then we can assume that the script is in control of handling files. If Amt has generated the filename of the printfile itself, it will still delete the printfile, when the report or program aborts.
CHANGE AMT 55
AMT LION AmtTools Reo C1906-0105
Reorganization when a temporary column exceeds the maximum length.

During reorganization of tables an error was given when a temporary column had to be made that was longer than the maximum column length.

Now, the old REO as well as the new Amt Reorganize have been modified to avoid that temporary column names won't get longer than the maximum column length.
FIX AMT 55
AMT LION | AMT COBOL Generator Various C1906-108
C# error on COBOL statement "DIVIDE WS-1 BY ZERO GIVING WS-2.

The Generator would throw a C# error when divide or compute by zero statements were used in the source code.

The generator now detects exceptional division behaviour like: "xxx / 0", "xxx / zero", "xxx / zeros". When the usage of the divide/compute statements is detected the Generator will throw an abort message noting: "Program terminated intentionally".
FIX AMT 55
AMT COBOL Developer Code Logic [FIX] C1906-109

Returning spaces instead of zeros if a numeric field in a structure array contain spaces.

A structure array in a database table, containing numeric fields, returned zeros instead of spaces if those fields contained spaces.
For example when moving VSAM files to database tables:

05 STRUCT-FIELD OCCURS 53.
10 N-FIELD-1 PIC 99.
10 N-FIELD-2 PIC 99.

IF STRUCT-FIELD(J) NOT NUMERIC

This check should result a true, when the fields of the structure contain spaces, for instance when the last part of the array is not filled with numbers.

This is fixed for AMT COBOL; now, spaces in the structure will be read as spaces from the database, so that the NOT NUMERIC check behaves, as it should be for COBOL.
FIX AMT 55
AMT COBOL Generator Various C1906-110
C# errors could occur when using "GO TO
" commands in Runtime.

When "GO TO
" commands, within a COBOL program, gets executed in Runtime, this could cause C# errors depending on the use of this statement elsewhere in that section.

This error was fixed, now the C# error will no longer occur.
FIX AMT 55
AMT LION Runtime Web Client C1906-115
Enabling of combo boxes in the browser.

In the event that a certain combo box was initially disabled if the concerned form was loaded in the Internet Explorer browser, the arrow on the combo box remained disabled after this combo box would be enabled. The disabled attribute on the arrow of the combo box object was not properly removed during this enabling, however in chrome this worked correctly.

Now, the enabling of combo box attributes in the browser has been revised.
FIX AMT 55
AMT LION Runtime Various C1907-026
The generation of dll's, required for using Provided Web Services.

Normally, the Amt generator copied all known Web Server Provider related DLLs to the ... \ Common \ WebProvider \ bin folder.
With the introduction of the new Asysco.Amt.Windows.dll, the Amt Generator had not been modified and the web service provider did not work due to the missing dll.

The Amt Generator has now been adapted to also place the new Asysco.Amt.Windows.dll in the bin folder of the web provider.
FIX AMT 55
AMT COBOL Developer Various C1907-028
Calculation results moved to a COMP-3 variable would always return zero.

The following COBOL statement "DIVIDE comp-3-Var1 BY 11 GIVING comp-3-Var1 REMAINDER comp-3-Var2" would return an unexpected result. 
The comp-3-Var2 returned zero after executing the statement, with 200 and 11 being the input values. However, the remainder should be 2.

This has been fixed, and the calculation now works correctly. In the case where the input values are set to 200 and 11, the remainder should be 2.
FIX AMT 55