You need to sign in to do that
Don't have an account?

iterate map in salesforce
Method Snipet :
Map<String,Decimal> typeAmonutMap= new Map<String,Decimal>();
for(items__c Item:LineItem){
if(typeAmonutMap.containsKey(Item.Type__c)){
}
typeAmonutMap.put(Item.Type__c,Item.Amount__c);
system.debug('typeAmonutMap====' +typeAmonutMap);
==> // getting type=A Amount=3
type=A amount=4
type=B Amount= 6 type=B Amount=9
type=B amount=3
type=C amount=99
I need to insert above record to the related object like below:
Record1
type=A amount=7 (3+4)
Record2
Type=B Amount=18 (6+9+3)
Record3
Type=C amount=99
and so on.
Please help me to complete the method.
Map<String,Decimal> typeAmonutMap= new Map<String,Decimal>();
for(items__c Item:LineItem){
if(typeAmonutMap.containsKey(Item.Type__c)){
}
typeAmonutMap.put(Item.Type__c,Item.Amount__c);
system.debug('typeAmonutMap====' +typeAmonutMap);
==> // getting type=A Amount=3
type=A amount=4
type=B Amount= 6 type=B Amount=9
type=B amount=3
type=C amount=99
I need to insert above record to the related object like below:
Record1
type=A amount=7 (3+4)
Record2
Type=B Amount=18 (6+9+3)
Record3
Type=C amount=99
and so on.
Please help me to complete the method.
for(items__c Item:LineItem){
If(!typeAmonutMap.containsKey(Item.Type__c)){
typeAmonutMap.put(item.Type__c, item.Amount__c);
}else{
Decimal vl = typeAmonutMap.get(item.Type__c);
vl += item.Amount__c;
typeAmonutMap.put(Item.Type__c,vl);
}
}
It is showing null point exception error
Attempt to de-reference a null object
Please copy the whole code if you do not mind, and look at the debug log to see which line throwing the error. You can just add checking your Type__c / Amount__c, one of these values got empty value.
Map<String,Decimal> typeAmonutMap= new Map<String,Decimal>();
for(items__c Item:LineItem){
Decimal tempvalue = item.Amount__c == null ? 0 : Item.Amount__c;
If(!typeAmonutMap.containsKey(Item.Type__c)){
typeAmonutMap.put(item.Type__c, tempvalue);
}else{
Decimal vl = typeAmonutMap.get(item.Type__c);
vl += tempvalue;
typeAmonutMap.put(Item.Type__c,vl);
}
}