如何动态更新对象中的folderID

时间:2013-11-25 08:47:51

标签: salesforce apex-code

我有一个要求,我想我要使用动态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
}

1 个答案:

答案 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;
}