2013-08-22 69 views

回答

4

不能在頂點的方式創建觸發動態清新。由於Apex代碼無法訪問觸發器對象因此,您無法以編程方式創建觸發器。無論如何,我們永遠不需要動態創建觸發器。看看這裏:http://boards.developerforce.com/t5/Apex-Code-Development/Create-Trigger-dynamically/td-p/667868

樣品頂點代碼來創建使用REST標註由工裝API端點的觸發:

 String json = '{ "Name" : "COTrigger", \'+ 
          '"TableEnumOrId" : "Custom_Object__c",'+ 
          '"Body" : "trigger COTrigger on Custom_Object__c (after insert) { // Do Something }" }'; // JSON format to create trigger 

      Httprequest req = new HttpRequest(); 
      req.setEndpoint('https://[salesforce instance].salesforce.com/services/data/v27.0/sobjects/ApexTrigger'); 
      req.setMethod('POST'); 
      req.setHeader('Content-Type':'application/json'); 
      req.setHeader('Authorization':'Bearer: '+sessionId); 
      req.setBody(json); 

     Http httpReq = new HttpReq(); 
     HttpResponse res = httpReq.send(req); 
     System.debug(res.getBody()); 

糾正一些語法錯誤,工裝API基本上是一組對象,組件通過它訪問。試試這個代碼,其實我用這個代碼來創建Apex類而不是Apex觸發器,在這裏我只是改變了端點的主體&,以使它適用於觸發器。如果它不起作用,則意味着從Tooling API創建觸發器仍然不受支持。

閱讀本指南http://www.salesforce.com/us/developer/docs/api_toolingpre/api_tooling.pdf它具有所有有關的工具和API需要又沒複雜的配置做到這一點。您只需要在端點網址REST調出來創建觸發器。指南中提供了端點網址,其中提供了我所鏈接的鏈接。

+0

那只是我的帖子...謝謝 –

+0

你已經有了答案,那就是爲什麼我鏈接到它。 – Ashwani

+0

不......但我想知道,根據我的要求,我該如何使用Tooling API?有人給了我這個鏈接 http://salesforce.stackexchange.com/questions/9603/how-do-i-use-the-tooling-api-to-create-a-new-apex-trigger –