IMPORTANT Actions and Considerations

REGRESSION TESTING RECOMMENDATIONS

Refer to Regression Testing Recommendations in the Oracle Utilities Cloud Services Live Operations Guide for recommendations related to testing when upgrading to a new cloud service release.

undefined

GROOVY SCRIPT-RELATED CHANGES

Before updating to 3.0.17, run F1-CAGVY to compile the Groovy classes. We advise remediating or noting any compile issues so that you can confirm that the library upgrade did not introduce any compile errors.

Groovy has updated its compile time type interface validation system and added some restrictions. Some scripts and/or code may need to be updated to fix issues encountered at the compilation stage. Below are examples of Groovy compilation errors that can occur and its solutions.

Error 1

Issues related to inferredType is null (example, com.splwg.shared.common.LoggedException: inferredType is null for oldestBusinessFlagStartDateTimeStd).

Cause

Assigning a 'null' to a typed variable and then using it in code, for example:

DateTime oldestBusinessFlagStartDateTimeStd = null;

Solution

Split the declaration of the variable and null assignment in different lines.

DateTime oldestBusinessFlagStartDateTimeStd;
oldestBusinessFlagStartDateTimeStd = null;

Error 2

Issues related to component definition not found (example, com.splwg.shared.common.LoggedException: Did not find a component definition for business component class class com.splwg.d1.domain.sgg.ElaspedTime_Impl).

Cause

Groovy uses the type of the object that is assigned to the variable as its inferred type.

In this example, the methods of ElapsedTime component (start, stop) has return type of ElapsedTime_Impl and the inferred type that comes out is ElaspedTime_Impl and not ElapsedTime.

timer = SGGElapsedTime.Factory.newInstance().start()

Type of Object Assigned Used as Inferred Type

Solution A

Update the class and use ElapsedTime as the return type of its method (start, stop, reset).

timer = (SGGElapsedTime) SGGElapsedTime.Factory.newInstance().start.()

Solution B

Typecast the return type of the methods to ElapsedTime.

timer = SGGElapsedTime.Factory.newInstance().start() as SGGElapsedTime

Error 3

Cannot loop with element of type org.w3c.dom.Element with collection type of java.util.List <java.lang.Object>.

Example

Cannot Loop with Element of Type

Cannot Loop with Element of Type

Solution

Change the script to iterate through each item as Object and then typecast before using it.

Iterate Through Each Item as Object

Iterate Through Each Item as Object

Error 4

Incompatible Generic Argument Types

Incompatible Generic Argument Types

Cause

Incompatible types, for example: rowList = evalList("boInst/snapshotDetails/statisticsResults").

Solution

Typecast the List to be of Element type and assign it to rowList variable.

rowList = evalList("boInst/snapshotDetails/statisticsResults") as List<org.w3c.dom.Element>

REPLACED OR REMOVED FEATURES

From time to time, Oracle replaces existing cloud services with new features, or removes existing features. Replaced features may be put on a path to removal. As a best practice, you should use the newer version of a replaced feature as soon as a newer version is available.

This section identifies the features in this Cloud service that have been replaced or removed.

Product Removed Feature Target Removal Replacement Feature Replaced In Additional Information
Oracle Utilities Application Framework SYSUSER, which is used as a user on accelerator scheduler batch stream definitions, is going to be delivered as "disabled" 25.4 (Hot Fix) SYS_BATCH user, which will be provided by Oracle Utilities Cloud Service Foundation with minimal access and application services, is recommended to be used solely as a user on scheduler batch stream definitions 25.4 (Hot Fix)

Currently, the SYSUSER user is used for accelerator scheduler batch stream definitions. Due to Oracle Utilities Application Framework changes to deliver it as "disabled" the accelerator scheduler batch stream definitions definitions are required to be updated with the new SYS_BATCH user. Existing implementations using SYSUSER as a scheduler batch stream definition user are required to update all existing scheduler batch stream definitions to use SYS_BATCH.

Refer to Known Users are Delivered Disabled for information regarding re-enabling the SYSUSER user if necessary.

Unless otherwise specified below, these notes are for informational purposes and no action is required.

PLANNED REMOVAL

Plan to Remove Ability to Log In with SYSUSER from Oracle Utilities Application Framework

The system provides a user out of the box: SYSUSER. In an upcoming release, the product is going to limit the ability to log in using SYSUSER. Implementations should plan to review all their processes and identify ones where SYSUSER is used for system authentication and authorization and instead define a proper user for the process.

In addition, other system delivered users provided as template users will limit login access in an upcoming release.

Plan to Remove Support for CM Java from Oracle Utilities Application Framework to Implement INSERT, UPDATE and DELETE

The system currently allows the use of prepared statements in custom Java code in the cloud that use INSERT, UPDATE or DELETE.

Support for this capability will be removed in an upcoming release.  All inserts, updates, and deletes should be done through the standard methods provided by the product that handle the maintenance of records in the system.

Plan to Remove Support for the Zone Header Map from Oracle Utilities Application Framework

Currently all base delivered zone types support a parameter called Zone Header Map, which can be used to override the zone's header area. The reasons for using this may be to have more control over Actions in the header and to be able to suppress the header.

In a future release, we are no longer going to support defining a zone header map. Implementations should review any zones that are currently defining a custom zone header map. If the map is used to implement actions, use the existing zone action parameters to implement this functionality. If the map is used to suppress the header, an upcoming release will provide zone configuration to achieve this functionality.

Plan to Remove Cube Viewer Support from Oracle Utilities Application Framework

In the future, the product plans to remove support for the Cube Viewer.

Note that this includes support for the F1-COLOR characteristic type that is only used by Cube Viewer. The product uses the F1-Color extendable lookup going forward.

Plan to Remove DBMS Scheduler Support from Oracle Utilities Application Framework

With the introduction of the next generation cloud scheduler, the product plans to remove specialist objects supporting the original DBMS Scheduler on the cloud.

The following inbound web services will not be supported in a future release:

  • F1-DBMSChain
  • F1-DBMSGeneral
  • F1-DBMSJob
  • F1-DBMSThread

The following business services will not be supported in a future release:

  • F1-DBMSCancelJob
  • F1-DBMSCancelSteps
  • F1-DBMSChain
  • F1-DBMSChainAddOrChange
  • F1-DBMSGetJobDetails
  • F1-DBMSGetJobRuns
  • F1-DBMSGetJobs
  • F1-DBMSJob
  • F1-DBMSList
  • F1-DBMSProgram
  • F1-DBMSProgramAddOrChange
  • F1-DBMSRestartChain
  • F1-DBMSRestartThread
  • F1-DBMSSchedule
  • F1-DBMSScheduleAddOrChange
  • F1-DBMSSubmitJob

Plan to Remove Support for Guiding Business Process Assistant (BPA) Scripts from Oracle Utilities Application Framework

In the current release, the product supports guiding BPA scripts that surf on top of one or more application pages and interact with these pages in parallel to script execution. This approach is considered legacy functionality and as such limited to fixed pages. It does not work with portal pages.

In the future, the product plans to remove support for such scripts.

Plan to Remove Support for Switch UI View from Oracle Utilities Application Framework

The product no longer supports the ability to switch the user interface to an older user experience. In a future release, the F1UIVIEW application service related to the function to switch the user interface to an older user experience will be removed.

Plan to Remove Support for Workflow and Notification Functionality from Oracle Utilities Application Framework

Workflow and notification functionality supported exchanging messages with an external system (notification) and providing a configurable process for acting on incoming messages (workflow). More recently, the functionality for managing external messages is supported using Outbound Message and Inbound Web Service functionality. In addition, there are several features to support processing incoming messages. Service scripts can handle simple use cases. For more complicated processes, the service task or other business object driven objects are available.

The metadata and database tables related to this feature will be removed in a future release. Note that only a portion of the functionality for this feature is managed by Oracle Utilities Application Framework. Most of the functionality is supported in the Oracle Utilities Customer Care and Billing product.

Plan to Remove Mobile Application Framework Metadata and Java Packages from Oracle Utilities Application Framework

Removal of support for the Mobile Application Framework has already been announced in a previous release. However, there are metadata and Java packages still included in the application related to this functionality.

The metadata and Java packages will be removed in a future release. CM Java code that references services or methods in the ../mobile/.. package should be reviewed.

Plan to Remove UI Metadata Related to Converted Pages from Oracle Utilities Application Framework

The UI metadata related to fixed pages that have been converted to portals will be removed in a future release. The tables list the navigation keys related to each maintenance page. The related UI program component data will also be removed. Note that the metadata related to the search pages will not be removed at this time in case they are used on other fixed pages.

Script

  • scriptMaintenanceMainPage
  • scriptMaintenanceStepPage
  • scriptMaintenanceStepAccordion
  • scriptStepSendFieldsGrid
  • scriptStepPromptsGrid
  • scriptStepReceiveFieldsGrid
  • scriptMaintenanceCopyStepPopup
  • scriptDataArea
  • scriptDataAreaGrid
  • scriptSchemaPage
  • scriptMaintenanceEligPage
  • scriptMaintenanceEligCritGrid
  • scriptTree
  • scriptMaintenanceTabMenu

Maintenance Object

  • maintenanceObjectAlgorithmsGrid
  • maintenanceObjectAlgorithmsPage
  • maintenanceObjectGrid
  • maintenanceObjectTabMenu
  • maintenanceObjectOptionsGrid
  • maintenanceObjectMainPage

Business Service

  • businessServiceMainPage
  • businessServiceSchemaPage
  • businessServiceTabMenu

Batch Run Portal

  • batchRunTreeMaint
  • batchRunTree
  • batchRunTreePage
  • batchRunMaintPage
  • batchRunTabMenu

Batch Job Submission Portal

  • batchSubmitMainPage
  • batchSubmitTabMenu
  • batchJobParmGrid

Business Object Portal

  • businessObjectAccordionPage
  • businessObjectAccordionPrtPage
  • businessObjectAlgorithmsGrid
  • businessObjectAlgorithmsPage
  • businessObjectLifecyclePage
  • businessObjectMainPage
  • businessObjectOptTypeGrid
  • businessObjectSchemaPage
  • businessObjectStatAlgGrid
  • businessObjectStatTRRuleGrid
  • businessObjectStatusOptionGrid
  • businessObjectSummaryOptTree
  • businessObjectSummaryPage
  • businessObjectSummaryUseTree
  • businessObjectTabMenu

Lookup Portal

  • ctLookUpMaintListGrid
  • ctLookUpMaintMainPage
  • Any help navigation keys

Algorithm Portal

  • algorithmMainGrid
  • algorithmMainPage
  • algorithmTab
  • Any help navigation keys

User Group Portal

  • userGroupMainPage
  • userGroupProfileGrid
  • userGroupProfilePage
  • userGroupTabMenu
  • userGroupTabMenu2
  • userGroupUserGrid
  • userGroupUserPage
  • Any help navigation keys

To Do Entry Maintenance

  • toDoEntryCharGrid
  • toDoEntryDrillKeyValuesListGrd
  • toDoEntrySortKeyValuesListGrid
  • todoentrykeyvalue
  • todoentrymain
  • toDoEntryMaint
  • toDoEntryPopupAdd
  • toDoEntryPopupForward
  • toDoEntryPopupSendBack
  • Any help navigation keys

Table Maintenance

  • metaDataTableFieldsGrid
  • metaDataTableMainPage
  • metaDataTableCFldsGrid
  • metaDataTableConstPage
  • metaDataTableMaint
  • metaDataTableRefByConstPage
  • metaDataTableFieldPage
  • Any help navigation keys

Plan to Remove XSLT Managed Content Type from Oracle Utilities Application Framework

Entries in the Managed Content table related to XSL should be using the XSLTC managed content type and not the XSLT managed content type. In a future release, the XSLT managed content type will no longer be supported.

Plan to Remove REST IWS - Original REST Servlet from Oracle Utilities Application Framework

The original URL supplied for invoking IWS based REST services included the IWS Service name in its makeup. Support for this will continue for backward compatibility purposes, but it will be deprecated in a future release. You should adjust your existing integrations to use the currently supported URL.

Plan to Remove Append Setting from Pagination - Oracle Utilities Application Framework

There are several known issues with the functionality of the "append" option in pagination. It is recommended that you do not use this pagination setting.

Plan to Remove Support for Master/Subordinate Servers for Web Service Catalog in Oracle Utilities Application Framework

The Service Catalog Configuration (master configuration) enables you to define subordinate servers. Defining subordinate servers is no longer applicable for the Oracle Integration Cloud.

Plan to Remove Miscellaneous System Data from Oracle Utilities Application Framework

The following metadata is no longer in use and will be removed in a future release:

Object Data Description/Comments

Lookup Value

CHAR_ENTITY_FLG / F1SE

Characteristic Entity / Sync Request Inbound Exception

Script

F1-TDMgActSS

To Do Management - Process Actions (Deprecated) / Replaced by F1TDMgActSS

Script

F1AddDebugLg

Add Log for Monitoring Probe (Deprecated) / Replaced by a BS - F1-MONPRBLOG

Script F1MgOlmpMnt Not in use by base functionality.
Script F1MgoSqlPks Not in use by base functionality.
Script F1MgOlmpPst Not in use by base functionality.
UI Map F1-MigrObjectImportMaintenance Not in use by base functionality.
Zone

F1-BOMOSRCH

Not in use by base functionality.

Zone

F1-CATCHSCH

Not in use by base functionality.

Zone

F1-MONAVKEY

Not in use by base functionality.

Zone

F1-REVCONQRY

Not in use by base functionality.

Plan to Remove Business Object Read from F1-MAINPROC When Pre-processing Exists

In the original implementation of configuration tools, the main framework maintenance BPA (F1-MainProc) did not perform a Read of the BO when a pre-processing script was linked to the BO via options. The pre-processing script was responsible for the Read.

In a subsequent release, a BO Read was added in F1-MainProc (even if a pre-processing script existed) to resolve a UI Hint issue related to child business objects. This solution introduced a problem only visible for specific scenarios and a different fix has been introduced. The new fix made the BO Read unnecessary in F1-MainProc. Because there are many pre-processing scripts that are properly performing the Read of the BO, ideally the BO Read should be removed from F1-MainProc so that multiple reads are not performed. However, there may have been pre-processing scripts introduced after the BO Read was included in F1-MainProc that were coded to not perform a BO read in the pre-processing script. Due to this situation, the BO Read is still performed as part of the processing of F1-MainProc.

When a pre-processing script exists, we plan to remove the BO Read from F1-MainProc logic. You should review your custom pre-processing scripts that are linked to your BO options to ensure that they properly perform a Read of your BO.