You need to sign in to do that
Don't have an account?
SFDC16
How to assign user id while inserting record
Hello,
Requirement:
Assign user id while inserting a new record.
I am getting the username from the response and comparing username with salesforce user if is it exists then assign while inserting a new record in a custom object in custom object userid is a lookup of the user object
XML file response example:
<userinfo>
<userid>1233</userid>
<name> ram patil</name>
<Domain>xyz</Domain>
<userInfo>
Below is my code :
global class BmcrfgettassetDetails implements Database.Batchable < sObject >,Database.AllowsCallouts {
global Database.QueryLocator start(Database.BatchableContext BC)
{
String query = 'Select id ,name from BMCServiceDesk__BMC_BaseElement__c';
System.debug('Inside start methode');
return Database.getQueryLocator(query);
}
global void execute(Database.BatchableContext BC, List< BMCServiceDesk__BMC_BaseElement__c> accList)
{
if(accList.size()>0)
{
System.debug('accListaccList--->'+accList);
String Username = 'xyz';
String Password = 'xyz';
HttpRequest req = new HttpRequest();
req.setMethod('GET');
req.setHeader('content-type','text/xml');
req.setHeader('SOAPAction','xyz');
req.setEndpoint('xyz');
String body = 'xyz';
req.setBody(body);
Http http = new Http();
HTTPResponse res = new HTTPResponse();
res = http.send(req);
String responseBody=res.getBody();
System.debug('Response='+responseBody);
if(res.getStatusCode()==200)
{
list<user> usernames=[Select id,username from user];
list<BMCServiceDesk__CMDB_Class__c> listclass=[SELECT Id, Name,BMCServiceDesk__ClassName__c FROM BMCServiceDesk__CMDB_Class__c];
List<BMCServiceDesk__BMC_BaseElement__c> newaccount=new List<BMCServiceDesk__BMC_BaseElement__c>();
System.debug('Inside If Condition');
Dom.Document docx = new Dom.Document();
docx.load(responseBody);
Dom.XmlNode root = docx.getRootElement();
Dom.XmlNode[] childElements = root.getChildElements();
for(Dom.XmlNode child : childElements)
{
if(child.getName()=='body')
{
Dom.XmlNode GetAssetDetailsResponse = child.getChildElement('GetAssetDetailsResponse','http://tempuri.org/');
Dom.XmlNode GetAssetDetailsResult = GetAssetDetailsResponse.getChildElement('GetAssetDetailsResult','http://tempuri.org/');
Dom.XmlNode Customers = GetAssetDetailsResult.getChildElement('Root','');
system.debug('Customers------>'+Customers);
Dom.XmlNode[] Customer=Customers.getChildElements();
system.debug('Customer------->'+Customer);
Integer count=0;
for(Dom.XmlNode cust : Customer)
{
if(cust.getName()=='UserInfo')
{
System.debug('Userinfo------');
if(count>0)
{
Dom.XmlNode[] custasset=cust.getChildElements();
for(Dom.XmlNode c:custasset)
{
String assetId;
String resourcename;
String userinfo;
String classtype;
String referenceID;
String userid;
String classid;
if(C.getName()=='NAME')
{
userinfo=c.getText();
System.debug('userinfo---->'+userinfo);
}
if(c.getName()=='ResourceInfo')
{
Dom.XmlNode[] resourceInfochild=c.getChildElements();
for(Dom.XmlNode d:resourceInfochild)
{
System.debug('D------>'+d);
if(d.getName()=='RESOURCENAME')
{
resourcename=d.getText();
System.debug('resourcename---->'+resourcename);
}
if(d.getName()=='TYPENAME')
{
classtype=d.getText();
System.debug('classtype----->'+classtype);
}
if(d.getName()=='RESOURCEID')
{
referenceID=d.getName();
System.debug('referenceID------>'+referenceID);
}
}
}
for(User usID : usernames)
{
System.debug('usID----->'+usID);
if(usID.username==userinfo)
userid=usId.id;
}
/*for(BMCServiceDesk__CMDB_Class__c cmdbclass : listclass)
{
if(cmdbclass.BMCServiceDesk__ClassName__c==RESOURCENAME)
classid=cmdbclass.id;
}*/
System.debug('userid---->'+userid);
if(resourcename!=null)
{
BMCServiceDesk__BMC_BaseElement__c c1=new BMCServiceDesk__BMC_BaseElement__c();
c1.BMCServiceDesk__Name__c=resourcename;
c1.BMCServiceDesk__PrimaryClient__c=userId; // Assign user
c1.BMCServiceDesk__CMDB_Class__c='a2Z1X000000Qt1uUAC';
newaccount.add(c1);
System.debug('listassets---->'+newaccount);
System.debug('listassets size()---->'+newaccount.size());
}
}
System.debug('custasset---->'+custasset);
}
count++;
}
}
}
}
if(newaccount.size()>0)
{
Database.upsert(newaccount);
}
}
}
}
global void finish(Database.BatchableContext BC)
{
System.debug('xyz');
}
}
Regards,
SFDC16
Requirement:
Assign user id while inserting a new record.
I am getting the username from the response and comparing username with salesforce user if is it exists then assign while inserting a new record in a custom object in custom object userid is a lookup of the user object
XML file response example:
<userinfo>
<userid>1233</userid>
<name> ram patil</name>
<Domain>xyz</Domain>
<userInfo>
Below is my code :
global class BmcrfgettassetDetails implements Database.Batchable < sObject >,Database.AllowsCallouts {
global Database.QueryLocator start(Database.BatchableContext BC)
{
String query = 'Select id ,name from BMCServiceDesk__BMC_BaseElement__c';
System.debug('Inside start methode');
return Database.getQueryLocator(query);
}
global void execute(Database.BatchableContext BC, List< BMCServiceDesk__BMC_BaseElement__c> accList)
{
if(accList.size()>0)
{
System.debug('accListaccList--->'+accList);
String Username = 'xyz';
String Password = 'xyz';
HttpRequest req = new HttpRequest();
req.setMethod('GET');
req.setHeader('content-type','text/xml');
req.setHeader('SOAPAction','xyz');
req.setEndpoint('xyz');
String body = 'xyz';
req.setBody(body);
Http http = new Http();
HTTPResponse res = new HTTPResponse();
res = http.send(req);
String responseBody=res.getBody();
System.debug('Response='+responseBody);
if(res.getStatusCode()==200)
{
list<user> usernames=[Select id,username from user];
list<BMCServiceDesk__CMDB_Class__c> listclass=[SELECT Id, Name,BMCServiceDesk__ClassName__c FROM BMCServiceDesk__CMDB_Class__c];
List<BMCServiceDesk__BMC_BaseElement__c> newaccount=new List<BMCServiceDesk__BMC_BaseElement__c>();
System.debug('Inside If Condition');
Dom.Document docx = new Dom.Document();
docx.load(responseBody);
Dom.XmlNode root = docx.getRootElement();
Dom.XmlNode[] childElements = root.getChildElements();
for(Dom.XmlNode child : childElements)
{
if(child.getName()=='body')
{
Dom.XmlNode GetAssetDetailsResponse = child.getChildElement('GetAssetDetailsResponse','http://tempuri.org/');
Dom.XmlNode GetAssetDetailsResult = GetAssetDetailsResponse.getChildElement('GetAssetDetailsResult','http://tempuri.org/');
Dom.XmlNode Customers = GetAssetDetailsResult.getChildElement('Root','');
system.debug('Customers------>'+Customers);
Dom.XmlNode[] Customer=Customers.getChildElements();
system.debug('Customer------->'+Customer);
Integer count=0;
for(Dom.XmlNode cust : Customer)
{
if(cust.getName()=='UserInfo')
{
System.debug('Userinfo------');
if(count>0)
{
Dom.XmlNode[] custasset=cust.getChildElements();
for(Dom.XmlNode c:custasset)
{
String assetId;
String resourcename;
String userinfo;
String classtype;
String referenceID;
String userid;
String classid;
if(C.getName()=='NAME')
{
userinfo=c.getText();
System.debug('userinfo---->'+userinfo);
}
if(c.getName()=='ResourceInfo')
{
Dom.XmlNode[] resourceInfochild=c.getChildElements();
for(Dom.XmlNode d:resourceInfochild)
{
System.debug('D------>'+d);
if(d.getName()=='RESOURCENAME')
{
resourcename=d.getText();
System.debug('resourcename---->'+resourcename);
}
if(d.getName()=='TYPENAME')
{
classtype=d.getText();
System.debug('classtype----->'+classtype);
}
if(d.getName()=='RESOURCEID')
{
referenceID=d.getName();
System.debug('referenceID------>'+referenceID);
}
}
}
for(User usID : usernames)
{
System.debug('usID----->'+usID);
if(usID.username==userinfo)
userid=usId.id;
}
/*for(BMCServiceDesk__CMDB_Class__c cmdbclass : listclass)
{
if(cmdbclass.BMCServiceDesk__ClassName__c==RESOURCENAME)
classid=cmdbclass.id;
}*/
System.debug('userid---->'+userid);
if(resourcename!=null)
{
BMCServiceDesk__BMC_BaseElement__c c1=new BMCServiceDesk__BMC_BaseElement__c();
c1.BMCServiceDesk__Name__c=resourcename;
c1.BMCServiceDesk__PrimaryClient__c=userId; // Assign user
c1.BMCServiceDesk__CMDB_Class__c='a2Z1X000000Qt1uUAC';
newaccount.add(c1);
System.debug('listassets---->'+newaccount);
System.debug('listassets size()---->'+newaccount.size());
}
}
System.debug('custasset---->'+custasset);
}
count++;
}
}
}
}
if(newaccount.size()>0)
{
Database.upsert(newaccount);
}
}
}
}
global void finish(Database.BatchableContext BC)
{
System.debug('xyz');
}
}
Regards,
SFDC16