You need to sign in to do that
Don't have an account?
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