updateRecord
- Syntax
- <syntaxhighlight lang="java" enclose="div">
Result result = Functions.updateRecord(String objectName, String recordID, Parameters params); </syntaxhighlight>
Parameters
- objectName
- 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:
- <syntaxhighlight lang="java" enclose="div">
params.add(PLATFORM.PARAMS.RECORD.DO_NOT_EXEC_DATA_POLICY,"1"); </syntaxhighlight>
- Pass file parameters in the current request to any subsequent API calls made in a data policy defined on this object:
- <syntaxhighlight lang="java" enclose="div">
params.add(PLATFORM.PARAMS.RECORD.ENABLE_MULTIPART,"1"); </syntaxhighlight>
Return
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.
- <syntaxhighlight lang="java" enclose="div">
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.
} </syntaxhighlight>
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
- <syntaxhighlight lang="java" enclose="div">
//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());
</syntaxhighlight>
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.
- <syntaxhighlight lang="java" enclose="div">
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.
} </syntaxhighlight>