public void InsertSOjects(String sObjectApiName, Map<String, Map<string,string>> keyvalue)
{
Map<String, Map<string,string>> fieldMap = keyvalue;
Schema.SObjectType targetType = Schema.getGlobalDescribe().get(sObjectApiName);
SObject newSobject = targetType.newSObject();
Map<String, Schema.sObjectField> targetFields = targetType.getDescribe().fields.getMap();
system.debug('****targetFields****'+targetFields);
for (String key : fieldMap.keySet())
{
map<string,string> objinnerMap= fieldMap.get(key);
for (String innerkey : objinnerMap.keySet())
{
String value = objinnerMap.get(innerkey);
system.debug('****key****'+key);
system.debug('****value****'+value);
Schema.DisplayType valueType = targetFields.get(key).getDescribe().getType();
string svalue = objinnerMap.get(innerkey);
system.debug('****svalue ****'+svalue );
if (valueType == Schema.DisplayType.Date)
newSobject.put(key, Date.valueOf(svalue));
else if(valueType == Schema.DisplayType.DateTime)
newSobject.put(key, DateTime.valueOfGmt(svalue));
else if (valueType == Schema.DisplayType.Percent || valueType == Schema.DisplayType.Currency)
newSobject.put(key, svalue == '' ? null : Decimal.valueOf(svalue));
else if (valueType == Schema.DisplayType.Double)
newSobject.put(key, svalue == '' ? null : Double.valueOf(svalue));
else if (valueType == Schema.DisplayType.Integer)
newSobject.put(key, Integer.valueOf(svalue));
else if (valueType == Schema.DisplayType.Base64)
newSobject.put(key, Blob.valueOf(svalue));
else if (valueType == Schema.DisplayType.Boolean)
newSobject.put(key, boolean.valueOf(svalue));
else if (valueType == Schema.DisplayType.String)
newSobject.put(key, string.valueOf(svalue));
else
newSobject.put(key, svalue);
}
}
system.debug('****newSobject****'+newSobject);
insert newSobject;
}
{
Map<String, Map<string,string>> fieldMap = keyvalue;
Schema.SObjectType targetType = Schema.getGlobalDescribe().get(sObjectApiName);
SObject newSobject = targetType.newSObject();
Map<String, Schema.sObjectField> targetFields = targetType.getDescribe().fields.getMap();
system.debug('****targetFields****'+targetFields);
for (String key : fieldMap.keySet())
{
map<string,string> objinnerMap= fieldMap.get(key);
for (String innerkey : objinnerMap.keySet())
{
String value = objinnerMap.get(innerkey);
system.debug('****key****'+key);
system.debug('****value****'+value);
Schema.DisplayType valueType = targetFields.get(key).getDescribe().getType();
string svalue = objinnerMap.get(innerkey);
system.debug('****svalue ****'+svalue );
if (valueType == Schema.DisplayType.Date)
newSobject.put(key, Date.valueOf(svalue));
else if(valueType == Schema.DisplayType.DateTime)
newSobject.put(key, DateTime.valueOfGmt(svalue));
else if (valueType == Schema.DisplayType.Percent || valueType == Schema.DisplayType.Currency)
newSobject.put(key, svalue == '' ? null : Decimal.valueOf(svalue));
else if (valueType == Schema.DisplayType.Double)
newSobject.put(key, svalue == '' ? null : Double.valueOf(svalue));
else if (valueType == Schema.DisplayType.Integer)
newSobject.put(key, Integer.valueOf(svalue));
else if (valueType == Schema.DisplayType.Base64)
newSobject.put(key, Blob.valueOf(svalue));
else if (valueType == Schema.DisplayType.Boolean)
newSobject.put(key, boolean.valueOf(svalue));
else if (valueType == Schema.DisplayType.String)
newSobject.put(key, string.valueOf(svalue));
else
newSobject.put(key, svalue);
}
}
system.debug('****newSobject****'+newSobject);
insert newSobject;
}
No comments:
Post a Comment