The EWUpdate REST operation updates the specified record and returns the final, updated contents of the record as encoded data.

In place of the usual ID parameter, you can use $searchSQL to identify the record to update, provided that the search returns exactly one record and no more. For example, if you have a unique ext_id field in , you can update a single record that has ext_id='a0B2c345' using &$searchSQL=ext_id='a0B2c345' in the URL.

If a record is locked, you can force a record update in two different ways using the &$operationHints=NOLOCK parameter:

Example

Let's build upon the record created in the REST - Create example, on an instance of that is available on localhost, port 8080 with a KB called Demo. This example code updates that record by linking that employee to an opportunity record for company .

This operation was separated from the Create example for illustrative purposes only. The same criteria could have been supplied in the create request.

The following needs to be considered:

The following request is issued: 

https://localhost:8080/ewws/EWUpdate?$KB=Demo&$table=contacts.employees&$login=admin&$password=qwerty&$lang=en&id=358&_1576_company_name0=:IBM

The following result is returned, when the record is successfully updated:

EWREST_full_name='John Doe';
EWREST__1576_company_name0='IBM';
EWREST_f_group_0='Service Manager';
EWREST_id='358';
EWREST__106_sw_description='Service Management Team';
EWREST__login='jdoe';
EWREST_date_updated='Dec 27 2017 04:40:24';
EWREST_type='employees';
EWREST_date_created='Dec 27 2017 04:34:38';
EWREST_rep_email='example23@example.com';
EWREST_default_approval_title='Document Approval';
EWREST_last_name='Doe';

JavaScript Example

Here is an example of a JavaScript-based client that invokes the REST interface via AJAX: 

function xmlhttpGet (strURL) {
        var xmlHttpReq=false;
        var self=this;
        // Mozilla/Safari
        if (window.XMLHttpRequest) {
            try {
                netscape.security.PrivilegeManager.
enablePrivilege("UniversalBrowserRead");
            } catch (e) {
                alert("Permission UniversalBrowserRead denied.");
            }
            self.xmlHttpReq=new XMLHttpRequest();
        }// IE
        else if (window.ActiveXObject) {
            self.xmlHttpReq=new ActiveXObject("Microsoft.xmlHTTP");
        }
        self.xmlHttpReq.open('GET', strURL, true);
        self.xmlHttpReq.onreadystatechange=requestComplete;
        self.xmlHttpReq.send(null);
    }
    function requestComplete() {
        if (xmlHttpReq.readyState==4||xmlHttpReq.readyState=="complete") {
            alert ("Update completed");
        }
    }
    function main() {
        xmlhttpGet('https://localhost:8080/ewws/EWUpdate?$KB=Demo&$table=contacts.employees&$login=admin&$password=qwerty&$lang=en&id=358&_1576_company_name0=:IBM');
    }

Related articles