ORN:V16.0 Milestone 2

From Remain Software
Jump to navigation Jump to search

In case you do not want to wait for the official milestone build, you may install the nightly builds.

New and Noteworthy in TD/OMS V16 Milestone 2

New Pre-Transfer Checks We have created two new transfer checks. They are disabled by default.
Objects Without Target Check
When TD/OMS cannot find a target location for an object, it would silently ignore the object. When you active this check in the STRPTCM (Pre-transfer Check Maintenance) function, you will be notified of this.
Unconfirmed Active Solution Override Check
This is the same as the Active Solution Override Check but this check will not complain if the version conflict was confirmed. You should enable one of the two. Not both.

More information:


V16m02 precheck.png


New REST API's We have developed a set of new REST APIs. To access additional information about these APIs, please click on the link below.


New CLI API's We are moving all TD/OMS business logic into separate programs for our back-end modernization project. These APIs can also be called using a command with the same name. To access additional information about these APIs, please click on the link below.


E243 - Connect and checkout in one go Now when an object is connected to a task with direct connect, it is also "checked out" to the development environment from production so work can be done immediately to it.


I02508 - Update Genexus interface Genexus 18 including RPG development Work has been done to update the Genexus interface to work with version 18 of Genexus. For Genexus RPG development we have support for the interactive en non-interactive mode (of which the last is driven by the distribution of an XPZ change-file). For this milestone the non-interactive mode is beta.


TDOMS.I2145 XREF ui updates Major update on working with Xref locations in the UI. Location properties have now been separated from the location URL and can be edited separately. Also there is added functionality to more easily work with locations, for example move, copy and view locations.


Xref loc update.png



T00372 - Support types in the definitions Types have been added in the definitions view. Now compilation or a location types can be viewed, created, copied, changed or deleted under a host.


Types rn 1.png

Types rn 2.png



I02505 - Sub-environment filters in definitions Sub-Environment filters have been added in the definitions view. Due to the possibility of having hundreds, or even thousands of sub-environments, filters are needed in order to find the ones required. If the results of a filter are more than 50, then they are grouped into folders of 50, otherwise they are displayed immediately.


Sub env filter wiz.png Sub env filter folders.png



I02539 - Processing sequence now also considers the IFS file extension Use Case: To clear the cache of a web server, a trick can be used to fetch an HTML page by adding a dummy variable to the path. If the variable changes, the web server reloads the HTML page instead of serving it from its cache, including the CSS and JS. This implies the CSS and JS should be placed in the directory before the HTML file.


I02479 - Remote libraries not cleaned up When a remote job fails, the cleanup should still be done. There is too much data stuck on the remote machines when the transfers fail end the end users should not be burdened with this. Now all files are always cleaned up after a successful deployment or after a successful fallback.

In case some additional investigation must be done; the strategy is to keep remote files when the debugging level is below INFO. Debugging can be switched on in the System Definition function (STRSD).

02010 - Millions of log records In a situation where the 5250 screen is disconnected due to a connection issue AND the user was on the OMQUSIOB, OMQUSIFI or OMQUSISO program, the program would loop and produce millions of log records.

Sysadmins can run this query on the OMLOG file. It shows the number of job entries per job. Anything above 10000 records is suspect and should be investigated for repeating records with the CPF6A0F message id and potentially be removed.

SELECT ogjob#, ogjobn, ogusid, COUNT(*) as count FROM omlog GROUP
BY ogjob#, ogjobn, ogusid ORDER BY count desc                    



I02574 - Accept source change date issue When accepting a source change date conflict, it would sometimes still fail during the transfer. This has been fixed.

In addition, accepting a source change date conflict is now allowed for developers when leaving the development environment. We are still debating this rule and we will make changes here in future releases.


I02497 - OMQCHGCL - unable to change the solution type of the object in the connection list. The OMQCHGCL command does not contain the action code *CHANGE due to which solution type of the object can not be changed. Now we have introduced new action code *CHANGE to resolve this issue.For more information you can see OMQCHGCL documentation.


02007 - Cleanup savefiles older than The CLRFBSOMS command had a fixed date parameter. Now it has been changed to accept *1-WEEK, *2-WEEK, *1-MONTH and *3-MONTH along with pre existing *ALL and Date. For more Information you can see CLRFBSOMS documentation.


GUI issues/enhancements resolved

I02475 - Clips appear multiple times in the menu
The Clips icon would occur multiple times in the work management menu for RDi 9.6
I02545 - TimeFlash view does not refresh correctly
We fixed an issue where the TimeFlash view would not refresh correctly when a Task was selected.
I02538 - Branch API should only work in a *PATH environment.
The cleanup and creation of BRANCH library lists should only be done when the environment is a *PATH environment. This allows you to add in a mixed *USRPRF and *PATH environment by adding the path to the user profile library list in an event. This should then not be deleted when the branch is deleted.
I02523 - Recalculate solution records init fails
When receiving a remote distribution, a flag was initialized on every processing step, causing the re-calculation of the source location to be skipped on the remote.
I02511 - Member is not labeled when created from a template with a label
Creating a "new object template" for a member with labels is possible. The labels were not applied when the member was created.
I02475 Clips appear multiple times in the menu
In RDi 9.6 the clips toolbar menu is not correctly cleaned up. This showed the clips menu every time the work management view was activated.
I02462 - Doubleclick on details gives an error
Fixed an issue where double-clicking a detail to open it was failing with an error dialog.
I02465 - Missing options for unattended install RCP/RDi installers
The Azure or Birt reporting option were missing from the RCP/RDi 9.8 TD/OMS client installers.
01979 - Press F5 to refresh sometimes does not react.
The refresh logic has been relaxed. F5 can now be pressed multiple times without the tree collapsing. In addition, the allowed time between refresh has been decreased from 5 seconds to 0.5 seconds.
I02397 - Transfer in the GUI works without FP license
Rectified the issue by adding a check to validate the FP licence to transfer, promote or checkout in GUI.
01866 - User ID may not be lowercase in user option
In TD/OMS User Option, the User ID is restricted to be in Upper Case now when it is edited.
E203 - Hide members in detail view associated with database files
In TD/OMS Details View, a new icon is tagged along to hide data members. This is implemented to add the ability to filter the details view and not display details that are data members of objects. For example, if a database file (not SRCPF) has one or more members, those all will not be displayed in the details view now. The icon is selected by default along with hide sources when the detail view is displayed.
01980 - Source is closed when another object in the task is checked out
Resolved the issue where two files in the task were open in the editor and a third object was being promoted or checked out. The process closed the two files but they should not be closed.
01573 - Component filter cannot be deleted
The issue related to the Component Filter in the toolbar of TD/OMS Components view was resolved where the user was not able to delete the filter.
01775 - Connect alternative as merged is missing in the gui
When appropriate the connect alternative as merged option is now displayed during solution conflict handling.
I02488 - Ratification for TST is shown on a higher level
Fixed a bug where sometimes the ratifications shown in an environment also showed ratifications from the previous environment.
I02503 - Retry upon warning is missing on definitions
An extra "Ignore Warnings" field now exists in the job descriptions, directory and route entities when they are being created or changed. This gives the option to ignore warnings if desired (default is No).
I02525 - Issue in comparing with object without any source
Handled an exception where two or more solutions or objects in tasks or components view are compared to each other and any of them is without a source.
I02170 - Exception in details view when filter on task and deleted options are both selected
Resolved the runtime exception thrown when both filter on task and show deleted objects are pressed in the details view.
I02529 - Edit filter action is allowed when many filters are selected
Restricted the edit filter action which must not be allowed when more than one filter is selected.
I02527 - Persist a reference to a user provided java trust-store
A trust-store required for certificate verification can be added to Remain's certificate directory and be used by Remain's certificate manager (see EWM:2 – Secured Communications)
I02528 - MIW IBMi connection not using a secure connection when required
A MIW related IBMi connection will now be secure if the IBMi server in TD/OMS is configured for Secure Connections.
I02534 - GUI Definitions
After application create no environments can be added
Fixed a bug when a new application is being created and no action could be done with it afterwards because it wasn't loaded in the TD/OMS GUI yet.
I02547 - Change path and programmer fields in new task wizard
The path and programmer fields of the new task wizard have been converted from a combo box to open a dialog to select their value due to the big number of values that they might have, thus slowing the wizard.
I02531 - Move solutions to other task is not available
Fixed a bug where the move solutions action was not present when many solutions are selected.
I02537 - GUI Definitions Remote location override cannot be deleted
Fixed a bug where the wrong error message was shown when an application remote location could not be deleted because it was in use as a distribution entry.
I02535 - GUI Definitions Issues with directory creation
Fixed a bug where a directory could not be created.
I02569 - GUI is leaking Windows resources
Fixed a Windows resource leak in the Transfer Wizard
I02550 - From Compare revisions it is now possible to checkout an archived stream file directly to a eclipse project.
This support was added to aid those who want to use the archive as like a versioned SCM repository.
I02572 - New object of type member can't be created
Fixed a bug where a new object of type member can't be created.
I02560 - OMQCHGSO logs exceptions on close of API.
Fixed the call on the close of the OMQCHGSO API.
I02573 - API PCML call unexpectedly disconnecting.
Processing multiple PCML calls in parallel could invoke a currently running PCML call to be disconnected, this has been fixed.
I02580 - Optimize Workmanagement perspective tree.
Work has been to make the Workmanagement perspective tree respond more quickly when refreshing and selecting a menu option from a tree item.
I02581 - Minimal UI blocking if host goes offline.
Work has been done to detect and minimize UI freeze when the connection is lost when working with a system.
T00374 - Make the change solution type action available for many solutions
Now the change solution type action is available when many solutions are selected.

Server issues/enhancements resolved

I02592 - Solution REST API issue.
Now we can disconnect members from the task.
I02586 - Add new events.
The events have been added in the OMC017/OMQCHGTC, OMC020/OMQCHGTD and OMO021/OMQCHGCD.
I02540 - Remote Location API issue.
Now an address is added at the sub-environment level and does not exist at the application level.
I02557 - Solution conflict resolution must be part of the solution rest API.
Now solution conflict resolution is part of solution rest API.
I02477 - Spelling error in Compile Queue API.
Now the spelling is corrected.
I02591 - Table API Error Message Conflict.
Now we return only 1 message field for every message.
I02519 - Unable to view processed events in the subscriber maintenance screen.
Now we can view the processed events in the subscriber maintenance screen.
I02445 - OMQCHGSR - Restrict the actions add, change, and delete for the registry.
Now the actions are restricted for the OMSSECADM group profile.
I02459 - Pointer or parameter error for Program OMX108.
Now we don't get the pointer or parameter error when we call the OMX108 program.
I02590 - Members are not getting deleted from the connection list
Now the members are also deleted from the connection list.
I02567 - Compilation library *LIBS
Now, you can add more than 50 libraries and a maximum of 248 libraries using the *LIBS keyword.
I02589 - REST API - Source API issue
When an IFS path with a blank application name is provided, it should return the IFS source data instead of generating an error.
I02565 - Library list not set for second sub-environment
On promote compilation library list for the second sub-environment is identical to the first sub-environment.
I02579 - OMQUSRDTALIB not in STRRDM
The missing registry setting (OMQUSRDTALIB) has been added for the next milestone.
I02568 - Add the APIs to the OMSAPI menu.
The OMQCHGTC, OMQCHGTD, OMQCHGCR, and OMQCHGCD APIs have been added to the OMSAPI menu within the application section.
I02576 - Label API delete does not check on usage in object templates
This caused a possible label deletion while it was still in use. The label delete error message has been updated to indicate where the label has been used.
I02577 - OMQCHGSL API Does not fill BDLOLI correctly
When using the API to add a library to a subenvironment with a specific type resulted in an incorrect value in one of the fields. This caused the library to be excluded from several places in TD/OMS like compilation library lists, filling, and target selection.
I02514 - DSPLOGOMS option 8 display section no longer works.
The option 8 display section in DSPLOGOMS no longer functions correctly; it indefinitely hangs.
I02517 - Object should not be added to the connection list if it is already connected to the task.
An object should not be added to the connection list if it already has a connection to the task.
I02518 - Override Active solution in production env should not close the other solution
Override Active solution in a production environment should not close the other solution.
I02515 - Messages VRS0001, VRS0002 and VRS0003 must be suppressed by events
Messages VRS0001, VRS0002, and VRS0003 are now suppressed by events.
499 - Sorting Inconsistency on Fetch Ratifications History Request with Date and Time Fields
When executing a "Fetch Ratifications History" request with sorting by date and time fields, the returned ratifications seem to be incorrectly sorted.
I02530 - Source API. The source change date is changed for all records when saving
The date of source change for a line should only be updated when the source is modified during the save process from OCTO.
I02542 - Retrieve Database API issue
The Retrieve API is experiencing an error because the specified length or start position falls outside the permissible range for the string operation.
I02555 - System ratification groups and members are not read
The database API does not return system ratification groups and members. The system groups have a blank application code and should not be stopped by the database API.
I02522 - The target source library for *COMPILE solutions issue
The target source library for *COMPILE solutions on the remote library list is filled with the branch library but it should be filled with the production library.
495 - Confusing Line Number in Source File API Error Message
When the message retrieved from the Source File API exceeds the maximum line length, the error message inaccurately indicates a confusing line number. Rather than specifying the correct line number '5', the message erroneously references '.50', confusing for developers in pinpointing the actual location of the issue in the source code.
I02549 - OMQCHGCL always connects with rules
Now, OMQCHGCL API will add the object to the connection list with and without rules.
01997 - Lots of messages "OMSEXITADM not found".
Some user profile checking was leading to a lot of confusing messages in the log. These messages are now suppressed.
I02548 - Sourcefiles should not be created with CCSID 65535
Sourcefiles are by default created with CSSID 65535. This causes problems when using sourcefiles in VSCode and Octo
01984 - OMQPRTFI For Fixes that have no reason code
We could not produce a list of tasks that were not closed by a reason code but through the normal deployment process. This has been fixed by adding *NONE to the Reason Code options in the OMQPRTFI command.
T00346 - Call OMQCHGEN API from the Environment maintenance screen
Now, OMQCHGEN API is used within the environment maintenance screen.
I02472 - Rename Dump to Archive
Historically, we have referred to the source archives as "Source Dumps". We have renamed all "Dumped Sources" references to "Archived Sources." All green screen functions and context-sensitive help have been updated.
I02411 - OMQCHGRT - Changing the recursive route to *YES does not work properly.
The recursive route flag will no longer be turned to '*YES' when a route code is created with the recursive route flag set to '*NO' and assigned a directory using the OMQCHGID API, choosing a parent directory already associated with a different route code.
I02444 - OMQCHGEN - Issues with Environment code and description field
The API no longer crashes when a blank environment code is passed, and it now correctly handles empty descriptions in the change action code.
I02452 - User option check value
A change has been made to display the 'CHK' value in the OMX20201 screen.
I02467 - Issue in INZOMSSRV command
Resolved the following problem when executing the command "INZOMSSRV SERVICE(*APIRESTGEN)": "Pattern not allowed in path name directory."
I02478 - STRJDM not working with CCSID 65535
When the job CCSID is set to 65535, job descriptions are not displayed.
I02484 - Member version number is not taken from previous applications
When the object file is loaded, the member version is not taken from the previous application but instead set to a wrong value.
I02482 - Event filter documentation AND/OR
Now, the filtering of events is documented with the AND condition, as well as the use of regular expressions (regex).
I02513 - Task API issues
Now, the long description has been added for ratification. For more information, you can see the REST Task API documentation.
I02460 - New registry view and file is required
A new OMXRegistryExtended is required in the GUI (and an equivalent view in the backend) that will join the existing OMXRegistry (OMAGP) and the new OMGPD file which doesn't exist in the GUI yet.
I02458 - Logging issue
When utilizing TRACE and DEBUG levels, if the program name is defined within the OMLOGLVL data area, extra verification is added to ensure that the program name provided as a parameter does not coincide with the program indicated in the ONLOGLVL data area. If this condition is met, the logging process is disregarded.
I02446 - Comment should not be copied
Now when you copy the application, it won't include comments on tasks, objects, requests, solutions, and details.
I02442 - STROCM - Modify the selection values *AUTHORIZED and *UNAUTHORIZED
The selection values *AUTHORIZED and *UNAUTHORIZED have been updated to 0=*ALL, 1=*AUTHORIZED, and 2=*UNAUTHORIZED.
I02489 - The description of a job description can't be changed
Now the description of a job description is allowed to change even when it's not on the host level.
I02490 - The type of job description is allowed to change even when there are overrides
Now the job description is not allowed to be changed from *TRANSFER to *OTHER on the host level when there are overrides on the lower level.
I02495 - Job Description API has wrong field names
Now errors are reflecting the correct fields in the TD/OMS definitions.
I02510 - Omxfercd client-deployment failing on password decryption
Due to an issue with a 3rd party library, decrypting passwords, contained in a configuration property file, could fail. The issue was fixed with an update of the library and re-encrypting the password.
I02509 - Connection rule detail can not be deleted
A validation was there which has been removed for the delete case, to resolve this issue.
I02516 - Subscriber filter variable must always start with &
A validation has been added to check if the variable starts with & or no.
I02553 - REST API - Retrieve the solution conflicts text details
Added logic into the solution API to retrieve the text details of solution conflicts based on the "messageId."
I02588 - Override issue in SBSVAROMS command
We're retaining the override in the Replace Object (OMX307C1) program.
I02443 - InvalidCharacterError issue in Source API
When attempting to use the source API for certain members, we encounter the "InvalidCharacterError: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded" error. Also, the source type is not returning correctly.

OpenAPI Generator Enhancements

Please re-install the generator with INZOMSSRV SERVICE(*APIRESTGEN)


I02454 - Introduce logging in to the JWT. We've implemented JWT logging to monitor errors in Rest API token validation.

Jwt login.png

OpenAPI Smaller Issues resolved

I02464 - Memory leak issue in rest API generated code
Addressed the memory leak problem in the rest API generator when making API calls.
I02466 - Transfer API Issue
Failure to provide the transfer number in the "/execute" method results in an incorrect message being returned.
I02470 - The message of the memory leak should be sent to the job of the CGI program.
Previously, we sent the memory leak message to the QSYSOPR queue. However, we have now updated the process to report memory leak issues directly in the current CGI job.
I02471 - Fix memory leak issue in the existing generated Rest API
Resolved the memory leak issue in the previously generated Rest API.
I02476 - REST - Generate Client Issue
The "Generate Client" feature produces a duplicate sub-procedure named pMessages in the M member when creating programs for the REST API.
I02473 - OCTO - Source API issues
Ensure that the API includes passing the maximum line length, indicating 0 for stream files. Avoid assuming all request fields are correctly filled; account for scenarios where the short object code is provided without the IFS path. In such cases, the IFS path retrieval from the request may not be accurate when writing the event.
I02483 - Rest API - Global variable definition issue
The definition of the global variable "logMessage" is absent in the generated source code from the REST API generator.
473 - Improve Checkout in DEV Environment with Clearer API Errors
Encountering an unclear error message from the API during the checkout process in the DEV environment poses challenges for effective troubleshooting and understanding of the issue. The expected behavior is that users should receive explicit and meaningful error messages from the API, offering insights into the nature of the problem encountered during the checkout process.
I02502 - REST API - Declare the variable as a pointer when its length exceeds 65535.
If the length of the variable exceeds 65535 and the type is "application/json," the field should be declared as a pointer.