updateRecord
- Syntax
- <syntaxhighlight lang="java" enclose="div">
Result result = Functions.updateRecord(String objectID, String recordID, Parameters params); </syntaxhighlight>
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.
- Data policy override parameter:
- <syntaxhighlight lang="java" enclose="div">
params.add(PLATFORM.PARAMS.RECORD.DO_NOT_EXEC_DATA_POLICY,"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 to Change Ownership
Use the updateRecord API to change the owner of a record. Behavior of this API is the same as changing Record Owners via the UI.
- <syntaxhighlight lang="java" enclose="div">
Parameters params = Functions.getParametersInstance(); params.add("owner_id","12138534646"); Result result = Functions.updateRecord(requestParams.get("object_id"),requestParams.get("record_id"),params); Functions.debug("Result code and Message:"+result.getCode()+":"+result.getMessage()); </syntaxhighlight>
Example #4: 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", "e5fadf228160483b81ea8d84c71259c9:767645492");
// {library_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>