AMT Release Notes

AMT 67

Released: 27 Mar 2020.
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 | AMT COBOL AmtTools Reo 328536

AMT Reorganize logging messages scrolled out of view and weren't visible anymore.

The display of logging information has been improved to solve this issue. Also, the display of information within the status bar has been improved.
FIX AMT 67 Low
AMT LION | AMT COBOL Runtime Web Client C2001-046

If a user that already existed tried to log in using an existing login name, the message 'User name already exists' was shown, which was too specific for security reasons.

Now, if a user that already exists logs in, a more generic error message is shown: 'Something went wrong with signing up. Please contact your system administrator'.
CHANGE AMT 67 Low
AMT LION | AMT COBOL Control Center Security C2001-048

Downloading a logfile was done by sending its pathname to the server. This was a vulnerability for Local File Inclusion, because any file could be downloaded if the request was intercepted.

Downloading a log file is now done by sending the file ID to the database. The server looks up the corresponding file and returns the data.
CHANGE AMT 67 Low
AMT LION | AMT COBOL Runtime Web Client C2001-051

In a NoFramework application, the ReturnURL could be changed on the login page, which was a security risk.

The ReturnURL has been removed and now automatically redirects to the NoFramework page.
CHANGE AMT 67 Low
AMT LION | AMT COBOL Runtime Web Client 328923

Users were not created if the system had the NoFramework option and Windows authentication was selected.

User creation code for situations in which NoFramework and Windows authentication have been selected has been implemented.
FIX AMT 67 Low
AMT LION | AMT COBOL Generator Various C2002-068

Runtime applications in the AMT Application Server reported that 'protobuf-net.dll' could not be found.

The generator now always copies the missing DLL to the client web site folder.
FIX AMT 67 Low
AMT LION | AMT COBOL Runtime Jobs/Batches C2002-070

If a PowerShell script with multiple (mandatory) parameters was started from the AMT Control Center, and the 'Run PowerShell inside batch-controller' option was enabled, a 'Cannot process command because of one or more missing mandatory parameters' exception was raised, caused by quotes surrounding the parameters.

The surrounding quotes are now removed when the 'Run Powershell inside Batch Controller' option is enabled.
FIX AMT 67 Low
AMT COBOL Runtime Jobs/Batches C2002-071

Former A-Series COBOL only: Jobs started by a COBOL program with CALL SYSTEM WFL, did not show up on the 'Batch Control' screen in the AMT Control Center.

This issue has been resolved.
FIX AMT 67 Low
AMT COBOL Runtime Various C2002-072

Performance of MOVE/CALC of numeric values without decimals has been improved.
CHANGE AMT 67 Low
AMT LION | AMT COBOL Developer Code Logic C2002-081

Code completion did not work if there was a space in the array definition.

Spaces between the square brackets are now properly handled.
FIX AMT 67 Low
AMT LION Control Center Server Control C2002-082

Comserver wouldn't start after an AMT update.

The Comserver has been fixed so that all necessary files are downloaded correctly.
FIX AMT 67 Low
AMT COBOL Runtime Various C2002-084

If a COBOL program called a shared program and the Transaction Server/Agent did not get a response within the defined time, the program just continued and nothing was logged.

This has been resolved by having the program throw an exception when the timeout is exceeded. and halting the program.
FIX AMT 67 Low
AMT LION | AMT COBOL Runtime Web Client C2002-086

Edge Chromium was not yet supported.

Edge Chromium is supported from AMT 67.
NEW AMT 67 Low
AMT COBOL Runtime Various 329067

For IBM DB2 queries, in some cases the CAST <expression> AS DATE was converted incorrectly.

The CAST <expression> AS DATE is now converted correctly.
FIX AMT 67 Low
AMT COBOL Runtime Various C2003-004

If COBOL command SET ADDRESS OF <variable> TO <pointer> is used with 0 or a null pointer, memory was freed. If the variable was called later with a valid pointer, AMT returned an error.

With this fix the pointer gets assigned properly.
FIX AMT 67 Low
AMT LION | AMT COBOL Control Center Various C2003-006

A time zone difference between the AMT System Time Zone and the Local Server Time Zone caused new job requests to be queued instead of started directly.

This issue has been resolved by enforcing the System Time Zone for the start date/time of job requests.
FIX AMT 67 Low
AMT COBOL Generator Various 329091

For IBM COBOL, complex DB2 queries using a specific combination of sub-queries and unions caused host variables not to be generated.

This has now been fixed in the AMT Generator.
FIX AMT 67 Low
AMT LION Generator Various 329063

Generating a Graphical Report with a label of type String and OCCURS (vertical or horizontal) raised a C# error.

This has now been corrected.
FIX AMT 67 Low
AMT COBOL Generator Various 329088

For IBM COBOL, using a GO TO statement to jump back to previous sections resulted in unpredictable behavior.

The generator has been improved and tries to correct GO TO statements that jump up to 3 sections back.

Please note that jumping back to sections is highly discouraged and can still result in unpredictable behavior.
CHANGE AMT 67 Low
AMT COBOL Runtime Various 32911

IBM COBOL DB2 INSERT statements with date/time columns failed when a date/time format was used that was different from that of SQL Server.

IBM COBOL DB2 INSERT statements with date/time columns have now been optimized to use host variables, so that date/time formats are translated at runtime.
CHANGE AMT 67 Low
AMT COBOL Runtime Various 329044

For IBM migrations the DYNAM library needed to be implemented.

The DYNAM has been implemented for functions ALLOC and UNALLOC. If a (sub)program with that name exists, that is called instead of the AMT version.
FIX AMT 67 Low
AMT LION Runtime AmtScreens 329102

AMT Screens recording a macro did not record any spaces within an Editbox.

The recording mechanism has been improved so that spaces are now recorded.
FIX AMT 67 Low
AMT LION Runtime AmtScreens 329126

A label with top = 0 and left = 0 was not shown correctly within an AMT Scrollbox if it had no border.

The Scrollbox has been improved so that the label is shown correctly on the top left side.
FIX AMT 67 Low
AMT COBOL Runtime Various C2003-025

Messages sent from COBOL programs did not show the correct source. The source of the message was shown as the starting/first program, whereas the actual source of the message could be another program started by the first program. The first program was always shown as the source.

This issue has been fixed, the correct source (the actual program doing the display) is now shown.
FIX AMT 67 Low
AMT COBOL Runtime COM Module 329116

In IBM COBOL, a field in a screen unaltered by the user is sent back as low-values/spaces, so the program knows the user has not changed anything. The AMT Application Center uses the same approach, but the COMModule formatted low-values to '0'.

A value is no longer formatted inside the COMModule when the received value for a numeric field is spaces. So unless the client application updates the value itself, the logic can check on altered values by checking on low-values.
FIX AMT 67 Low
AMT COBOL Runtime Scripts C2003-033

CopyRecords function needed to be added to ComScript FileObject.

For copying data between new SQLite files and other files the function CopyRecords has been added. This copies all data from one file to another but leaves file type and metadata intact. It mimics the IBM mainframe IDCAMS REPRO function.
NEW AMT 67 Medium
AMT COBOL Runtime Various 329134

In IBM COBOL, moving hex 00 into a signed numeric field resulted in -28 instead of zeros.

In AMT COBOL, moving hex 00 into a numeric field now results in zeros.
CHANGE AMT 67 Low
AMT COBOL Runtime Various C2003-039

On an A-Series mainframe, the DMTERMINATE statement terminates the program and provides information about the DMSII database error that occurred. In AMT COBOL the DMTERMINATE statement only terminated the program. It did not provide any information about the actual database error.

Additional information about the actual database error that occurred has been added to the DMTERMINATE abort message in AMT COBOL.
CHANGE AMT 67 Low
AMT COBOL Runtime Various C2003-044

On an A-Series mainframe, the default value of an SDF field is placed in the field when the form is sent to the terminal initially, or when the program value is 0 (zero) or blanks. In AMT COBOL the default value was always overwritten by the program value.

This issue has been resolved, AMT COBOL now gives the field its initial value.
FIX AMT 67 Low