Difference between revisions of "UpdateRecord"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 78: Line 78:
String bookID = "117645552"
String bookID = "117645552"
params.add("title", "Another Good Book");  
params.add("title", "Another Good Book");  
params.add("libraryBook", "TownLibrary:767645492");
params.add("libraryBook", "9978946545:767645492");
                    //  {object_name}:{record_id}
                      //  {object_id}:{record_id}
Result result = Functions.updateRecord("Books", bookID, params);  
Result result = Functions.updateRecord("Books", bookID, params);  
int resultCode = result.getCode();
int resultCode = result.getCode();

Revision as of 16:47, 27 September 2011


Syntax
Result result = Functions.updateRecord(String objectID, String recordID, Parameters params);

Parameters

objectID
The identifier of the object
recordID
The identifier of the record to update.
  • Use the searchRecords API to retrieve the record ID
  • An error is returned if the record is not found.
params
  • The field-value pairs for the object.
  • Turn off data policies that might otherwise fire as a result of this action:
params.add(PLATFORM.PARAMS.RECORD.DO_NOT_EXEC_DATA_POLICY,"1");
  • Pass file parameters in the current request to any subsequent API calls made in a data policy defined on this object:
params.add(PLATFORM.PARAMS.RECORD.ENABLE_MULTIPART,"1");

Return

Result object

Example #1: Update an Account Record

This example creates an instance of Parameters and adds name-values pairs to it. The code then calls updateRecord, assigning the returned value to an instance of Result and calling Result.getCode() to assign the error code to a variable which is then conditionally checked to determine the code to execute. If the call was not successful, the code calls throwError to display an error dialog.

Parameters params = Functions.getParametersInstance();
String accountID = "";
// Some logic to populate accountID variable.
params.add("name", "Acme Solutions");
params.add("number", "GRG2323339");
Result result = Functions.updateRecord("ACCOUNT", accountID, params);
int resultCode = result.getCode();
if(resultCode < 0)
{
    // Some error happened.
    String msg = "Account could not be updated";
    Functions.debug(msg + ":\n" + result.getMessage());  // Log details
    Functions.throwError(msg + ".");                     // Error dialog
}
else 
{
    // Take other actions after successful addition of the account.
}

Example #2: Update a "Related To" Field in an Opportunity Record

This example gets needed details to update the Opportunity object's Related To field. In order to update opportunity object's Related to field to be Account or Prospect, you need to use both of these fields: related_to_id and related_to_type

//Retrieve the record ID of the ACCOUNT that you want to relate to the current opportunity
String accountID = "";

//Use either requestParams or functionParams to retrieve the record_id of the Opportunity record to update
String opportunityID = "";

//Create an instance of the Paramters object to hold the key-value pairs to update the record with
Parameters oppParams = Functions.getParametersInstance();

oppParams.add("related_to_id", accountID);
oppParams.add("related_to_type", "ACCOUNT");  
Result opportunityUpdateResult = Functions.updateRecord("OPPORTUNITY_v2", opportunityID, oppParams);
Functions.debug("Result from opportunity update: " + opportunityUpdateResult.getMessage());

Example #3: Update a Record with a Multi Object Lookup field

This example uses the same fields and record IDs as those shown when adding a record with a multiobject lookup field.

Parameters params = Functions.getParametersInstance();
String bookID = "117645552"
params.add("title", "Another Good Book"); 
params.add("libraryBook", "9978946545:767645492");
                      //  {object_id}:{record_id}
Result result = Functions.updateRecord("Books", bookID, params); 
int resultCode = result.getCode();
if(resultCode < 0)
{
    // Some error happened.
    String msg = "Book record could not be updated";
    Functions.debug(msg + ":\n" + result.getMessage());  // Log details
    Functions.throwError(msg + ".");                     // Error dialog
}
else
{
    // Successful update. Take other actions, as needed.
}