function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
vamshi Capvamshi Cap 

Map Overwriting previous list values.

Hi Folks,
 

This code eathing my brain, which is overwriting previous values.

global static set<map<string,string>> prepareMigrationData(list<Migration_Object__c> migrationData){
          system.debug('---------'+migrationData);
          map<string,string> XiusMap = new map<string,string>();          
          list<map<string,string>> prepareValue = new list<map<string,string>>();
                   
          if(!util.isempty(migrationData) && migrationData.size()>0)
          {
              for(Migration_Object__c xius: migrationData){
                  system.debug('-----xius----'+xius);
              /******** Field values checking starts here *************/
              if(xius.First_Name__c == null || xius.First_Name__c == '' || xius.First_Name__c == 'None'){
                  XiusMap.put('First_Name__c','XIUS');                 
                  system.debug('-----xius.FirstName----'+xius.First_Name__c);
              }
              else
              { 
                  XiusMap.put('First Name',xius.First_Name__c);
              }
              if(xius.Last_Name__c == null || xius.Last_Name__c == '' || xius.Last_Name__c == 'None'){                  
                  XiusMap.put('Last_Name__c', 'Migration'); 
                  
              }
              else
              { 
                  XiusMap.put('Last_Name__c',xius.Last_Name__c);
              }
              if(xius.emailAddress__c == null || xius.emailAddress__c == ''){
                  XiusMap.put('emailAddress__c','blank@blank.com');
                  
              } 
              else
              {
                  XiusMap.put('emailAddress__c',xius.emailAddress__c);
              }                          
              if(xius.TN__c != null && xius.TN__c != '')
              {
                  system.debug('-----xius.xius.TN__c---'+xius.TN__c);
                  XiusMap.put('TN__c',xius.TN__c);
                  XiusMap.put('Cpnipin__c',xius.TN__c.right(5));
              }
              else
              {
                  XiusMap.put('TN__c','12345');
                  XiusMap.put('Cpnipin__c','12345');
              }
              if(xius.Planshortname__c != null || xius.Planshortname__c != '')
              {
                  XiusMap.put('Planshortname__c',getPlanshortName(xius.Planshortname__c));
              }
              else
              {
                  XiusMap.put('Planshortname__c','');
              }
              if(xius.Shipping_zip__c == '99999' || xius.Servicezip__c == '99999' )
              {
                  XiusMap.put('Shipping_zip__c','99503');
                  XiusMap.put('Servicezip__c','99503');
              }
              if((xius.Servicecity__c =='missing' || xius.Servicecity__c =='MISSING' ||xius.Servicecity__c ==''||xius.Servicecity__c =='missing=address'))
              {
                  XiusMap.put('Servicecity__c', 'Anchorage');                  
              }
              if((xius.Shipping_state__c == 'AL' || xius.Shipping_state__c =='MA' || xius.Shipping_state__c =='WA') || (xius.servicestate__c == 'AL' || xius.servicestate__c == 'MA' || xius.servicestate__c =='WA'))
              {
                  XiusMap.put('Shipping_state__c', 'AK');
                  XiusMap.put('servicestate__c', 'AK');
              }
              if((xius.Serviceaddress__c =='missing' || xius.Serviceaddress__c =='MISSING' || xius.Serviceaddress__c ==''||xius.Serviceaddress__c == 'missing=address'))
              {
                  
                  XiusMap.put('Serviceaddress__c', '2550 Denali St');
              }
                  
              system.debug ('++++++Mapped Vlaues+++++'+XiusMap); // this is showing 5 values differenct
              prepareValue.add(XiusMap); // This map is overwriting and I am firing this method in a batch 5 times, getting all values as same