10.4 Hotfix 15

Release date: November 15, 2024

Resolved issue

  • This issue was resolved in build number 10.4.4.150.

  • Itron.EE.Facade.ImportExport.Adapter.Reading.dll, Upgrade_Oracle.pls, create_event_mapping_oracle_openway.pls, and Fix_Duplicates_ExtSystemDeviceEvtCodeMap.pls were modified to resolve this issue.

Device Comm

3343674: (SR# 01418625) Missing indexes in non-partitioned table.

Resolution: Index IX_DCL_DEVICECOMMLOGKEY was not created because the table was not partitioned in the customer environment. IX2_DEVICEEVENT: This index was dropped due to recent changes in the upgrade script "upgrade_622984". The upgrade script, Upgrade_554011, was modified to create an index even though the table is not partitioned. IX2_DEVICEEVENT index, the change number was modified in the upgrade_713877 script, so that it will create an index if one does not exist.

Device Events

3343695: (SR# 01418631) Device Event codes in IEE 10.4 were missing.

Resolution: Device Events were missing because the manual scripts that IEE provided were not executed. Upon executing the manual scripts, two error messages occurred:

  • ORA-02291: integrity constraint (ITRONEE.FK1_EXTSYSTEMDEVICEEVTCODEMAP) violated - parent key not found ORA-06512. This error was from script "5_Fix_Duplicates_ExtSystemDeviceEvtCodeMap.pls". The script was not getting the required deviceeventcodekey from the deviceeventcode table. Before updating, IEE will validate whether the device event code exists or not.

  • ORA-01403: no data found. ORA-06512: at "ITRONEE.UPDATEDELETEDEVICEEVENTMAPPING". This error was from script "3_create_event_mapping_oracle_openway.pls". This error message occurs when IEE can't find the required device event code. The script was modified to validate the existence of the row before using it.

Reading XML Import

3329441: (SR# 01411246) Reading XML Import Enhanced task template was incorrectly moving files to the error folder.

Resolution: The root cause of this issue was that while fetching the records from FlatConfigPhysical table, IEE was sending two parameters, EndpointId and MeterChannelUOMKeyList. But in this case, when IEE tried to fetch the UOM Key based on the UOM display code, IEE was not able to fetch the records because in the code implementation, IEE was fetching it directly from the UnitOfMeasure Collection, which was having the UnitOfMeasure values and not the display codes. IEE was not using the ExternalSystemUOMMap table to fetch these values. A method was created to extract the UOM GUID based on the map ID of the ExternalSystemUOMMapTable, instead of UOM directly, and then use it in the fcpFilter.MeterChannelUOMKeyList parameter. And when all the values based on meter channels are added to the list, IEE creates a hash and sends it in the stored procedure to fetch the values.

Note: This hotfix is available by contacting Itron Customer Support.