"samp_concurrent_license_consumption" not getting correct number of records post discovery of Citrix License Server.Description"samp_concurrent_license_consumption" not getting the correct number of records post-discovery of Citrix License Server. If there are multiple records for the same product then the system is selecting only one record and not showing other consumption records details. If we see in the above pattern log, we can clearly see that the system is only showing one MPS_ENT_CCU record out of 3 with pooled available as 15. Please refer below screenshot. Steps to Reproduce These steps to reproduce are only available on the impacted server only. Connect to the Server and execute the quick discovery against the server which has Citrix License Server.Open the "Citrix License Server pattern" from the discovery logsValidate the Transform step under "Retrieve Citrix concurrent license consumption"Under pattern logs, for a given product multiple products are available, we can see multiple records for each product but the consumption table is showing only 1 record per product and it's not aggregating the consumption records for each product. Note - This is a design issue. On a single license server, design expects a single consumption record per product for given discovery. As per this, the current pattern is working. However, in this scenario, there are multiple consumption records for the same product, where the pattern is considering only one and that is the problem? WorkaroundThis problem is currently under review. You can contact ServiceNow Technical Support or subscribe to this Known Error article by clicking the Subscribe button at the top right of this form to be notified when more information will become available.. In order to get all the license consumption details, we need to make the below changes to the patter. Navigates to Discovery Patterns and locate Citrix License Server patternFrom the extension section open the "Retrieve Citrix concurrent license consumption" record.Navigate to step 5 - Sort and filter duplicatesTake a backup of the existing EVAL code and replace the code with below codeClick Apply and Save the Pattern. var rtrn;var consumptionTable = ${samp_concurrent_license_consumption};var sortedTable = new Packages.java.util.ArrayList();var sortItems = [];for (var i = 0; i < consumptionTable.size(); i++) {var row = consumptionTable.get(i);var productCode = row.get('product_code').toString();var inUseCountVal = parseInt(row.get('in_use_count'));var pooledAvailableVal = parseInt(row.get('pooled_available'));var totalCountVal = parseInt(row.get('total_count'));var overDraftVal = parseInt(row.get('overdraft'));var found = false;// Get existing object in sortItems array with key equal to product code.for (var k =0;k<sortItems.length;k++){if(sortItems[k].name == productCode){sortItems[k].inUseCount = sortItems[k].inUseCount + inUseCountVal;sortItems[k].pooledAvailable = sortItems[k].pooledAvailable + pooledAvailableVal;sortItems[k].totalCount = sortItems[k].totalCount + totalCountVal;sortItems[k].overDraft = sortItems[k].overDraft + overDraftVal;found = true;break;}}if(found == false) {sortItems.push({name: productCode,inUseCount: inUseCountVal,pooledAvailable: pooledAvailableVal,totalCount:totalCountVal,overDraft: overDraftVal});}}sortItems.sort(function(a, b) {if (a.name < b.name) {return -1;}if (a.name > b.name) {return 1;}return 0;});for (var j = 0; j < sortItems.length; j++) {var tblWithoutDuplicates= new Packages.java.util.HashMap();var productCode = sortItems[j].name;var inUseCount = sortItems[j].inUseCount;var pooledAvailable = sortItems[j].pooledAvailable;var totalCount = sortItems[j].totalCount;var overdraft = sortItems[j].overDraft;tblWithoutDuplicates.put('product_code', productCode.toString());tblWithoutDuplicates.put('in_use_count', inUseCount.toString());tblWithoutDuplicates.put('pooled_available', pooledAvailable.toString());tblWithoutDuplicates.put('total_count', totalCount.toString());tblWithoutDuplicates.put('overdraft', overdraft.toString());sortedTable.add(tblWithoutDuplicates);}CTX.setAttribute('samp_concurrent_license_consumption',sortedTable);rtrn = "done"; Once we update the pattern code, system will start displaying the aggregate value of multiple records on the same type. Please refer below screenshot. Related Problem: PRB1384421