AgileApps Support Wiki Pre Release

Difference between revisions of "UpdateRecord"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 15: Line 15:
:;params:
:;params:
::* The field-value pairs for the object.
::* 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'''
'''Return'''

Revision as of 23:28, 22 May 2013


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

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.

<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 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>