You need to sign in to do that
Don't have an account?
ab d
Can you Please Help me am getting Query Exception as colon(:) un Excepted token
Public Class DynamicController {
@AuraEnabled
Public static List<Sobject> getDynamicValues (String recId , Sobject SobjctNme){
// String recorId = recId ;
String SobjectNme = String.valueOf(SobjctNme) ;
// Public List<String> accessibleFields = getFieldsList(SobjctNme) ;
if(!SobjectNme.endsWith('__c')){
SobjectNme += 'Share' ;
}
else {
SobjectNme = SobjectNme.removeEnd('__c') +'__Share' ;
}
String theQuery = 'SELECT ' + joinList(getFieldsList(SobjctNme) , ', ') +
' FROM ' + SobjectNme +
' WHERE Id = :recId';
return(Database.query(theQuery));
}
Private static List<String> getFieldsList(Sobject SobjectNme){
Map<String, Schema.SobjectField> fields = SobjectNme.getSObjectType().getDescribe().fields.getMap();
List<String > accessibleFields = new List<String>() ;
for (String s : fields.keySet()) {
if ( (fields.get(s).getDescribe().isAccessible())) {
accessibleFields.add(s);
}
}
return accessibleFields ;
}
// Join an Apex List of fields into a SELECT fields list string
private static String joinList(List<String> theList, String separator) {
if (theList == null) { return null; }
if (separator == null) { separator = ''; }
String joined = '';
Boolean firstItem = true;
for (String item : theList) {
if(null != item) {
if(firstItem){ firstItem = false; }
else { joined += separator; }
joined += item;
}
}
return joined;
}
}
Please Help Me...
@AuraEnabled
Public static List<Sobject> getDynamicValues (String recId , Sobject SobjctNme){
// String recorId = recId ;
String SobjectNme = String.valueOf(SobjctNme) ;
// Public List<String> accessibleFields = getFieldsList(SobjctNme) ;
if(!SobjectNme.endsWith('__c')){
SobjectNme += 'Share' ;
}
else {
SobjectNme = SobjectNme.removeEnd('__c') +'__Share' ;
}
String theQuery = 'SELECT ' + joinList(getFieldsList(SobjctNme) , ', ') +
' FROM ' + SobjectNme +
' WHERE Id = :recId';
return(Database.query(theQuery));
}
Private static List<String> getFieldsList(Sobject SobjectNme){
Map<String, Schema.SobjectField> fields = SobjectNme.getSObjectType().getDescribe().fields.getMap();
List<String > accessibleFields = new List<String>() ;
for (String s : fields.keySet()) {
if ( (fields.get(s).getDescribe().isAccessible())) {
accessibleFields.add(s);
}
}
return accessibleFields ;
}
// Join an Apex List of fields into a SELECT fields list string
private static String joinList(List<String> theList, String separator) {
if (theList == null) { return null; }
if (separator == null) { separator = ''; }
String joined = '';
Boolean firstItem = true;
for (String item : theList) {
if(null != item) {
if(firstItem){ firstItem = false; }
else { joined += separator; }
joined += item;
}
}
return joined;
}
}
Please Help Me...
Example: if account is SobjectNme present Id is accountshare id ,
but I want to replace with account Id field in query dynamically based on the object Name coming from component.
String theQuery = 'SELECT ' + joinList(getFieldsList(SobjctNme) , ', ') +
' FROM ' + SobjectNme +
' WHERE Id = ' + recId;