AMT Release Notes

AMT 179

Released: 09 Oct 2026.
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 Blazor Web Client #83300

In the Blazor Web Client, ListViews configured with AutoHeight=true displayed rows using a fixed height, preventing rows from automatically sizing to their content.

We updated ListView rendering to apply fixed row height styling only when AutoHeight is disabled. ListViews configured with AutoHeight=true now size rows dynamically based on their content.

This change may affect custom CSS that relies on fixed row or cell heights. Users with such customizations should review their ListView styling for changes to row expansion, vertical alignment, or text wrapping.
CHANGE AMT 179 MEDIUM
AMT LION Control Center Configuration #105013

INC: 1450827

In Firefox, Control Center configured WebConsumable values such as the endpoint address, security mode, and client credential type could appear blank in the Edit dialog. Saving the dialog could then unintentionally overwrite these settings with empty values.

We updated the Edit WebConsumable dialog to correctly display all configured values in Firefox, preventing existing settings from being cleared when the dialog is saved.
FIX AMT 179 MEDIUM
AMT COBOL Runtime Various #107696

In AMT COBOL, when a CICS transaction returned a blank transaction code, the runtime could lose the current transaction context. This could cause navigation to fail with the error “Transaction does not exist.”

We updated the routing logic to retain the valid current or screen transaction when no transaction code is provided. The runtime now validates the transaction code before attempting to resolve it.
FIX AMT 179 MEDIUM
AMT LION Runtime Blazor Web Client #109863

INC: 1489428

In the Blazor Web Client, ListView column alignment settings were not always honored. As a result, headers such as Date and Time were not centered, and changes to column alignment attributes did not display as expected.

We updated the ListView header rendering logic to correctly apply column alignment settings. The first column remains left-aligned by default, while the alignment of subsequent columns is applied consistently and can be configured as intended.
FIX AMT 179 MEDIUM
AMT LION | AMT COBOL AmtTools Batch processing #111605

INC: 1502625

When a Job Object ScriptParameter used the format "value", PowerShell scripts received the parameter with triple quotes ("""value"""), causing the value to be interpreted incorrectly.

We improved PowerShell parameter handling to correctly format quoted values before passing them to PowerShell, ensuring that script parameters are received as intended.
FIX AMT 179 MEDIUM
AMT LION | AMT COBOL Runtime System Database #111867

Reorganize failed on an application database with a SQL Server truncation error when saving filtered-index logic longer than 1,024 characters.

We expanded the database column used to store index logic and updated existing databases automatically during Reorganize. Longer filtered-index definitions can now be saved without truncation errors.
FIX AMT 179 MEDIUM
AMT LION | AMT COBOL AmtTools Various #111906

The AMT Comscript module has been extended with the IFileCycleInfo interface to support the @CYCLE command. This interface enables converted scripts to retrieve cycle information for cycled files.
NEW AMT 179 MEDIUM
AMT LION | AMT COBOL Setup Various #111909

When running setup.exe for a new installation with an empty repository, LION displayed a message that referenced .NET 8 instead of the currently required .NET 10 version.

We updated the installer message to correctly reference .NET 10, ensuring that new installations display the correct runtime requirement.
FIX AMT 179 LOW
AMT COBOL Developer Code Logic #112645

AMT COBOL for OS 2200 did not support dynamic RDMS cursors created with the ALLOCATE CURSOR FOR statement.

We added support for ALLOCATE CURSOR FOR, enabling applications to allocate RDMS cursors for prepared statements.
NEW AMT 179 MEDIUM
AMT LION Runtime Blazor Web Client #112859

INC: 1481963

Radio buttons appeared slightly farther to the right in the Blazor Web Client than in LionDeveloper. When the available width was limited, the label text could also move beneath the radio button instead of remaining beside it.

We updated the rendering of radio buttons and their labels to match the appearance and outlining used in LionDeveloper, providing a more consistent user experience across clients.
FIX AMT 179 MEDIUM
AMT COBOL Developer Code Logic #113106

When generating AMT COBOL OS 2200 applications, RDMS statements ending with an RSA area clause caused generation to fail with the error “Operand RSA is not declared.”

We updated the RDMS parsing logic to recognize and correctly handle trailing RSA area clauses. These statements now generate successfully.
FIX AMT 179 MEDIUM
AMT COBOL Runtime Code Logic #113580

COBOL OS 2200 applications encountered errors because the runtime did not support the UCS physical I/O calls LOC$, UCSMAKEIOPK$, and FIOW.

We implemented handling for these UCS physical I/O calls by creating file controller requests that read files and write data when required.
NEW AMT 179 MEDIUM
AMT COBOL Developer Code Logic #113581

Converted OS 2200 COBOL programs that called UCSPCT$ generated successfully but terminated at runtime with an invalid function call error.

We updated the converter, generator, runtime, and command script library to recognize and execute UCSPCT$. Applications can now retrieve the run ID and group run ID without runtime errors.
NEW AMT 179 MEDIUM
AMT COBOL Runtime Code Logic #113582

Migrated OS 2200 COBOL programs that called UCSFDASC$ failed at runtime with an invalid function call error because the routine was not supported.

We implemented support for UCSFDASC$, allowing applications to recognize and execute the call correctly. Programs that rely on Fieldata-to-ASCII conversion can now migrate, build, and run successfully.
NEW AMT 179 MEDIUM
AMT COBOL Runtime Code Logic #113583

COBOL OS 2200 applications that called UCSTIME$ converted and generated successfully, but failed at runtime with an "Invalid function call UCSTIME$" error because the intrinsic was not supported.

We implemented support for UCSTIME$ and aligned it with the system time configured in AMT. Applications that use UCSTIME$ can now execute successfully.
NEW AMT 179 MEDIUM
AMT COBOL Developer Code Logic #113584

Converted OS 2200 COBOL programs that called UCSINFO$ terminated at runtime with an invalid function call error because the intrinsic was not supported.

We updated the converter, generator, and runtime to recognize and execute UCSINFO$. Applications can now retrieve the session user ID and program information, while unsupported information groups return initialized values.
NEW AMT 179 MEDIUM
AMT COBOL Developer Code Logic #113585

The generator treated COBOL OS 2200 UCSDWTIME$ calls as an external program, causing applications to abort with an “Invalid function call UCSDWTIME$” error.

We updated the converter, generator, and runtime to process UCSDWTIME$ as a supported intrinsic.
NEW AMT 179 MEDIUM
AMT COBOL Generator Various #113981

Indexed files that used a group key containing COMP or packed decimal fields in COBOL programs could return records in an incorrect sequence because the key values were not interpreted correctly.

We updated the index handling logic to treat COMP and packed decimal subfields as individual key components rather than as a single alphanumeric key. This ensures records are read and ordered correctly.
FIX AMT 179 MEDIUM
AMT COBOL Generator Code Logic #114006

When processing an embedded SQL host variable that used an open-ended COBOL reference modifier (start:), the generator could fail with an unrelated error.

We corrected the generator's handling of open-ended reference modifiers in embedded SQL host variables, allowing affected programs to generate successfully.
FIX AMT 179 MEDIUM
AMT LION Runtime Clients #114095

INC: 1517550

When a ComboBox or ListBox was configured with MemoryBased=False, contained ItemsAndValues in the screen layout, and was also populated using FILLBOX, the control displayed the layout items instead of the FILLBOX items.

We updated the control behavior of AMT Screens and the Blazor Web Client so that FILLBOX items replace layout-defined items when a listbox file is attached. This aligns the behavior with the documented functionality and the behavior of the previous web client. Controls without an attached file continue to display the layout items, and memory-based controls are unchanged.
FIX AMT 179 MEDIUM
AMT LION Runtime Blazor Web Client #114100

INC: 1517493

After pressing Enter in Blazor Web Client screens, SI-FOCUSEDFIELD could be empty, preventing applications from determining which field had focus when the screen was transmitted.

We improved Enter-key handling in the Blazor Web Client to ensure SI-FOCUSEDFIELD is populated with the name of the selected field after transmission.
FIX AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114119

AMT COBOL applications that use XML data required support for processing XML data structures.

We added support for storing XML as a CLOB database type and implemented XML functionality, enabling applications to store and process XML data.
NEW AMT 179 MEDIUM
AMT COBOL Developer Forms #114148

The COBOL OS 2200 Allow Query setting was not supported for DPS fields, preventing applications from using this functionality as intended.

We implemented support for the Allow Query attribute on DPS fields, enabling applications to use query-enabled field behavior.
NEW AMT 179 MEDIUM
AMT COBOL Generator Code Logic #114232

The generator could crash when processing a MOVE ZEROS TO SQLCODE statement in an OS 2200 COBOL program.

We corrected the generator's handling of assignments to SQLCODE, allowing affected programs to generate successfully.
FIX AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114370

AMT COBOL only recognized the standard RANDOM function for IBM COBOL applications. As a result, valid COBOL programs using FUNCTION RANDOM in OS 2200 and other non-IBM dialects could not be migrated successfully.

We updated AMT COBOL to recognize the RANDOM intrinsic across all supported COBOL dialects. Applications using FUNCTION RANDOM can now be imported, generated, and executed without requiring code changes.
CHANGE AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114372

In AMT COBOL for OS 2200, RDMS statements that attempted to lock or unlock multiple tables could cause a parsing error.

We updated RDMS statement processing to support comma-separated lists of tables. Applications can now lock or unlock multiple tables in a single statement.
FIX AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114374

The COBOL parser incorrectly treated indexed references to screen page fields as array access and reported an error stating that the page field was not defined as an array.

We updated the parser to accept indexed references on page fields used in paginated screens. Affected screens now convert successfully without validation errors.
FIX AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114377

In AMT COBOL for OS 2200, programs that declared the same RDMS cursor more than once could fail with the error “SQL: Duplicate DECLARE CURSOR encountered.” This could occur when a cursor was declared in mutually exclusive paths or declared again after being closed.

We updated cursor processing to allow repeated declarations, consistent with mainframe RDMS behavior. When a cursor is redeclared, the latest declaration is now used.
FIX AMT 179 MEDIUM
AMT COBOL Runtime Code Logic #114379

In AMT COBOL for OS 2200, RDMS UNLOAD statements using FORMAT INTERNAL were not supported and could fail at runtime with a null file stream error.

We added support for FORMAT INTERNAL and updated file-stream handling so these UNLOAD operations now run successfully.
NEW AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114381

In AMT COBOL for OS 2200, RDMS UPDATE statements using a RETRIEVE INTO clause could not be converted and produced an unexpected token error. These statements are commonly used to update a value and return the result to the application in a single operation.

We added support for UPDATE … RETRIEVE INTO statements, including multiple returned values. Updated column values are now assigned to the corresponding host variables as expected.
NEW AMT 179 MEDIUM
AMT COBOL Runtime Code Logic #114437

ActiveControlName was not always set or retrieved correctly, preventing OS 2200 COBOL applications from reliably determining the active control.

We updated the handling of ActiveControlName to ensure it is processed correctly for COBOL OS 2200 applications.
NEW AMT 179 MEDIUM
AMT COBOL Runtime Various #114470

When SQL statements were located in an AMT COBOL copybook and SQL error handling was performed in the main program, the SQL status information was not shared correctly. This could prevent applications from detecting and responding to database errors as intended.

We updated the SQL handling logic so that copybooks and the calling program use the same SQLCODE object. This ensures that SQL status information is available consistently and that database error handling works correctly across both locations.
FIX AMT 179 MEDIUM
AMT COBOL Generator Code Logic #114482

In AMT COBOL for OS 2200, EXEC RDMS GET-ERROR statements were emitted as comments instead of executable code during migration. As a result, converted error-handling logic could enter an infinite loop at runtime.

We updated RDMS code generation to generate GET-ERROR statements correctly. Converted applications can now retrieve RDMS error information and continue through their error-handling flow as intended.
FIX AMT 179 MEDIUM
AMT LION | AMT COBOL Runtime Blazor Web Client #114506

In the Blazor Web Client, function key actions were not handled correctly for OS 2200 COBOL and LION applications, preventing applications from responding to function key input as intended.

We implemented function key handling for OS 2200 COBOL and LION applications, enabling applications to recognize and process function key actions correctly.
CHANGE AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114543

In AMT COBOL for OS 2200, RDMS interpreted SQL using ACOB$RDMR could fail to convert because semicolon statement terminators were not handled correctly. Content from previously processed statements could be included, causing unexpected words and parsing errors.

We updated statement reconstruction to honor semicolon terminators and prevent content from earlier statements from being carried forward. ACOB$RDMR statements are now parsed correctly.
FIX AMT 179 MEDIUM
AMT COBOL Runtime Various #114608

The AMT COBOL transaction server could throw a null reference exception when processing an OS 2200 form that contained a panel with no child controls.

We updated the form-processing logic to correctly handle empty panels, preventing the null reference exception and allowing affected forms to process successfully.
FIX AMT 179 MEDIUM
AMT COBOL Runtime Various #114620

In AMT COBOL, when an application moved a shorter alphanumeric value into an unshared OS 2200 numeric or signed field, the resulting value could be incorrect due to improper memory alignment.

We corrected the memory move logic for unshared OS 2200 numeric and signed fields, ensuring values are aligned correctly during data movement operations.
FIX AMT 179 MEDIUM
AMT COBOL Generator Code Logic #114664

COBOL OS 2200 DPS fields that used SYSTEM_VALUE = TRANSACTION_CODE were not populated with the transaction code when the screen data was returned to the client.

We corrected the DPS field processing logic so that fields configured with SYSTEM_VALUE = TRANSACTION_CODE are now populated with the appropriate transaction code when data is sent back to the client.
FIX AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114665

In AMT COBOL, when DECIMAL-POINT IS COMMA was configured, the parser could fail with “Invalid expression [OF] encountered” if an EVALUATE subject contained both a comma-based decimal literal, such as 0,05, and an OF-qualified subscripted reference, such as VAT-TAX OF REP002(1).

We updated EVALUATE processing to distinguish decimal separators from data-name qualification. Decimal literals and genuine OF-qualified references are now processed correctly, allowing affected programs to parse successfully.
FIX AMT 179 MEDIUM
AMT COBOL Generator Code Logic #114666

Records in SQLite files converted from the mainframe were not always read in the correct order by the COBOL START statement when indexed keys contained COMP or COMP-3 COBOL fields and CompInAscii was enabled.

We updated the index handling logic to process COMP and COMP-3 fields as separate key components and convert ASCII values back to EBCDIC before sorting. This ensures records are returned in the correct key order.
FIX AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114795

AMT COBOL for OS 2200 now supports RDMS random-access cursors declared with DECLARE CURSOR FOR RANDOM ACCESS.

We also added support for LOCATE … USING VALUES statements, enabling migrated applications to position random-access cursors using specified values.
NEW AMT 179 MEDIUM
AMT COBOL Generator Code Logic #114796

AMT COBOL for OS 2200 now supports the RDMS STR scalar function in embedded SQL expressions. Previously, programs using STR could fail to generate with the error “Function: str not understood.”

Both STR(value, width) and STR(value, width, decimals) are supported. Generated applications preserve the expected fixed-width, right-aligned, space-padded result, including when STR is used within nested functions such as REPLACE or SUBSTR.
NEW AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114800

The COBOL parser rejected level-88 condition names defined directly under a group item or FD record without a PIC clause. This caused cascading declaration and Boolean-expression errors during conversion.

We updated the parser to associate level-88 condition names with their parent group or FD record. Affected programs now convert and generate successfully without the related parsing and validation errors.
FIX AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114803

In AMT COBOL, when a copybook was included again under a standalone REPLACE statement, an INDEXED BY variable was not renamed as specified. This caused duplicate index declarations and undeclared index errors during conversion.

We updated standalone REPLACE processing to remove padding from replacement values and replace only complete COBOL words. Index variables are now renamed correctly without changing longer field names that contain the same text.
FIX AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114804

The COBOL parser incorrectly reported a "must have equal sizes" error when an INSPECT ... REPLACING statement compared a value against a numeric field defined with SIGN LEADING SEPARATE or SIGN TRAILING SEPARATE.

We updated the INSPECT size validation logic to ignore the separate sign position when comparing field sizes. Valid statements that use separate-sign numeric fields are now processed correctly, while genuine size mismatches continue to be rejected.
FIX AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114807

The COBOL parser reported an “Invalid number of indexes” error when an item within a multi-occurrence OCCURS group was referenced without a subscript, even though OS 2200 COBOL treats this as a reference to the first occurrence.

We updated the parser to default unsubscripted references to the first occurrence when used in MOVE operands, embedded SQL host variables, and intrinsic-function arguments. The parser now issues a warning instead of an error in these contexts, while invalid uses in other contexts remain errors.
FIX AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114812

When processing a MOVE statement that contained a multi-line COBOL literal, the COBOL parser could fail with errors such as "Unexpected token -, expected: TO" and "Target variable missing in MOVE instruction".

We updated the COBOL input processing logic to correctly recognize and handle column-7 continuation lines. Multi-line literals are now combined correctly, allowing affected programs to generate successfully.
FIX AMT 179 MEDIUM
AMT COBOL Developer Code Logic #114814

The COBOL parser could fail when processing a condition such as IF (WS-CS >= "50" AND WS-CS <= "59") OR "00". Giving a "Binary operator expression expected OR" error

We updated the expression parser to correctly interpret abbreviated combined conditions that follow a parenthesized relational expression. Affected conditions now generate successfully and are evaluated as intended.
FIX AMT 179 MEDIUM
AMT COBOL Generator Various #114950

In AMT COBOL for OS 2200, RDMS cursor queries containing an unqualified column shared by multiple tables could fail at runtime with an ambiguous column error. Queries could also reference an aliased table by its base name, producing SQL that was not valid for SQL Server.

We updated SQL generation to resolve ambiguous unqualified columns according to RDMS behavior and to use table aliases correctly. These cursor queries now execute as intended.
FIX AMT 179 MEDIUM
AMT COBOL Developer Code Logic #115011

The COBOL parser rejected accented characters in data-item names, causing parsing errors when these characters appeared in supported source code.

We updated the parser to recognize accented characters correctly. Programs containing accented characters now parse and generate successfully.
FIX AMT 179 MEDIUM
AMT COBOL Runtime Code Logic #115140

In DPS/OS 2200 COBOL programs, after a D$RETR, DpsSend reused cached screen data instead of the current screen state. As a result, field changes made by the program after the retrieval could be lost when the screen was sent back to the client.

We removed the cached payload behavior and updated DpsSend to use the current screen state when sending data to the client. Programmatic field changes made after D$RETR are now preserved correctly.
FIX AMT 179 MEDIUM
AMT COBOL Runtime Code Logic #115290

In AMT COBOL for OS 2200, navigating backward through a paged list could display an empty screen instead of the expected records. On SQL Server, the first FETCH PRIOR after opening an RDMS scroll cursor returned no row, while RDMS semantics require it to return the last row.

We updated SQL cursor handling so the first FETCH PRIOR after OPEN is processed as FETCH LAST for RDMS scroll cursors on SQL Server. Previous-page and last-page actions now display the expected results.
FIX AMT 179 MEDIUM
AMT COBOL Generator Various #115310

When migrating AMT COBOL queries from RDMS 2200 to SQL Server, queries using the IFNULL, NVL, INT, INTEGER, DECODE, LPAD, or MONTHS_BETWEEN functions could fail at runtime because those functions were not converted to SQL Server-compatible syntax.

We updated SQL generation to translate these RDMS functions to their SQL Server equivalents. Generated queries using these functions now execute correctly on SQL Server.
FIX AMT 179 MEDIUM
AMT COBOL Generator Various #115312

When migrating AMT COBOL queries from RDMS 2200 to SQL Server, some generated queries contained syntax that SQL Server could not process. This included unconverted RETURNING clauses, literal values incorrectly emitted as parameters, and unresolved RUN_ID or GENERATED_RUN_ID placeholders.

We updated SQL generation to produce valid SQL Server syntax by converting RETURNING clauses to OUTPUT, preserving literals, and resolving run ID placeholders. These queries now execute correctly on SQL Server.
FIX AMT 179 MEDIUM
AMT COBOL Runtime Code Logic #115870

COBOL IBM Applications that called the DB2 DSNTIAR utility could not use this functionality because it was not supported.

We implemented support for the DB2 DSNTIAR utility, allowing applications that rely on it to execute successfully.
NEW AMT 179 MEDIUM