WSPatch
In order to partially update an existing resource, you define the WSPatch attribute.
Syntax
WSPatch
    Usage
You use this attribute to specify the action of the HTTP verb PATCH to partially update an
        existing resource. For instance, when you need to update the full resource, you use WSPut. When you just want to update a
        single field in a resource, you use WSPatch. You set the
          WSPatch attribute in the ATTRIBUTES() clause of the
        function. 
An output message body is not allowed in the response, so returns must be specified as headers with the WSHeader attribute.
Example using WSPatch to push partial resource change
In this sample REST function a user email address is updated. In the function's
          id parameter the attribute WSParam specifies the user to update,
        and the newEmail parameter contains the value to update. The
          newEmail data is passed in the message body in either JSON or XML format. 
A string is returned as a header. It is specified with a WSHeader attribute.
WSThrows is set to handle errors. In the TRY/CATCH block, the sqlca record is checked after
        the execution of the SQL query. The SQLERRMESSAGE is set to the
          message field of the userError variable, and a call to
            SetRestError() returns the message defined in WSThrows
        for the error. 
IMPORT com
PUBLIC DEFINE userError RECORD ATTRIBUTES(WSError = "User error")
  message STRING
END RECORD
PUBLIC FUNCTION UpdateUserProfile(
   id STRING ATTRIBUTE(WSParam), newEmail STRING)
   ATTRIBUTES(WSPatch,
              WSPath = "/users/{id}",
              WSDescription = "Update user email address",
              WSThrows = "400:@UserError,404:no user found")
   RETURNS STRING ATTRIBUTE (WSHeader)
   DEFINE ret STRING
    TRY
      UPDATE users SET email = newEmail
        WHERE @id  = id
       IF sqlca.sqlerrd[3] = 1 THEN # sqlerrd[3] = processed rows
         LET ret = SFMT("Updated user with ID: %1",id)
       ELSE
         CALL com.WebServiceEngine.SetRestError(404,NULL)
       END IF
    CATCH
       LET ret=SFMT("Error updating user with ID: %1",id)     
       LET userError.message = SFMT("SQL error:%1 [%2]",
                                    sqlca.sqlcode, SQLERRMESSAGE)
       CALL com.WebServiceEngine.SetRestError(400,userError)
    END TRY
    RETURN ret
 END FUNCTION