PUT /ws/rest/service/v1/bp/record/{project_number}
Purpose:
Update record in a specific BP in a shell based on shell number or from Company level if project/shell number is not provided. The input JSON provides various options to be considered for fetching the data.
Input:
All parameters should be URL encoded.
Path Parameter
project_number: Specify the Project number in which the records exists, if not provided then records are considered to be from Company Level.
PUT
{
"options":{
"bpname":"line6",
"LineItemIdentifier":"upwoLISAS",
"workflow_details" :
{
"WFCurrentStepName":"Step 4",
"WFActionName":"Line 3",
}
},
"data": [
{
"ugenUserIDPK":null,
"_bp_lineitems":
[
{
"ugenShellPK":"/AP1",
"uuu_tab_id":"Standard",
"short_desc":"desc3_m11",
"upwoLISAS":"0001",
"uuu_line_item_status":"Active"
}
],
"record_no":"uxli6-0020",
"title":"new title"
}
]
}
Notes:
- Auto-Creation setting is mandatory in Shell or Company BP Setup in Admin mode.
- The "record_no" is mandatory and is part of data.
- The "bpname" is mandatory and is part of options form parameter.
- The WFCurrentStepName and WFActionName are part of the "workflow_details" and are for Workflow-type BPs. If the values for the WFCurrentStepName and WFActionName are provided, then the record will be updated and sent to the next step of the workflow. If the values for the WFCurrentStepName and WFActionName are not provided, then the record will be updated but will remain in same workflow step.
- The LineItemIdentifier is a part of options form parameter. The LineItemIdentifier value will be the DE name present in the lineItem. The DE name present in the lineItem should be present in the "data" (input record json) with its value.
Steps to add LineItemIdentifier in the BP design:
- Create a custom DE with DD: Sys Auto Sequence.
- Add this DE to the Detail Form of the BP with the line items that need to be updated.
- Navigate to the Company Workspace > Admin mode > Business Processes and open the BP.
- Click Open drop-down to open and select Data Elements to open the Data Elements Configuration window.
- Click the Auto Sequence tab and click Add.
- Select the data element added in the Detail Form and select the level as: Per Record.
- Provide the start value and click Create.
- Add the parameter "Sys Sequence counter" and click OK.
- Add the DE to Integration > Detail.
- Set the "Direction" to "Both" for that DE.
- Complete and deploy the BP.
- In the body of the request, add the DE name as Lineitem identifier and send the request.
Delete the Line-Item, using Update Request:
To delete the line-Item using update request, the field "_delete_line_item" should be used (value of which will be comma separated values of LineItemIdentifier DE) as shown in the following example:
Sample: Delete line-item input
{
"options": {
"bpname":"line6",
"LineItemIdentifier":"upwoLISAS"
},
"data": [
{
"ugenUserIDPK":null,
"_delete_bp_lineitems":"0002,0001,0003",
"record_no":"uxli6-0021",
"title":"title_m112244"
}
]
}
Note: PUT call has input & output, both as JSON in the body.
Output:
JSON object containing 'status', 'data', 'message'
A message will be present if status is not 200 .
Status codes are:
1>200 OK, if all update succeeds .
2>3000, if any of records update fails.
Update BP Sample Response
{
"data": [],
"message": [
{
"_record_status": "success",
"record": {
"ugenUserIDPK": null,
"record_no": "uxli6-0021",
"title": "title_m112244"
}
}
],
"status": 200
}
An Integration user can modify the Fund Code for an existing record line items, by using UpdateBPRecord
call.
A Unifier user can see the Fund Code for an existing record line items being updated and the line item amount is rolled up to the Fund Sheet, based on updated Fund Code.
Additional Information:
The "record_no" is mandatory, and it is a part of data for the UpdateBPRecord
call.
The "bpname" is mandatory, and it is a part of options form parameter.
The "WFCurrentStepName" and "WFActionName" are part of the "workflow_details," and they are for Workflow type BPs.
If the values for "WFCurrentStepName" and "WFActionName" are provided, then the record will be updated and sent to the next step of workflow.
If the values for "WFCurrentStepName" and "WFActionName" are not provided, then the record will be updated but will remain in the same workflow step.
The "LineItemIdentifier" is a part of options form parameter. The "LineItemIdentifier" value will be the DE name that is present in the "lineItem." The DE is present in the "data" (input record json) along with its value.
In the "_bp_lineitems" section, if "row_id" is modified along with other attributes, then update the Fund Code for the line item in the "data" (with the "Lineitemidentifier" specified).
Any auto-populate DEs that are based on the "row_id" (Fund Code) will be populated by means of the update.
Formulas based on auto-populate DES will be evaluated in the line item.
When a record is routed to next step for workflow BPs, if the "work_flow" details are specified, then verify that in the Fund sheet the line item amount is rolled up to the modified Fund Code.
The rules that are based on the Fund Code will be evaluated when routing the record through the "UpdateBPRecord" call.
For non-workflow Fund BP, if in the input request the status is specified along with the Fund Code in the line item, upon successful request the existing line item will be updated with the specified Fund Code, and the Fund Sheet will show the line item amount against the modified Fund Code.
Note: For the line item with both Fund Code and CBS Code BPs, only the Fund Code for the existing line items can be modified, by using the "UpdateBPRecord" call.
Data Elements in Line Items
If the following Data Elements are present in the Line Items, they will not be updated during UpdateRecordV2 call.
bitemid
budgetid
sovitemid
uuu_cm0_picker
xid
ds_code
fsm_lineitem_id
asm_lineitem_id
uuu_lat
uuu_long
uuu_company_account_name
uuu_company_account_code
uuu_company_acc_codepicker
uuu_activity_picker
uuu_asset_picker
ref_bpo_lineitem
ref_bpo
ref_rfb
refid
uuu_sovlinum
otherCompanyID
uuu_costcode_picker
scheduled_value
uuu_asset_cum_depreciation
uuu_asset_curr_period_dep
uuu_asset_net_book_value
uuu_unit_price
currencyid
due_date
uuu_asset_calc_as_of_date
uuu_from_date
uuu_issue_date
uuu_last_update_date
uuu_rfb_due_date
uuu_to_date
uuu_week_picker
uuu_datasource
uuu_depreciation_mtd
uuu_line_item_status
row_id
uuu_bid_count
uuu_bidders_count
uuu_planning_item_picker
uuu_proj_picker
record_no
uuu_resc_picker
uuu_role_picker
uuu_commit_short_desc
end_date
uuu_creation_date
uuu_asset_name
uuu_commit_breakdown
uuu_asset_code
uuu_asset_navigation_code
uuu_timescale_units
creator_id
wpid
uuu_cost_costattribute
uuu_cost_external_refid
uuu_cost_status
uuu_cost_cost_type
uuu_cost_description
uuu_cost_item
uuu_cost_owner
uuu_cost_code
uuu_dm_create_date
uuu_file_create_date
uuu_file_issue_date
uuu_dm_percent_complete
uuu_file_size
uuu_file_version
uuu_dm_description
uuu_dm_node_path
uuu_dm_node_name
uuu_file_revision_no
uuu_file_title
uuu_dm_create_by
uuu_file_create_by
uuu_fund_fundcategory
uuu_fund_long_desc
uuu_fund_description
uuu_fund_fundname
uuu_fund_code
uuu_description
uuu_resc_nwd_type
uuu_resc_interest
uuu_resc_proficiency
uuu_resc_skill
uuu_role_status
uuu_role_name
uuu_resc_capacity
uuu_user_address
uuu_user_city
uuu_user_country
uuu_user_email
uuu_user_fax
uuu_user_firstname
uuu_user_homephone
uuu_user_lastname
uuu_user_mobilephone
uuu_user_pager
uuu_user_state
uuu_user_timezone
uuu_user_title
uuu_user_workphone
uuu_user_zip
uuu_resc_status
uuu_resc_code
uuu_resc_name
uuu_early_finish
uuu_early_start,uuu_finish
uuu_late_finish
uuu_late_start
uuu_start
uuu_act_pct_complete
uuu_activity_work_hrs
uuu_duration
uuu_fixed_cost
uuu_float
uuu_labor_cost
uuu_non_labor_cost
uuu_total_cost
uuu_activity_id
uuu_flag_complete
uuu_flag_milestone
uuu_activity_resources
uuu_dependency_type
uuu_activity_name
uuu_outline_code
uuu_cost_li_type