10.4 resolved issues

This section lists significant issues that have been addressed in IEE MDM 10.4.

AMI Billing Export (ABE)

2727037

SR#: 01114928

Issue: ABE is returning an incorrect result for a billing determinant using a derived channel as its source.

Resolution: The billing determinant's rolling interval length is set to 30 minutes, but instead the result returned is based on a 5-minute interval length, which is what is used on the meter. Implementation was done to allow system to override the Rolling Interval length of the meter and use the Rolling Interval length setup on the Bill Determinant screen, to calculate the Bill Determinant output value.

2748580

SR#: 01129808

Issue: Register readings decimal values longer than the SAP system can handle were being sent, causing a rejection of the Meter Reading Order (MRO) response.

Resolution: The conversion of register reading value to the meter's number of dials has been corrected. It now results in the correct decimal response.

2759060

SR#: 01133286

Issue: During a volume test, the SAP Billing Export task raised the following error when processing the ABE export files: Unexpected System Exception: #XmlException - Root element is missing. received - contact Application manager. This was because ABE copied the tmp file to a new XML export file, and the XML file was picked up before this process completed.

Resolution: The ABE logic has been enhanced. It now renames the tmp file to XML instead of creating a new file, no longer picks up the file if it is empty, and ensures it never creates empty files.

2769063

SR#: 01137947

Issue: IEE 10.3 ABE queue does not show the details for ID Resolution and Invalid Request Item exceptions.

Resolution: The existing logic for Meter ID to eliminate display formula channels in ABE dashboard does not suffice all the scenarios. It addresses formula channels but there are other entries where Meter ID can be null, for example, Resolution and Invalid Request Item exception categories. The logic to exclude formula channels has been changed by adding a where clause on the formula key rather than Meter ID because this will effectively isolate only formula channels leaving other entities intact.

2773982

SR#: 01138270

Issue: When an ABE request placed across a meter swap in the summary section count shows as 1, but in the "Detail" section shows as 2, the rows appear due to 2 meters. The summary count displayed only errors not warnings, but the detail count displays both warnings and errors.

Resolution: The logic has been changed in "HVBE_MON__ENTITYLIST_GET" procedure to consider the exception category (if provided) along with the entity key. In meter swap scenarios, if the exception category has both old and new meters then it will pick only the new meter. And modified the "HVBE_MON_SUMMARYDATACUR_GET" procedure to display both warnings as well as errors.

2782991

SR#: 01139904

Issue: When a service point is added to a Data-Driven Schedule and an ABE request is imported on that service point, there are some discrepancies in the ABE monitor screen in the "Cycle ID" column.

Resolution: The issue here was that during the ABE import, Data-Driven Schedule ID was also being fetched along with the configuration cycle ID if that service point was added to any Data-Driven Schedule IDs. To correct this issue, the fix was to eliminate the process where Data-Driven Schedule ID was being fetched during the ABE request import.

2806761

SR#: 01152203

Issue: Service Point ID, Endpoint ID, Multiplier, and UDA values are not displaying on ABE.

Resolution: There is an issue while joining Flat Config Physical and Flat Config Attribute tables with HVBE Entity table. While joining these tables we were not considering the entity type of the HVBE Entity table. The join condition based on the entity type has been corrected.

2810808

SR#: NA

Issue: Demand Response API is not working properly because we are not handling stale meter use cases.

Resolution: The logic in the ABE code that decides which readings to pick for export was not exactly following the complex requirements. Changed the logic as part of the resolution, so that the stale meter reads are handled properly and is in-line with the other reads.

2824540

SR#: 01159105

Issue: Customer was seeing multiple request entries in the ABE queue for the same billing Meter Reading Order (MRO) request.

Resolution: An update to the ABE queue caused formula channels to be show up in the queue along with physical meter request. Code was enhanced to only show requests with meter ID in the queue.

2843850

SR#: 01158711

Issue: The customer wants to change the output Interval length for Billing Determinate calculation in the ABE processing. Currently, the Billing Determinate screen does not allow the user to select the output Interval length, and the system uses the Rolling interval length field to set both Output and Rolling interval length.

Resolution: A new column was added to the Billing Determinate table. The implementation of this bug includes schema changes. Stored procedure refresh is required with this change. The change includes a Bill determinant UI screen change. A new field output Interval length is added on the Billing Determinate screen. This field will be used for the Billing Determinate calculation in the ABE processing.   With this change, the user can set the Output Interval length and Rolling interval length individually using the respective fields on the Billing Determinate screen.

2880372

SR#: 01182533

Issue: For some Meter Reading Order (MRO) requests from SAP for a specific month, it was observed that IEE returned a read with for the month prior or the month after. This issue occurred when ABE processes more than one request simultaneously for the same meter and the same channel, but with different dates. When selecting the read, ABE did not consider the date in the individual request and returned the same read selected for the first request. This issue does not occur when the requests are received and processed separately.

Resolution: The ABE process has been corrected. In this scenario, ABE now selects the correct read for each request. The fix is in IEE core (ABE). No change in ISAIM.

2896180

SR#: 01190890

Issue: Historical meters not displaying in ABE after upgrading to version 10.3.

Resolution: In meter swap scenario, if old and new meters are coming as part of the same ABE requests, then we are displaying only new meters. We reverted the changes like before Bug 2773982 fix. and are now displaying both old and new meters even if they are of the same ABE request.

2932378

SR#: 01208715

Issue: In the AMI Billing Export user interface, there is an issue when a few items are selected in the ABE queue during submit for reprocess.

Resolution: Currently the filter condition is using on parameter @DataType parameter. In the code passing 1 for"Exception" as input @DataType parameter, but in the procedure 2 is used for "Exception". The code logic has been changed to passing 2 for "Exception"as input @DataType parameter.

2951684

SR#: 01217068

Issue: When previewing rates, with the determinant adjustment factor applied, ABE does not reflect the Bill Determinant adjustments.

Resolution: Bill Determinant adjustments value not applied in AMI Billing Export even after has adjustments checkbox was checked in the Rate Modular tab. While Bill Determinant Calculation creates a Rate Analysis Request object then the object does not set the enum value "Adjusted Determinants" to this property ("Request Data Type") because without using it, it is not working properly. I changed the code logic when Has Adjustments property is true of bill determinant, then the bill determinant value is calculated with an adjustment value.

2955381

SR#: 01216305

Issue: To implement unbilled revenue in SAP, SAP is requiring all determinants be split apart. This requires separating holidays from weekends when calculating determinants. When testing the rate, the default TOU block throws an error indicating an inability to determine day type.

Resolution: Rate modeler should be able to differentiate between holidays and weekends as there is a separate calendar block definition available for holidays with weekends combined "Weekends" day type was missing in the code, it was added in Type of use day type .XML in 2007, but not added in enum "Day Type Enum". The code logic has been changed to include weekends.

2965101

SR#: 01222277

Issue: When SAP sends interval billing request for Max Demand and Onpeak Average Demand, IEE's response use different UtilitiesTimeSeriesCalculationResultCategoryCode even though both have the same KW UOM.

Resolution: The logic has been corrected. IEE now sends the billing response to SAP with the correct UtilitiesTimeSeriesCalculationResultCategoryCode based on UOM.

AMI Data Export (ADE)

2698312

SR#: 01100459

Issue: When importing the configuration file, if the old account has channel 6 and new account has channel 5 an infinite critical change loop occurs in the ADE export task.

Resolution: Even if the system traverses the export duration in a random order, a code fix has been implemented to capture the initial date time stamp when the system starts to traverse the export duration. This lets the system confirm at the end that it has completed the entire duration, and hence breaking the loop.

2739958

SR#: 01106339

Issue: When trying to export the daily readings, the export times are running long causing a manual workaround.

Resolution: The root cause for this issue is that when fetching configurations in ADE, even though ADE passes in effective dates, we are seeing calls to the Meter_get or other entity procedures from BOT to EOT. This can only be turned off when the setting Build Object Graph equals false.  To resolve this issue, we built a new Configuration Result Set object using collection from meter fetch, and then use this new object in an existing ADE method like Get Cc Collections For Entity Type.  The performance is much faster as effective dates are considered in entity_get procs like Meter_get with the above-mentioned changes.

2744748

SR#: 01124269

Issue: ADE Exports is failing to complete and is consuming all the system memory, which eventually causes the server to crash.

Resolution: When the ADE code is traversing through the critical changes based on the dates on the node-link and correlating with the dates defined in the ADE request. During the processing of this, it is sorting the entity IDs based on the time. This sorting is not properly implemented and so is causing this issue.  The ADE code that is traversing critical change has been changed so that it sorts based on Start and End Date. This issue has been resolved.

2766338

SR#: 01137082

Issue: AMI Data Export task status was incorrectly marked as failed when it was successful.

Resolution: This issue was happening because one other bug fix where we were marking the whole batch status as warning/error even if there was error in one of the entities in the batch. Reverted the previous bug fix where we were marking the whole batch as warning/error and implemented a new piece of code where we are marking only those service point channels, which are having the warning/error by iterating through all the critical changes present in the batch.

2782257

SR#: 01078162

Issue: AMI Data Export task status was incorrectly marked as failed when it was successful.

Resolution: This issue was happening because one other bug fix where we were marking the whole batch status as warning/error even if there was error in one of the entities in the batch. Reverted the previous bug fix where we were marking the whole batch as warning/error and implemented a new piece of code where we are marking only those service point channels, which are having the warning/error by iterating through all the critical changes present in the batch.

2783148

SR#: 01142973

Issue: AMI Data Export (ADE) is not working with non-electric UOMs for export.

Resolution: The root cause of this issue is that the Unit Category for KGAL and GAL is “undefined” in the Unit Category Unit table. There is a total of 161 units in the Unit Category Unit table that have Unit Category undefined”. So, during ADE export, for Unit Scaling, the last unit is being fetched from those 161 units, which have scaling factor 1 but different UOM Class than KGAL (KGAL UOM class is water). Due to this mismatch in UOM Class and Unit class, it’s not able to find any UOM for conversion (returning null). This is the reason conversion is not happening in water reads. To resolve this issue, the mapping has been corrected yo work for non-electric UOMs for ADE export.

2793051

SR#: 01124269

Issue: While attempting to do monthly billing the customer realized they were missing data.

Resolution: The system traverses all the node-link reasons to cover and fetch all the critical changes. This is a loop that works on the start and end data of the duration ADE is being run. But as per the current implementation, the system fetches the required nodes and then sorts them based on the entity ID. The issue happens when Entity IDs are not in order of start and end date: the smaller entity ID time stamp falls later than the larger entity ID, which falls before. The sorting to work based on Start and End Date was changed so that the records fetched are in the correct order.

2795774

SR#: 01050721

Issue: When running two ADE requests for different schedules at the same time, the configuration fetcher thread only fetches one of the schedules, not both. This randomly causes one of the two requests to not find cycle data and export from the initial export max days setting.

Resolution: The code has been changed so that the request loader thread separates chunks to the configuration fetcher thread queue by schedule key. This way two requests with different schedule keys will be processed separately.

2800400

SR#: 01138189

Issue: ADE export is failing with an error in the following scenario: While logging, the system checks the event to log. In some cases, if there are no events, the logging framework tries to initialize the log object as a part of recursive code. The system throws an object reference error since there are no events available to initialize.

Resolution: This issue was addressed by adding a null check. When there are no events, the system will check for null, and will initialize the log object with default events.

3024517

SR#: 01257347

Issue: When there are no valid requests, the process incorrectly loads ADE requests with empty filters. This results in all ADE requests being loaded and the service consuming a large amount of memory.

Resolution: The ADE code has been changed. When there are no valid requests, it no longer attempts to load ADE requests.

3038357

SR#: 01265222

Issue: When there is single configuration with a SPC that is not aligned with SPC, the export task never completes and consumes all the available memory on the app server.

Resolution: The code has been corrected.

AMI Readings Import (ARI)

2651316

SR#: 01065484

Issue: The HVRI Runner task status is showing success while still processing the clean reading files causing a false alarm to be monitored.

Resolution: After processing clean reading files, if there are no clean reading files with 'Not Yet processed', we are marking HVRI Runner task to success, which is causing the Task status to mark Success in the DCW window. The logic has been changed so that it does not update the task status based on clean reading file status update.

2680478

SR#: 01095615

Issue: In the message log for every file processed, the Itron.Messages.HVRIMessages.PROCESSIMPORTFILE_DURATION message returns zero when it should return the actual seconds of processing time.

Resolution: The code has been updated to use the .NET built-in stopwatch so that the seconds are calculated and displayed properly in the log message.

2708139

SR#: 01108102

Issue: The VE Service finds the workbin record, tries to process it, fails due to the file missing and leaves the state as Not Yet Processed. This causes the query to pick up the file again on the next attempt and it gets stuck in a loop.

Resolution: When we have 500000 reading data within 1000 files, there is a condition in the code processing that the reading data count should be less than 500000. Because of this condition, HVRI VE Service is not processing this large data. This condition has been removed so that any amount of data that is present in the reading file can be processed.

2721976

SR#: 01115268

Issue: If NMI is reprogrammed, reads may fail validation. A validation queue item may not be created.

Resolution: The code has been updated to allow the critical change to happen for ARI.

2863609

SR#: 01175006

Issue: When processing AMI Readings, estimate reads are overwriting the actual reads loaded by the Reading XML Import.

Resolution: The code has been changed to bypass to SRI (workbin 0) the reading file only when the service point has interval length critical change.

2934743

SR#: NA

Issue: While reprogramming a meter, readings are not being imported through ARI.

Resolution: While reprogramming a meter, for linked register service point channel, channel sets are being created from the linked interval Service Point Channel because the TOU Read sets have linked Service Point Channel to linked Register Service Point Channel. The logic has been changed to not create TOU Read sets from linked Service Point Channel to linked Register Service Point Channel.

2987288

SR#: 01233162

Issue: When right-clicking on the ARI dashboard, the MDM application crashes.

Resolution: When clicking on the ARI file, there was no row available in the dashboard, so it caused the application to crash. Changed the code logic for when user clicks on ARI file dashboard, and then checked that the selection property is not null from the grid view control. This issue has been resolved.

3025132

SR#: 01249318

Issue: When importing current day register reads through ARI (AMI Readings Import) after the data collection window (DCW), the current day interval reads are reprocessed, creating a new reading group and increasing the data storage size.

Resolution: In this scenario, the register reads will now be processed through SRI (Reading XML Import), and no new reading group is created for the interval reads.

3042952

SR#: 01268068

Issue: The VE service must be restarted every time a new work bin is added after the VE service is running, otherwise it would not pick up clean readings from the newly added work bin.

Resolution: The work bin list is now updated when VE runner starts for the current day during the data collection window (DCW).

Configuration

2411722

SR#: NA

Issue: When exporting the configuration Read Type code value, the tag for the register channel is missing.

Resolution: The code has been enhanced to include the Read Type code of the channel in the exported file.

2680908

SR#: NA

Issue: Search screen displaying duplicate lines created in IEE for same meter/channel/period.

Resolution: Duplicate rows are eliminated based on what columns are visible, regardless of the difference in the column values which are not visible.

2693982

SR#: 01103539

Issue: Performance issue that blocks migration while linking a service provider to an account.

Resolution: The issue happens when there are a lot of configurations in the system (more than 2.5k). While linking a service provider to an account, the system traverses all the node-link reasons to check for the linkages with all the entities.  This takes a substantial amount of time. Instead, it should only search for an account present in the configuration, and link the service provider to that account. Changes have been made to only search for particular accounts only in case of Service Provide to account Link. This way the system does not unnecessarily search all the node-link reasons and saves time. This change will work only for the configuration importing service provided to the account link, for others, the system will continue to function as existing.

2704221

SR#: 01104189

Issue: SAP is sending re-sync XMLs to set up meter/service point links in IEE. SAP sends the Meter Multiplier and Ke Multiplier and IEE calculates the Pulse Multiplier. For some meters, the Pulse Multiplier was calculated incorrectly—with many decimal points. The Pulse Multiplier should never have this many decimals. If the Pulse Multiplier is manually calculated using the Meter Multiplier * the Ke Multiplier, it does not equal what is stored in the database. The IEE UI does display the proper value, but the database does not.

Resolution: The issue is resolved by type casting the data type double to decimal.

2746720

SR#: 01127489

Issue: The GPS longitude and latitude are swapped in the UI under Configuration Maintenance (Advanced).

Resolution: The mapping was wrong in Advanced Configuration Management for GIS coordinates. Longitude was mapped to the North-South coordinate and Latitude to the East-West coordinate, it should have been mapped the other way round. The mapping in the code base has been corrected, mapping North-South coordinates to Latitude and East-West coordinates to Longitude.

2751735

SR#: 01130180

Issue: When configurating the export task, all the configurations that have been modified are not getting exported. Only the first chunk was getting exported.

Resolution: After processing the first chunk of the configuration export, the XML writer was closing and streaming, which resulted in both object reference error and exporting only first chunk of the configuration export. To resolve this issue, the XML writer is now closing after processing the final chunk of the configuration exports.

2764551

SR#: 01134808

Issue: The removal was processed using a bulk replication request from SAP even though the reading exists past the removal date.

Resolution: While executing the meter replication bulk request, it is deleting the node-link object and then validating readings if even they exist or not. The code logic has been changed to add one more condition before deleting the node-link: to check if they exist or not, and then delete. This issue has been resolved.

2776398

SR#: 01135466

Issue: ClickOnce UI is not displaying correctly.

Resolution: Some of the settings that were configured via manifest were not part of the ClickOnce manifest release. Changed UI Application.exe.config for the ClickOnce installation.

2792211

SR#: 01143928

Issue: The performance of the configuration export task is not working as expected when it is exporting a lot of entities.

Resolution: The performance of the configuration export task is not good, especially when it is exporting a lot of entities. This is because the current code is fetching configurations per configured chunks size, which is with the default value as 1000 in multi-threaded processing. Once all the configurations in a single chunk are fetched from DB, the system writes them into the output XML files. There was a synchronization issue between threads while writing the data to the output files. Because of this, only the last chunk was written to the output file. The configuration export code has been changed so that fetching of the configurations is done via multi-threaded parallel processing, but while writing to the output file, all the threads use a single XML writer object. Implemented the synchronized locks, so that at any point in time, only one thread can access the XML writer object. Now, all threads work in sync.

2792555

SR#: 01146678

Issue: Single or bulk Meter Reading Order (MRO) requests failing with the following error: "RegisterDisplayCodes External System Mapping does not exist for...", when RegisterDisplayCode is null. This is because ISAIM was assuming the RegisterDisplayCode property on the meter program channel will never be null and attempted to read its ID.

Resolution: The ISAIM code has been corrected. If RegisterDisplayCode is null, it will not try to get the ID.

2831869

SR#: 01157259

Issue: When an ISAIM request is sent to IEE to add a new UMTID to an existing register channel to bill it along with the existing register channels, then ISAIM/ IEE is not recognizing UMTID added to the existing meter / service point.

Resolution: This problem occurs only when the start date of the new UMTID register channel is the same as the scheduled meter reading date because the existing code used the "greater than" condition while filtering CTP. The code has been changed to use "greater than equals”.

2841152

SR#: 01162626

Issue: Service point is getting updated with incorrect address without even accessing the address section of the UI.

Resolution: When the Country Code is not mentioned in the payload, by default "United States" was being updated in the current code and so this issue is resulting. We have removed the default country code from the code when the country code is null or empty in the sample XML file.

2882733

SR#: 01161980

Issue: When creating a group with trailing space on the group name, the group name is saved in the database with the trailing space. Later when another group with the same name is created without the trailing space, it is successfully saved as it is considered as a different name. This results in duplicate group name entries shown in the Group Maintenance list.

Resolution: Group Maintenance has been enhanced to avoid duplicate group name entries.

2883680

SR#: 01171285

Issue: While importing the configuration update file, duplicate validation and estimation sets are getting created due to the creation method being called multiple times. Due to these duplicate sets, later it fails the validation at the place where all the validation and estimation sets are validated. This is Service point Program changes and other meter changes are affected by this behavior.

Resolution: Added the logic for checking duplicate validation and estimation sets which prevent the validation failures from happening later in the flow and allows files to be imported successfully.

2888136

SR#: 01182503

Issue: In a Bulk Replication Sync with multiple meters in the same request, due to incorrect null handling, the meters that contain installation reversals failed with the following error: Unexpected System Exception: #NullReferenceException - Object reference not set to an instance of an object. This results in the subsequent meter to also fail.

Resolution: The Bulk Replication Sync has been corrected to correctly handle null condition. In this scenario, replication for all meters is now processed successfully.

2892147

SR#: 01188578

Issue: While adding existing account to new account service point channel, configuration was deleted from Flat configuration physical table, which caused Reading Import to fail.

Resolution: Since this result set has the partial node links to other service point that account is already linked, we are removing the node links that are part of result set. We are adding only an account node link to result set, not all dependent node links, so that we won't update the other service point for which the account is already linked.

2912110

SR#: 01196520

Issue: Configuration maintenance screen taking too long to load.

Resolution: While fetching the node links related to service point, nodelink_get was taking time due to high number of reads. Added index which reduced the number of reads and increased the performance.

2912895

SR#: 01195232

Issue: Unable to delete a service point from the user interface because the related entries in the CycleData tables were not correctly fetched and deleted.

Resolution: The code was enhanced to fetch the correct cycle data entries.

2928840

SR#: 01187126

Issue: When reprogramming a service point on the Configuration Maintenance screen, the formula is shown as empty on the new version. If the user leaves it empty, there is a warning or error message when saving the changes.

Resolution: The Configuration Maintenance screen has been enhanced with formula validation. When reprogramming a service point, the user cannot save the configuration if the user leaves the formula empty or specifies an invalid formula. A warning pop up is shown.

2937322

SR#: 01207568

Issue: On the Configuration Maintenance (Advanced) screen, displaying an existing channel set or adding a new channel set gives the following error message: Object Reference Not Set to an Instance of the Object on Existing or Adding a New Set.

Resolution: The Configuration Maintenance (Advanced) screen has been corrected.

3006419

SR#: 01217959

Issue: The customer is not able to view the map in CSR.

Resolution: Coordinates passed as arguments for Google Maps API were wrong. The code was corrected, and the arguments have been passed to Google Maps API.

3054726

SR#: 01275049

Issue: Service Point Meter reprogram fails with ORA-02292: integrity constraint (ITRONEE.FK_ESTIMATIONTODO_SPC) error, partially processing the transaction.

Resolution: There was no code to delete Estimation To Do records linked to service point channels when only the service point channel is deleted. This was done only when the whole service point was deleted. Added code to delete Estimation To Do records linked to service point channels when only the service point channel is deleted.

Database

2606147

SR#: 01078376

Issue: The Reading_Purge procedure (that calls Reading_Purge_SPC) and Reading_Purge_SPC procedure are not deleting the ReadingPeriodWithStatusID (RPWSID) table entries of the previous meter for SPID's involving interval length change even when all reading data is purged.

Resolution: Current meters are included as well as the previous meter for SPIDs involving interval length change.

2716198

SR#: NA

Issue: During a churn backup, the READING_PURGEBYDATE_SPC procedure was throwing a unique constraint (ITRONEE.PK_READINGGROUPSPC). Reads were not backed up into the table ITRONEE.T_CHURN_READINGS and were not purged from IEE's reading tables for the specific service point channels and date range.

Resolution: Modified the READING_PURGEBYDATE_SPC procedure.

2743562

SR#: 01127198

Issue: Reading Purge by Partition process is failing to post IEE 10.3 implementation.

Resolution: The modified procedure covers the following issues observed by FE team, while validating this procedure -- Performance - Taking more time and running more than the scheduled time window Fix: Consider only the SPCNodeIDs as part of the WorkingChunk than all on each iteration -- RPWSID update, split and Merge - Missing some of the SPCNodeID related RPWSID Records update for the deleted readings Fix: Consider only the SPCNodeIDs part of the WorkingChunk than all Update-Date was set to the high-value of the recently truncated readings. Records's Endtime less than update-date are updated with empty-status and MaxReadingGroupAltkey as 0 Empty-status records less then update-date are merged.

2776063

SR#: 01139458

Issue: Daylight savings time (DST) changes were not applied for New Zealand (NZ) time zone.

Resolution: New Zealand government announced that starting from year 2007 onwards DST begins at 02:00 NZST on the last Sunday in September each year and ends at 03:00 NZDT on the first Sunday in April. On this basis we had not updated our static data (TimezoneDSTDetail.xml). To resolve this issue, the static file (TimezoneDSTDetail.xml) has been modified to support the recent announcement of New Zealand government.

2779084

SR#: 01137720

Issue: Task purge running for a long time and blocking message log table.

Resolution: When performing a DELETE, the Database Engine needs to hold a lock on the rows being deleted to maintain data consistency. But when we delete a considerable amount of data, the row locking escalates into a page or even a table lock, which causes blocking issues. To resolve this issue, we used TOP clause with a DELETE statement to limit the number of rows deleted (deleting rows in chunks).

2803209

SR#: 01150996

Issue: Indexes and other schema object definitions were not correct after running an upgrade.

Resolution: Some of the indexes were added only through upgrade scripts, they are not reflecting as part of table definition scripts causing a difference in newly built schema and upgraded schema.

2818170

SR#: 01152983

Issue: After running the Verify DB script to confirm the database upgrade was successful, the script identified discrepancies between actual schema and upgraded schema.

Resolution: Created upgrade and manual scripts to fix the discrepancies observed during upgrade.

2860995

SR#: 01172053

Issue: Duplicate reading statuses in the Reading Status table.

Resolution: This is affecting the upgrade module only. From 10. x onwards we are using 64-bit status instead of 32-bit, to support this functionality we are utilizing the column StatusExt1. Prior to 10.x this column was null. When the user loads the file in 10.x it was searching for the combination of Status and StatusExt1, if StatusExt1 is null then it inserts one more record for the same status with StatusExt1 as zero(0x0000000000000000000000000000000000000000000000000000000000000000). Hence it created duplicate status in the ReadingReadingStatus table. To resolve this issue, we upgraded the script to update StatusExt1 to"0x0000000000000000000000000000000000000000000000000000000000000000" for non-duplicate Status's, and we ran a manual script (Remove_Duplicate_Status_RRS) to fix the duplicated status.

2939417

SR#: 01213817

Issue: In a previous release, the ReadingReadingStatus.StatusId column length was modified to Number(6), but the temp tables and sequence SQ1_ReadingReadingStatus were not updated. Maximum value for the sequence is only 99999. This issue only affects Oracle database.

Resolution: The maximum value of the sequence SQ1_ReadingReadingStatus has been modified to 999999, and the StatusId column for all temptables have been modified to Number(6).

2970494

SR#: 01200365

Issue: When running the historical purge task, the ORA-00054: resource busy error message appears while executing.

Resolution: This error message is due to uncommitted data in the NODE table. Added DDL_LOCK_TIMEOUT in Device Event_Purge procedure, so that it will wait 5 minutes to commit data from another session. This issue has been resolved.

2996305

SR#: NA

Issue: While manually upgrading their test environment, the customer was getting an error message: "'trim' is not a recognized built-in function name".

Resolution: "TRIM" is not supported prior to SQL server 2017. The customer was using SQL server 2016 SP2, which is why they were getting this error message. Instead of TRIM, we used LTRIM followed by RTRIM, which does the same functionality as TRIM. This issue has been resolved.

Device Comm

2664838

SR#: NA

Issue: During Remote interrogation, the customer experiences deadlock due to the update statement on “MV90RECORDINGDEVICE.”

Resolution: The code has been enhanced to prevent deadlock while updating MV90 recording device changes during the remote interrogation process.

2713899

SR#: 01112258

Issue: UIQ/AMM Data Imports to IEE are failing intermittently.

Resolution: IEE Device COMM could not import the Reading or Event file due to null attributes in Event log file. The Null value in argument of Meter event log was causing unhandled exception causing the file not to process. To resolve this issue, the null values in arguments of meter event log files were handled.

2728746

SR#: 01111608

Issue: Interactive Read request does not fetch intervals and complains about unmatched endpointuomId.

Resolution: If both of the following paths fail to return a result, try one more time by seeing if the device has an External System UOM map.

  • The Quantity field from Openway directly matches IEE UOM in database.

  • The Quantity field from Openway does not exist in IEE UOM database but does exist in External System UOM Map code table for this device.

If the device does have an eternal system UOM map, try fetching this UOM from the FlatConfig table.

2836680

SR#: 01142426

Issue: While processing the device com logs, the system returns the object of DeviceCommReceiveClientW, whereas the code expects the object of type DeviceCommReceiveClient. Hence the system throws the invalid cast exception.

Resolution: Changed the object initialization type to Interface. This Interface is implemented by both DeviceCommReceiveClient and DeviceCommReceiveClientW class. Now the object created of type Interface, will handle both DeviceCommReceiveClient and DeviceCommReceiveClientW objects returned.

Device Events

2338994

SR#: 00993141

Issue: Device events from TIM_AM55 and TIM_MCS3 that are read by Service Mode are not mapped in IEE.

Resolution: New device events and device event mappings have been added to support TIM_AM55 and TIM_MCS3. See: Device event and mapping changes.

2864512

SR#: 01175745

Issue: For remote disconnect/reconnect request from SAP, ISAIM returns an exception. This issue occurs when SAP clock is a few seconds ahead of IEE clock. The AMI disconnect/reconnect is created as future dated task, and the Correlation ID is not saved. Even when the disconnect/reconnect is successful, ISAIM cannot find the task using Correlation ID and logs an error.

Resolution: The AMI disconnect/reconnect has been corrected. Added a time buffer, so when SAP clock is a few seconds out of sync, the disconnect/reconnect is not created as a future dated task. When the disconnect/reconnect request is future dated, the Correlation ID is saved as task parameter, so ISAIM can return the correct result. The fix is in IEE core (DeviceComm). No change in ISAIM.

2972407

SR#: 01208307

Issue: "Temperature ThresholdExceeded" event was mapped incorrectly to event code 6J, such that the device events report is showing the wrong event code and description.

Resolution: Device events script & events mapping script have been corrected. "Temperature Threshold Exceeded" event (was mapped to event code 6J) is now mapped to event code 684. NOTE: Customers with existing device event filters that include 6J need to update their filters to 684.

2984912

SR#: 01231879

Issue: Power Outage notification is incorrectly in UTC instead of local time. This is due to incorrect time zone conversion when creating data for the notification.

Resolution: The time zone conversion issue has been corrected. Power Outage notification is now in the correct time.

2987914

SR#: 01234596

Issue: The device event report does not display all the event names in the event summary graph.

Resolution: The report has been changed to display all event names.

2999162

SR#: 01240158

Issue: There are two Device Event codes, 18619 and 561, that have incorrect categories, but no notifications were sent.

Resolution: The category for these two Device Event codes, 18619 and 561, should have been Tamper instead of Status Event. The manual scripts for Device Event creation have been modified to change the category from Status Event to Tamper.

3018497

SR#: 01245922

Issue: When applying the Device Event filter, it does not properly save the changes to the Device Type filter or Market Type filter selections. Device Event email notifications are not working properly causing cast errors when trying to set up notifications.

Resolution: Fixed the UI so it properly saves changes in the DevEvt filter attribute value table and fixed Notification Helper to allow for all 5 device types instead of just meter type.

3033061

SR#: 01260564

Issue: For a device event filter, when the "Enable Device Type" checkbox is enabled on the Event Filter Properties UI, if there are no device events records in the database for any of the selected device type, the event export (using this filter) does not export any events.

Resolution: The code has been corrected. In this scenario, the event export now provides the correct results.

3035477

SR#: 01260860

Issue: When multiple events are mapped to the same device event code, a duplicate mapping notification message appears while saving the event filter.

Resolution: The code was enhanced to remove the multiple device event mapped to same event code in IEE notification message while saving device event filters.

Editing

2780590

SR#: 01138113

Issue: Data that has been modified from the Edit Interval Data screen is not being marked as edited in the status for the readings.

Resolution: During Edit Interval Data >Split and Combine, the newly created intervals are not adding EDITED statuses to the reads. The rest of the Edit Interval Data options are adding them. To resolve this issue, the logic for Split and Combine was changed in such a way that EDITED status was added when new intervals were created. This was done for the cases where the data values were also zero.

3071265

SR#: 01287115

Issue: When reads are edited using the split option, TAD reading status is not set.

Resolution: TAD reading status is not set on the readings for the Split functionality. Assigned TAD reading status for the reading during the Split functionality.

Estimation

2705807

SR#: 01051552

Issue: When executing the estimation log summary_etl stored procedure during testing it was observed that the EstimationLogSummary_ETL does not populate the estimation log summary table. The procedure EstimationLogSummary_ETL was considering the records which are processed till current day midnight.

Resolution: Removed the TRUNCATE condition from the query in Stored procedure. So, it will consider the records until the current date and time.

2720975

SR#: 01115677

Issue: Running a Manual estimation preview for a period where it had incorrectly estimated using Type 59 for a 30-minute AMI. Manual Estimation has correctly estimated using Type 52, but in the previous Status After column it shows both Type 52 and Type 59.

Resolution: While replacing the status, IEE fetches the interval length change based on baseline-like days. So, if baseline-like days do not fall into the interval length change range, then IEE removes the alternate status from the reading and keeps the status from the estimation set.

2725000

SR#: 01112817

Issue: SUE is extremely overestimating the interval data.

Resolution: The root cause of this issue is that in 9.0 or earlier within the method CreateScalingRequest, the register readings were validated using a method IsRegisterReadEligibleForScaling which internally uses IneligibleRegisterStatusesForScaling to check the statuses.  Within IneligibleRegisterStatusesForScaling the reading statuses for ESTNEEDED, ESTIMATED, and MISSING was validated and the register readings with these statuses were ignored.  In this method, only ESTNEEDED and ESTIMATED statuses were validated, and MISSING status was missed somehow due to picking the Gap readings as well. To resolve this issue, we added MISSING status to the code, so that it will also consider this status.

2768808

SR#: 01133694

Issue: Manual edits and Estimation are taking time to complete while processing large amounts of data.

Resolution: The new setting checks Retain Status To Mark Editing for every interval, but it also loads system settings for every interval. This setting is only used for editing data, but Remove Estimation Status Method is also called for Estimation. This is impacting the performance. To resolve this issue, the code logic remained the same, but code flow was changed to only fetch system settings when editing reads. If we are not editing reads, then it does not fetch system setting as it is not needed for Estimation. We are loading Retain Status To Mark Editing setting once while loading the application. So, if there is a change to Retain Status To Mark Editing, the application will need to reopen to take effect.

2777746

SR#: 01140527

Issue: During extended scaling the calculated value for scaling is being saved regardless of the system setting.

Resolution: During Extended scaling when the system setting "Retain Calculated BoundaryReads" was set to True or False, the calculation is being saved in both scenarios. The code logic has been changed, only the calculated value is saved when the system setting "Retain Calculated Boundary Reads" is set to True.

2806852

SR#: 01152436

Issue: During daily monitoring of the production in the IEE system, records are being left in the Estimation to-do table after the finalization window closes. The Estimation Service is running slower than usual on Production. There were over 14,000 records in the estimation to-do table after the finalization window closed. Logged the following error message: 2022-11-12 04:41:05,164 1000 ERROR [30] Itron.EE.Service.Common.Estimation.BulkScalingOperationWorker:0 ExecuteWorkItemString[] {Unexpected Exception: Object reference not set to an instance of anobject. - EstimationWorker ThreadPoolCallback blew out due to this exception.,Object reference not set to an instance of an object.} System.NullReferenceException: Object reference not set to an instance of an object. atItron.EE.Business.Validation.VE.Extended.ExtendedScalingProcessor.LoadRegisterChannels(ExtendedScalingResultresult) atItron.EE.Business.Validation.VE.Extended.ExtendedScalingProcessor.Scale(ExtendedScalingRequestCollectionrequests, ExtendedSaveParameters saveParameters) atItron.EE.Service.Common.Estimation.BulkScalingOperationWorker.DoEstimates() atItron.EE.Service.Common.Estimation.EstimationWorker.ThreadPoolCallback()

Resolution: There is slowness observed in SUE functionality in 10.x. The reason for this is that in 9.0, when using SUE, we used to bulk fetch SPCs and readings before passing along Estimation To Do entry to the Business layer. Now in 10. X with TOU scaling, we no longer bulk fetch SPCs and send every request to the business layer. If the request has no register reads for bulk scaling, we are sending every request to the business layer for processing. We have added back earlier code to bulk fetch SPCs and store them in the dictionary.  For regular scaling, we used the previous optimization which checks if the link register channel exists, and it has at least one read. For TOU scaling it can happen without a linked register channel or link register read because TOU scaling uses a TOU set not a meter read set. In this case, pass the request along to the business layer even if they don't exist if we have found the SPC interval channel.

2898124

SR#: 01191235

Issue: When fetching readings in Reading API, Enable Per Channel Logging equals true caused messages to be inserted twice.

Resolution: Removed the Enable Per Channel Logging equals true option for Bulk Reading Fetch Helper that SUE uses. Also, removed Log Event's property that is in Readings Fetched Event Args class as this property is never used by any calling code.

3000153

SR#: 01240426

Issue: In Scaling Processor, if any Estimation To Scale (Estimation To Do) request have start and end time that is out of SPC Estimation Set record of Service Point Channel, then the request will not have Estimation Set because there will not be any SPC Estimation Set record in requested time span due that while loading the Register Channels (Load Register Channels method call as it is in logs) it will through "System. Null Reference Exception: Object reference not set to an instance of an object" to know the Scaling type.

Resolution: The logic has been enhanced to add the null check on request for Estimation Set.

Extract, transform, and load (ETL)

2889729

SR#: 01187120

Issue: Flat Configuration Physical (FCP) update task from the task scheduler consistently throws an error.

Resolution: This issue was caused by introducing an optional parameter. To resolve this issue, the optional parameter has been removed.

Import Data Manager (IDM)

2742386

SR#: 01126075

Issue: Import Data Manager (IDM) is not consistently exporting all the data as it should be based on the DRP set up.

Resolution: Enhanced the Import Data Manager (IDM) export code to handle DRP.

2742549

SR#: 01124564

Issue: The Import Data Manager (IDM) immediate export does not assign context time for register channels, but it does work for interval channels.

Resolution: The Import Data Manager (IDM) code has been updated to handle the register reads. Now the reading time stamp is set properly and is in the same lines as that in the interval reads.

2863080

SR#: 01175192

Issue: Performance issues with banked data processing.

Resolution: As part of the resolution, we have reverted the change done to fix the unit test case which was causing the performance issue. Bank data resubmission and Import Data Manager (IDM)-related functionalities are to be tested.

3036840

SR#: 01264460

Issue: When processing banked data with a large number of channels to reprocess, the banked data resubmit process creates 0kB resubmit files with empty data.

Resolution: The banked data resubmit has been enhanced to process it in chunks, creating resubmit files with a maximum of 5000 channels per file and better handling of large files.

Installer

2813824

SR#: 01152971

Issue: SMUD is not able to proceed with installation since the user log in is failing.

Resolution: Created a catch for Logon Denied Locally Code 1385, which will bypass this error. The IEE Install Suite module was updated to support this issue.

2818505

SR#: 01156530

Issue: Customer receiving “Not a trusted publisher” warning when installing ClickOnce Client.

Resolution: ClickOnce publish is done on the client system and signed manifest and bootstrapper are not shipped as the deployment URL needs to be updated from the client location. We need to sign the manifest and bootstrapper after the deployment URL is updated in both.  We created a manual document for creating a code signing certificate and update the bootstrapper and manifest with it. Post Installation steps for Update Server have been changed.

2863793

SR#: 01174410

Issue: The user login information is failing and preventing the customer from being able to proceed with the installation.

Resolution: A try-catch was added to catch Logon Denied Locally Code 1385, which will bypass this error. The IEEInstallSuite module was updated to support this issue.

2863796

SR#: 01174434

Issue: Customer is unable to use certificate which includes extra properties in Subject Distinguished Name.

Resolution: Support for Subject Distinguished with extra properties was missing. Added Support for Subject Distinguished to support extra properties in Subject Distinguished Name.

2884812

SR#: 01184983

Issue: Customer received files that were not signed or were missing a time stamp. The 10.3 installer suite and IEE application files are not getting signed.

Resolution: Release build files did not have the proper time stamp or signature. And signed files from the IEE Install Suite were not signed. The packed module for the IEE Install Suite was updated.

2887137

SR#: 01185691

Issue: Customer is being asked to install Microsoft WSE when feature is not selected.

Resolution: The IEE Install Suite was asking to install features after the prerequisite installation. The IEE Install Suite has been changed by implementing a pop-up window to ask for features before the prerequisite installation.

2935240

SR#: 01210870

Issue: IEE Install Suite throws an error when extracting files, because the operating system was unable to read one file (Banner.jpg). This issue only occurred on one customer's machine.

Resolution: IEE Install Suite has been improved with exception handling for this scenario.

2952002

SR#: 01215505

Issue: When installing IEE client with ClickOnce, the user sees the old description with a reference to Internet Explorer browser instead of Microsoft Edge.

Resolution: The ClickOnce description has been updated. UpdateServer installer has also been modified.

3406271

SR#: 01448641

Issue: Customer experienced an Invalid Username or Password issue with the IEE Install Suite.

Resolution: In Oracle version 19.24, the SQLNET.ora file contained the encryption property SQLNET.ENCRYPTION_SERVER:REQUIRED. The exception was discovered while verifying the database connection via bootstrap. The issue was due to the DDTEK.Oracle third-party being used for the connection. Since Oracle19.24 has cipher related bug, the DDTek.Oracle.dll file needed to be refreshed to resolve this issue. The customer was provided with the installer to perform the refresh.

Map

2977892

SR#: 01217959

Issue: The customer was not able to view the map location in the Google Maps API.

Resolution: Coordinates passed as arguments for Google Maps API were wrong. The code was corrected, and the arguments have been passed to Google Maps API.

Meter Reading Acquisition System (MRAS)

2831960

SR#: 01159842

Issue: When uploading Readings to MRAS, encountered 'ERROR: Could not post this interval to the Middleware' Error Log.

Resolution: This issue was seen with DCOM properties after changing the user password. This issue will be fixed by changing the password on the identity of SIE Gateway 2.

Platform

2735880

SR#: 01122248

Issue: IEE throws a duplicate Read Status Code External System Type Mappings error when trying to add/remove an external read status.

Resolution: A code-fix was done to restrict duplicate priority code mappings only and not all the code mappings.

2745108

SR#: 01118905

Issue: Receiving an "Object reference" error when trying to check the Audit logs for a Service Point Group.

Resolution: In Audit Tool when we select the Group Type in Search Utility there is an option called" Records for object in time Pried". The query panel object is not initializing properly and so the Object Reference exception is being generated. To resolve this issue, we are initializing the object properly so that the processing is done successfully.

2754523

SR#: 01131537

Issue: Under the Code Table Selection, user found a duplicate entry for the User Defined Attribute Table.

Resolution: After the 10.3 upgrade, two instances of the "User defined Attribute table" were defined. To resolve this issue, the duplicate instance was removed.

2755929

SR#: 01133062

Issue: WH_DEL_GEN UOM is missing from the IEE base UOM set.

Resolution: WH_DEL_GEN UOM is now mapped so that it is displayed properly in the graph.

2781695

SR#: 01141066

Issue: When fetching the audit log by action type it fetches all AuditLogDetail rows with action type and does not filter by date range in the UI causing the UI to freeze.

Resolution: AuditLogDetail fetch has no date range because the table does not contain any date columns. The resolution is provided by first fetching the AuditLogEntry subset for the date range in the UI, then using that subset to fetch AuditLogDetail. This allows AuditLogDetail fetch to only fetch records for the date range in the UI. Then trim down the first fetch AuditLogEntry subset for only records that are returned from AuditLogDetail fetch.

2783610

SR#: 01141839

Issue: The web service responses are vulnerable to Click jacking attacks.

Resolution: We were not adding custom headers for Internal and public service host services. We are now adding custom headers "X-Frame-Options", "Cache-control" and "X-Content-Type" for Internal and public service host services. This issue has been resolved.

2799860

SR#: 01148914

Issue: IEE: ReadingPurgeByPartition procedure is not loading all eligible SPCNodeIDs in the main template table to purge.

Resolution: The missing empty status update in ReadingPeriodWithStatusID table was due to some of the SPCNodeIDs not being captured in the main t_Purge_Reading_all table because it's targeted to capture of one day at a time, and not considering the records in the ReadingGroupSPC table with the purge date falling between the StartTime and Endtime. Having the filter condition 'v_interimpurgedate between g.StartTime and g.EndTime' while populalting t_purge_reading_all will resolve this issue, but it will pull the same row  in multiple iteration (2 times), which will increase the data volume in t_purge_reading_all table and try to process the same record for multiple times resulting in an impact to the performance. Identified the list of SPCNodeIDs that are missing the empty status update in the ReadingPeriodWithStatusID table for the purge period at the end of the main Loop. Applied the update, split and merge on ReadingPeriodWithStatusID table for those SPCNodeIDs alone, and deleted the records from ReadingCreationEditLog and ReadingEditLog tables for the purge period.

2817664

SR#: 01152996

Issue: The following intermittent error was observed with Reading Purge by Partition: Unexpected System Exception:#[20001] ORA-20001: Original Error Message -8103: ORA-08103: object no longer exists.

Resolution: This error occurred very rare when tables are being dropped/truncated while a SQL statement for those tables is still in execution, or in the case of an index, it might be caused by an index rebuild i.e., when the object has been deleted by another session since the operation began. The Reading Purge by Partition has been corrected to handle this exception.

2832662

SR#: 01161201

Issue: Customer is getting an unhandled exception when querying in the IEE Audit screen.

Resolution: While fetching UDA nodes, we are not fetching the result set to allow link between nodes. This is causing exceptions in the Audit log screen because sometimes certain UDAs must fetch linked entities to find IDs. We have provided the resolution to assign a new result set to the collector returned from FetchCollectionFromNodeKeys. This creates a link between nodes. Like Interval Channel to Meter link.

2865119

SR#: 01175841

Issue: Reading Purge by Partitions TimeToRun taking too long to process.

Resolution: The code was changed to consider only the SPCNodeIDs as part of the Working Chunk than all on each iteration.

2881039

SR#: 01182117

Issue: Log information was not writing to task, so customer was not able to investigate the issues on task level.

Resolution: We have reverted the Bug #2026428 changes to avoid unhandled error.

2881260

SR#: 01182453

Issue: When logging into IEE, received a warning pop-up box with a warning message. The message states the following: Error attempting to release tasks. An error occurred fetching the settings: AMI Settings from the database is null or invalid.  This error occurred when initializing the AMI Interactive Communications page because we are not initializing the object properly.

Resolution: There is no static data in the shared resource Table for the MassMarketCCSettingsDefault setting, so it is returning null, logging the error, but not showing on the same screen when another screen is opened. As part of the resolution, the code was enhanced to avoid loading the MassMarketCCSettingsDefault setting when initializing the AMI Interactive Communications page.

2890119

SR#: 01181610

Issue: When fetching AuditLogEntry using a specific entity, we are still pre-fetching AuditLogEntry.

Resolution: We removed the code to pre-fetch AuditLogEntry because it was making the performance worse when querying years of audit logs.

2986650

SR#: 01233016

Issue: While executing purge module, customer getting ORA-00060: deadlock detected while waiting for resource Error Stack Trace.

Resolution: The selection criteria for delete T$_workReadingChunkis different than the selection criteria for inserting into T$_workReadingChunk. Since there was no uniqueness for the columns it was using for the selection criteria for delete.  Included rows order column to delete statement to prevent deleting rows that belong to another task.

2986657

SR#: 01233056

Issue: While executing Reading Purge by Partition, a unique constraint error occurred on ReadingPeriodWithStatusID and ended the execution prematurely, leaving unpurged data in the database.

Resolution: The SPCNodeID in Message Log table code has been enhanced to include exception handling logic to avoid premature execution.

3010899

SR#: 01249647

Issue: UOM KVA_ELE_MAX is missing in latest manual script in SQL and Oracle.

Resolution: UOM KVA_ELE_MAX has been added to the manual script in both SQL and Oracle.

3038348

SR#: 01265204

Issue: When requesting audit information for a service point, the Audit Log user interface is not responding. This is because multiple entity IDs were changed in the same transaction.

Resolution: The Audit Log user interface was enhanced to support showing multiple entity IDs that were changed in the same transaction. On the "Records for object in time period" table, they will be displayed separated by a comma, in the same order as they are listed as separate rows on the "Audit Log Entry Details" table at the bottom.

3042425

SR#: 01263758

Issue: Customer getting "Unexpected SystemException: #COUNTOFDELETEDROWS - System.Data.SqlClient.SqlException(0x80131904): Adding a value to a 'datetime' column caused an overflow"error while running historical purge module.

Resolution: By default, GETDATE() returns DateTime data type. which is not adequate for the existing condition. Converted data type to "DateTime2" to support larger date range compared to DateTime and modified the AdeRequest_Purge.sql procedure.

3053444

SR#: 01260002

Issue: Customer is experiencing unnecessary audit logs for unmodified Formula Constant Versions.

Resolution: Enhanced the implementation of handling the Formula Constant version in configuration file, so that it will be added to the audit logs only for modified or newly added Formula Constant versions.

Readings

2088870

SR#: 00954255

Issue: The MV90 Mainframe Export does not seem to be exporting the exact data that is in IEE.

Resolution: Changed the interval's number of decimals rounding to use the template parameter instead of the workgroup for the current user.

2437228

SR#: 01032662

Issue: Whenever a configuration import is attempted via Web API, the following error is received: 'Itron.EE.Common.Entity.Time.ContextTime Itron.EE.Business.ImportExport.MeterReadingDocument.CustomerConfiguration.MeterElement.get_InstallDate().

Resolution: Corrected the lock implementation so that only one runner will be able to write in the output export file.

2684661

SR#: 01094271

Issue: HHF file import on the Service Mode side shows up in the IEE Task Monitor and stays in a Running state.

Resolution: The code does not allow for more than one HHF file to be processed. The code logic has been changed to add a collection that contains all the HHF files, and processes the HHF file one by one, and then updates the task status.

2730727

SR#: 01117534

Issue: IEE 10.2 Meter Reading Synchronizer consumes all memory, high paging, and eventually crashes the IEE application service and sometimes renders the server inaccessible or unbootable. MRS appears to create files as expected in the working folder but does not move them to the root folder. Subsequent execution flushes out the contents of the working folder.

Resolution: If there are multiple entries in EXTERNALSYSTEMUOMMAPID for UOM, multiple entries from the same reading will result in returning distinct readings when multiple entries exist in EXTERNALSYSTEMUOMMAPID for UOM.

2791256

SR#: 01135630

Issue: The copy to clipboard feature is adding a space to the copied data causing a formatting issue when copied and pasted to Excel.

Resolution: The piece of code that was adding a new line after each read has been removed.

2726276

SR#: 01118164

Issue: The MDUS MeterCreate sets the DefaultSapMeterProgram which has MarketType = Electric ('1' in the DB) without regard for what market type the meter actually is. This means the first version of water and gas meters have MarketType = Electric. If this MeterCreate, or a subsequent MeterChange, includes the (PUID) it will set the ESN in the EndPointID. Subsequently the MDUS RegisterCreate sets the real meter program, and the meter gets the correct MarketType on the new meter version created with a later EffectiveStartDate. When reads are imported with EndPointUOMID addressing, and the EndPointID matches the EndPoint on the first meter version with the wrong MarketType, then the import errors with a message.

Resolution: When more than one market type with a different name with a meter version is being returned, the code has been changed to allow more than one market type. This allows the readings to be processed and saved successfully.

2735885

SR#: 01122664

Issue: When the reading import XML file includes multiple contiguous reading sets for the same meter, the register readings are not getting converted from the meter units (Wh) to the IEE SP channel units (kWh) during import, storing values that are 1000x higher.

Resolution: Corrected the code to fetch register channel when the reading file has register and interval reads, or register read alone.

2766353

SR#: 01134358

Issue: Readings received from Service Mode and processed via Reading XML Import are intermittently not loading. Readings not loading in IEE causes gap in data and has impacts to publishing of data to downstream systems and external participants.

Resolution: The code logic has been changed to copy that collection data in the list and update it. This issue has been resolved.

2791257

SR#: 01141447

Issue: In Reading XML Import Enhanced, when receiving a reading XML from SM, it creates an entry in the FILEINVENTORY table, but it does not refer this FILEINVENTORYKEY in READINGGROUP, which causes us to lose the reference to know which READING XML IMPORT task imported readings goes to which meters.

Resolution: While dropping the reading file the file inventory key is not updating in the Reading Group table because the code is not assigning a value in the File Inventory Key. The code logic has been changed to add the file inventory key in the reading group table when a reading file is dropped through Reading XML Import Enhanced.

2837802

SR#: 01165118

Issue: During reading file import using "Reading xml import enhanced", when few endpoint id doesn't exist in base tables, we were skipping readings and also there was no information why readings are skipped.

Resolution: Changed logic to compare against unique number of meters against expected meters, so that when all endpoints does not exist will process using recording device.

2861159

SR#: 01136274

Issue: While importing files with multiple day data, there is a discrepancy as some of the days data is not being rejected.

Resolution: If there is a difference in ‘Number of interval readings’ and an actual number of interval reading records in the XML file of if the file has only one day's worth of data with the above-mentioned discrepancy, it gets rejected. And if the file has more than one-day worth of data with the above-mentioned discrepancy, then it is successful. The code has been changed to reject reading data if there is any difference between ‘Number of interval readings’ and the actual number of interval reading records in the Reading XML file.

2863861

SR#: 01174866

Issue: Reading XML Import file processing not considering interval channels with OptionalChannelDatas tag.

Resolution: Reading XML Import creates a corrupt split file in memory whenever a file contains interval channels with OptionalChannelDatas tag. This is because when this tag is encountered the StreamSplitter code skips the closing tag for the channel. So, channels get skipped with this tag if they are not the last channel in the file. The task looks successful but only one channel is saved when there is more than one in the file. The resolution for this bug scenario is done in such a way that Import Data Manager (IDM) formats the file to put OptionalChannelDatas right before the Channel tag ends for interval reads. So, in this case the StreamSplitter code also needs not to break from the switch statement but instead continue the loop. This prevents the XML reader from skipping the closing </Channel> tag and creating a corrupt file.

2881734

SR#: 01182534

Issue: Register readings are not being imported when the readings for both sides have critical changes.

Resolution: After fetching the register channel for the reading date range (in case of critical change) the read time span is being checked for all register channels before critical change and after critical change, and when reading time span doesn’t fall in any of the channels, neither before critical change nor after critical change, then reads are being discarded. This is working as expected, no changes were made.

2887022

SR#: 01180460

Issue: XML Export task does not support register unit scaling; it only works on interval channels.

Resolution: Added register unit scaling to XML Export by overriding base class Fetch Registers method, and then scaled Reading Container using the same method that ADE uses.

2892784

SR#: 01188471

Issue: Banked Reading Data is not importing due to a case mismatch on Endpoint ID.

Resolution: While checking the Endpoint, UOM mapping case is not being ignored so the mapping could not be resolved when there is a difference in the case, in the endpoint, in the configuration and reading file, or in the banked data endpoint. The code was enhanced to avoid case sensitivity for ENDPOINT during reading data import.

2908838

SR#: NA

Issue: The contingency reads are not getting processed by Import Data Manager (IDM) process within the timeout duration as Import Data Manager (IDM) is busy with existing tasks. Due to this, SAP is not receiving the response on time.

Resolution: Added support for optional settings in IeeServiceRunner.exe.config, which can override the hardwired contingency read retry settings in ISAIM. This allows extending the retry period if the default 10 minutes is not enough.

2910318

SR#: 01194353

Issue: The service point time zone details were not being saved in the dictionary properly causing a memory build up when MRS is executed.

Resolution: The code was changed so that the processing happened properly without consuming memory.

3022462

SR#: 01222277

Issue: When importing readings for a timespan that has a critical change, if prior to the critical change, the meter was not linked to a service point, the last interval read is not imported.

Resolution: The code has been corrected. In this scenario, all reads are now imported successfully.

3048468

SR#: 01271318

Issue: The Reading import task never completes and consumes all the available app server memory.

Resolution: When we reused the same endpoint for different Meters at different points in time, we fetched the Meters based on the endpoint ID, and then we tried to find the service point linked to that meter. In this case, we identified the previous meter, which has already ended and is trying to import readings for this meter, which is causing the issue. Now, the meters based on the reading period are being identified, which identifies the correct meter to import.

Reports

2509457

SR#: 01035609

Issue: Reports are taking a long time to run.

Resolution: The code has been corrected to consolidate and pass all the SPC node IDs at once and make just one DB call through DataAvailable_get which will reduce the report processing time significantly.

2681881

SR#: 01096029

Issue: The report code base was not using the version date parameter, so it was not considering the versions while generating the TOU reports.

Resolution: The version date was already being captured and loaded onto the code base, but it was not being set while generating the reports. Made changes in the code base to start using the version date and changes were made to assign the version date field value so that the parameter will start using it.

2720364

SR#: 01114772

Issue: Receiving an error message when trying to run the Missed Reading Statistics report.

Resolution: The error message given to the user is misleading when there are no missed readings in the requested date range and the missed readings report is not working for the register channel. The error message has been corrected when there are no missed readings in the requested date range and changes were made for the missed readings report to work for register channels.

2953451

SR#: 01217820

Issue: Usage data is shown truncated in the TOU report when it has long number of digits, because the column size is too small.

Resolution: The TOU report column size has been increased. The usage data is no longer truncated.

2986918

SR#: 01233976

Issue: When attempting to generate a coincident, non-coincident report for several contributors (service points), the coincident/non-coincident report displays only one row when certain contributors are added to the beginning of the formula.

Resolution: The code was enhanced to clear out the error for bad contributors and not show that contributor row on the report.

Service Mode

2670317

SR#: 01095106

Issue: An unexpectedly high number of missing readings is detected.

Resolution: There may be old entries in the validation work queue item table, when the user submits them, bulk validation reaches high memory usage, and the database server reaches 100% bandwidth. To resolve this issue, remove old entries.

2677244

SR#: 01094266

Issue: When FCS files are imported into Service Mode, they sometimes contain events.

Resolution: Stand-alone event parent tasks that are created to error or success are updated depending on if the payload is successfully submitted to the Enhanced Event Import folder.

2721618

SR#: 01112722

Issue: Customer has to restart the Service Mode service to schedule the Service Mode Interrogations.

Resolution: The issue happens when the Master Recorder ID on the IEE side is different from the Master Recorder ID on the Service Mode side (pervasive DB). Ideally, both the systems should be in sync, but if due to some manual change, the recorder ID is different, the IEE service throws an error and tries to sync data between both systems. While syncing the data, the IEE service is throwing an unhandled exception, which seems to cause the service to get stuck or hang. Thus, all the subsequent requests are stuck in a pending submitted state. On Prod, the service requires a restart for subsequent requests to be processed. The code has been changed to correct the unhandled object reference error when there is a mismatch in the recorder ID and the system is trying to sync the data between IEE and SM.

2803098

SR#: 01144711

Issue: Both the start and end reads from Service Mode are being imported for all linked register channels.

Resolution: In the reading XML file, there is a tag called Start Read. Start Read should not save even though it exists in the contiguous interval reading set. But in the current code, we are saving it, which is causing this issue. An Internal bug requested to save StartRead when it exists in the contiguous interval reading set. This bug fix is causing this issue. As part of the fix, we have rolled back the change made for that bug. Now Reading XML Import Enhanced will skip the Start Read when saving reads.

2804351

SR#: 01143812

Issue: User not able to schedule service mode remote interrogation when batch includes recorder that is missing in service mode database.

Resolution: When the recorder is missing from service mode and Scheduletaskid and Recorderid different, we were not setting missing recorder for configuration push. Recorder fetch was loading all the recorders in the system. We have set the missing recorder correctly, so that only the missing recorder is fetched for configuration push.

2861050

SR#: 01174093

Issue: Service mode remote interrogation commlogs are not getting processed even after interrogations are successful on MV90. So, the customer is not sure if the meter is successfully dialed in or not.

Resolution: The ExtBillingSystemCycleIDfor recording device was taking time as it was considering linked account, service point channel, and meter entities. We were trying to find the Recording device based on the 1st event date time in event file, so when we get historic events, we were not able to find the recording device which was causing an issue. Changed logic to fetch ExtBillingSystemCycleIDfrom Recording device and changed logic to find the recording device based on the collection datetime, so even when we get historic events, all the events will be processed successfully.

2888595

SR#: 01181551

Issue: In Service Mode, the Remote Interrogation task updates are displaying incorrectly for daisy chain subordinate meters when they are dialed individually.

Resolution: Identified the interrogation as Daisy Chain when single subordinate recorder is interrogated and marking status incorrectly. Changed the logic to consider single subordinate as recorder and update main task.

2907661

SR#: 01193401

Issue: The following unhandled exception was observed in the Manual Remote Interrogation: Sending of task id 533311230 of type ManualRemoteInterrogation to XI could not be scheduled due to error CommunicationDatagram had an error for operationRemoteInterrogation:fe2bb3ff-d8cd-4f9d-b782-b4cfde68d9b8 external system idServiceMode01.

Resolution: Exception handling with error logs is now in place for Manual Remote Interrogation with retry mechanism (maximum of three retries).

2968655

SR#: 01221180

Issue: When trying to create the service client, IEE was creating a new thread to refresh the server collection, which was causing server collections multiple times within a minute.

Resolution: The logic was changed to refresh server collection on a per minute basis.

2970626

SR#: 01224769

Issue: Customer unable to change the default installation path for the IEE Install Suite.

Resolution: Changing the Service Mode default installation path fails because the default path is the only supported path for the IEE Install Suite. The silent installer has been invoked for the IEE Install Suite. This issue has been corrected.

2986127

SR#: 01156243

Issue: When the meter is read through Service Mode and the consumption is high, the reading values in IEE and Service Mode don't match.

Resolution: The end read/ start read from pulse file into the float data type was being stored and while converting to reading document it was being stored again, which was causing the different values for end read/start read in IEE and Service Mode. The code was enhanced to store start/end read from pulse file into double to avoid conversion difference.

Settlements

2763935

SR#: 01123877

Issue: Customer is facing performance issue with Settlement dashboard. The dashboard takes more than 5 minutes to load approximately 1000 records.

Resolution: The code logic has been changed to remove the unused code, which was calling multiple times, and removed dispatcher, which was calling unnecessarily.

2979160

SR#: NA

Issue: When performing an entity Search, the current and historical meter ID does not show up even after the current only checkbox is unchecked.

Resolution: The logic has been corrected to maintain both current and historical. This issue has been resolved.

Task System

2749047

SR#: 01127764

Issue: While saving the task template, the parameter values are being saved as Task Template Parameters, but when creating a task from the Task Scheduler, it saves it as the task parameters.

Resolution: For task template parameters, the logic states that when the parameter value is greater than 2000, it is stored as a macro called "($SharedResource)" and its value is stored in a table called "SharedResources". This is implemented because the maximum length of the variable in the Task Template Parameter value is 2000 in the database. The same logic was not implemented for task parameter value even though the limitation of the database variable for that is also 2000. For task template parameters, there is logic where if the parameter value is greater than 2000, it's stored as a macro called "($SharedResource)" and its value is stored in a table called "SharedResources". This is implemented because the maximum length of the variable in the task template parameter value is 2000 in the database. The same logic in the Task Template Parameter has been implemented in the task parameter values.  If the length of the task parameter value is greater than 2000 then it will convert the value into a macro and store it in the Shared Resources table.

2815321

SR#: 01151627

Issue: While reloading the requested server dropdown menu, only active servers were being populated.

Resolution: To populate all the active servers, we were using the Default Task Runner service as the validation in the sense that all the servers which are having Default Task Runner service were considered to be active servers and were being populated. The problem with this logic was that servers that are active but do not have Default Task Runner service running were not considered active servers for populating the dropdown menu. The logic has been corrected and the dependency has been removed from the Default Task Runner service for fetching active servers. Now the active servers will get populated whether they have Default Task Runner service or not.

Unit of Measure (UOM)

3272197

SR#: NA

Issue: Customer requested to have Amperage UOMs that were removed added back in.

Resolution: Updated the "Add UOM" script to remove the consolidation section and added back the requested Amperage UOMs.

Validation

2386268

SR#: 01005949

Issue: In a frequent RI, the new RI request returned result whereas the old RI data was stuck in Service Mode causing false GAPCHECK validation fail.

Resolution: Set the status to New so that the pulse file will process again.

2736897

SR#: 01123382

Issue: Manual Accept is failing for two scenarios and it's not giving the relevant reason in the UI or in the logs, it’s just giving a generic failure message. So, the user doesn’t know why it's failing.

Resolution: The current UI error message has been corrected in the pop up in case of Manual Accept Failure. A few new error messages and log events have been added to state the cause of the manual accept failures in the logs.

2830306

SR#: 01151116

Issue: This issue arises during critical changes during the import reading time span. The reading contiguous interval sets are divided into different contiguous interval sets based on the critical changes. In the case of meter change as the critical change where there is no interval length change, those sets again get combined into one contiguous set.

Resolution: This issue was happening only when importing readings across a critical change. The system divides contiguous interval reads into multiple channels. Due to a recent fix, this functionality was impacted, and the system was not dividing the Contiguous set to multiple channels across a critical change. This functionality has been corrected, which fixed this issue.

2867905

SR#: 01172080

Issue: Validation task failing with ORA-00001: unique constraint (ITRONEE.PK_REGISTERREADING) violated error is caused by the field “Validate Readings By Day” set to true in validation task, while creating validation request for the registers we are creating duplicate requests. Which is causing the issue “Unique constraint error” while saving duplicate readings.

Resolution: While creating Validation requests for the registers, we checked for the existing request before adding the new request to avoid unique constraint error while saving readings.

2995995

SR#: 01235430

Issue: While updating RPSWID, when existing row has the incorrect interval length and there is an overlap between existing row and new entry, the configuration start time is being updated as RPSWID end time. End time is updated with configuration start time and causing RPSWID corruption.

Resolution: The code has been enhanced. While updating RPSWID when existing row has the incorrect interval length, if RPSWID start time is greater than configuration start time, the existing row end time will not be updated.

3012691

SR#: 01250890

Issue: While running the Bulk Validation Service, received a unique constraint error message: ORA-00001: unique constraint (ITRONEE.PK_VALIDATIONLOGHISTORY)violated.

Resolution: IEE was not validating the existence of passed status before pushing status into the history table. The code has been enhanced to validate the existence of passed status before pushing into the history table. This issue has been resolved.

3026906

SR#: 01255794

Issue: Error received when uncommitted transactions occurred during the purge on validation log history and validation log detail history tables.

Resolution: Added DDL_LOCK_TIMEOUT in VALIDATIONLOGHISTORY_PURGE, so that it will wait 5 minutes to commit data from another session.