Update Editable SOV Column Data

PUT /ws/rest/service/v2/projectsovsheet/columns

Available From: 26.10

Purpose

Update eligible editable values for lines in one Base Commit SOV. All lines for that Base Commit SOV are validated before the SOV update is committed. Repeating the same values is idempotent and does not create duplicate effects.

Prerequisites

Ensure you have Update permissions for SOV Services.

Request Format

The request has an options object that identifies the project and Base Commit BP/design, and a data array that identifies one Base Commit record and its target SOV lines.

Field Required? Description
options.project_number Yes Project or shell number
options.base_commit_bpname Yes Supported Base Commit BP/design name
data[].record_no Yes One Base Commit record number
data[].rows[]._refnum Yes SOV line reference number (Ref.)
data[].rows[].bitemid Yes Full hierarchical CBS Code for the SOV line
data[].rows[].<field> As needed Eligible editable DE name and new value

Recommendations

  • Call the retrieval operation before an update to capture the current field names, _refnum, and bitemid values.
  • Send only fields that must change and validate data values against the configured field definitions before calling the API.
  • Use the rest_audit_id from every response in integration logs and troubleshooting records.
  • Plan any Cash Flow impacts separately. The REST update does not perform the UI SOV-to-Cash-Flow synchronization.

Sample Request

{

"options": {

"project_number": "P-0007",

"base_commit_bpname": "Pay Test 4 Contract",

},

}

data": [{

"record_no": "uxpayt41-0006",

"rows": [{"_refnum": 1, "bitemid": "01000~~01700",

"A1": "Test21_AP2", "long_desc": "L1192"}]

}]

}

Response Format

A successful response has status 200. The message array provides the record status and returned line values. A failed validation returns status and record-level details in message. No lines in that Base Commit SOV are updated.

Sample Success Response

{

"data": [],

"message": [{"_record_status": "success", "record_no": "uxpayt41-0006",

"rows": [{"_refnum": 1, "bitemid": "01000~~01700",

"A1": "Test21_AP2", "long_desc": "L1192"}]}],

"status": 200, "rest_audit_id": 170

}

Sample Failed Response

{

"data": [],

"message": [{"_record_status": "Ref. 1 - A1: Maximum length exceeded.",

"record_no": "uxpayt41-0006"}],

"status": 3000, "rest_audit_id": 368

}

Supported Validation Messages and Status Codes

The following validation messages and status codes display in the response when incorrect values are provided in the request.

Use-case Scenario Status Code Message or Result
Missing project number 13001 Project/Shell number is mandatory and is missing in the input request.
Invalid project number 602 Project/Shell Number is not correct.
Inactive, View-Only, or On-Hold project/shell 1245 Create/Update/Delete cannot be performed when project/shell status is Inactive or View-Only or On-Hold.
Missing or invalid request keys 1707 Invalid Input Parameter.
Invalid BP name 603 Business Process Name is not correct.
Unsupported SOV type 11013 Provide a valid Base Commit BP Name of Classic Payment Applications SOV Type.
SOV not found 11011 Could not retrieve SOV Information.
More than one Base Commit record 11014 Only one Base Commit record is supported.
Group by Commit Code 11017 Base Commit SOV Line type Group by commit codes is not supported.
Line or field validation failure 3000 Record status identifies the Ref. line and the invalid field or line-identity issue.
Update privilege not granted 403 Forbidden.