You need to sign in to do that
Don't have an account?
Dynamic APEX - creating object list at runtime
Hi ,
I have a requirement to add sharing records for all the Account child object. For this i used Describe to get the sharing object for all the Account child objects.
List<Schema.ChildRelationship> childRel = objDef.getChildRelationships();
SO, if i am getting 5 share objects from this, and say 100 child records which needs sharing to be added, how do i create a List for these 5 objects so that i can add these records into the list and use insert.
List<sObject> l = new List<???>();
What should be the correct syntex to create different lists for different objects at runtime. Please suggest.
Thank you!!
looks like you cannot create a dynamic list.
you can run a query or SOSL string to get a list of objects
Hi.
I also came across this problem. Indeed a SOQL or SOSL will return a list of SObject, but a SOQL will throw a QueryException if nothing returns.
Then our List<SObject> will still be null, and it will be impossible to use it.
But a SOSL returning nothing actually instatiates the List:
String searchquery='FIND\'xxx\'IN ALL FIELDS RETURNING '+ objectType +'(name)';List<List<SObject>>searchList=search.query(searchquery);List<SObject> listSkills = searchlist[0];
Then you can use your list and add the object you want.
Cheers
I think this is the one thing missing from dynamic apex - the ability to create SObject or SObject lists.
In the ajax toolkit you can use new sforce.SObject(string type), it seems to me like we need a database.create() method and a database.createList() method in Apex - Either passing in a string or, even better, passing in an SObjectType token. At the moment I have had to create a static createSObject method with lots of if statements that returns different objects depending on what string is passed in - not very nice at all and a pain if I want to add support for additional objects.
Anyone know if there is an idea posted for this functionality?