我有一个要求,我想我要使用动态DML。但我是Dynamic Apex和Dynamic DML的新手。
当我使用API调用在Box.com服务器上创建文件夹时,我将收到带有文件夹ID的响应。 (好吧,我能够进行API调用并能够获得文件夹ID)
我在Account对象中有一个名为“FolderID__c”的自定义字段。
所以我必须编写一个方法,它将采用2个参数。一个是objecttype,另一个是folderID,它将在该特定的objectType中执行插入操作。(可能是Account,也许是Contact,它应该是动态的)。< / p>
String IdVar = ApexPages.CurrentPage().getparameters().get('id'); //It will fetch the record ID
String objecttype = IdVar.getSobjectType().getDescribe().getName(); //It will fetch object type from record ID
//By using API call I’m able to get folderID. So I’m having folder ID
public void updateFolderID(String objectType, String folderID){
//To do
}
答案 0 :(得分:0)
您应该使用Type class:
String IdVar = ApexPages.CurrentPage().getparameters().get('id'); //It will fetch the record ID
String objecttype = IdVar.getSobjectType().getDescribe().getName(); //It will fetch object type from record ID
//By using API call I’m able to get folderID. So I’m having folder ID
public void updateFolderID(String objectType, String folderID){
// get type
Type t = Type.forName(objectType);
// instantiate using the type iface
SObject obj = (SObject)t.newInstance();
// set field value (field must exist in the object)
obj.put('FolderID__c',folderID);
insert obj;
}