2012-05-31 42 views
0

我是在salesforce.com的APEX中編寫代碼的新手。我有一個包含10個字段的對象'UnProc',它是'人口'。我還有兩個對象('帳號和聯繫人'),每個對象有5個字段,這些對象必須填充。我必須使用批次頂點和調度程序編寫APEX代碼,以便我可以爲「帳戶」和「聯繫人」羚客創建新記錄,這些記錄已經存在於'UnProc'中。帳戶和聯繫人字段填入UnProc記錄後。 UnProc記錄必須被刪除。用於記錄創建和修改的頂點代碼

我已經閱讀了salesforce.com上的批量頂點和調度程序相關文檔,並且已經理解併爲他們創建了類結構。我堅持的地方是記錄檢索,創建東西等數據庫是我的弱點,這就是爲什麼我不能通過它。 Pououdo代碼或一些代碼行可能很有用。

回答

2

通常使用SOQL從Apex代碼中的數據庫中檢索記錄。基本語法概述爲here

記錄從數據庫中檢索並作爲sObject發送回數據庫,它們本質上是一組字段。一個SOQL查詢通常會返回sObjects的列表,像這樣:

list<UnProc__c> unProcs = [select accountField1__c, accountField2__c, ... contactField1__c, contactField2__c, ... contactField5__c from UnProc__c]; 

一旦檢索這些記錄,您可以通過簡單地創建客戶和聯繫人sObjects列表創建新的客戶和聯繫人記錄,從填充他們的田地在UnProc對象,然後將它們提交到數據庫,像這樣:

list<Account> accs = new list<Account>(); 
list<Contact> cons = new list<Contact>(); 
Account acc; 
Contact con; 
for(UnProc__c up : unProcs) { 
    acc = new Account(); 
    con = new Contact(); 
    acc.field1 = up.accountField1; 
    acc.field2 = up.accountField2; 
    ... 
    con.field1 = up.contactField1; 
    con.field2 = up.contactField2; 
    ... 
    con.field5 = up.contactField5; 
    accs.add(acc); 
    cons.add(con); 
} 
database.insert(accs); 
database.insert(cons); 

心尖,你應該檢索並提交到數據庫中的記錄集,而不是單獨的,因爲是有限制的多少查詢,並提交你可以在單個執行上下文中運行。