Service Request ticket split – how to bring the selected service request item to new custom UI
My series of Cloud Application Studio Blogs
- How to detect EditMode in an Embedded Component
- Step by step to enable your custom BO with attachment upload functionality
- Step by step to create an Adobe Print form in Cloud application Studio
- How to render PDF which displays picture from the image attachment of your custom BO
- How to get current logged on business user’s employee information and assigned organization unit via ABSL
- How to implement dynamic access control based on custom BO using OWL
- How to make Code List Restriction work when control field and restricted field are not on the same BO
- How to implement custom number range using custom business object
- Two approaches to create Code List in Cloud Studio
- Create Dynamic Code List via Custom Business Object Association
- Step by step to develop Thing Type based navigation and BO Object based navigation
- Put Extension field into embedded component and make it visible in Standard UI
- One possible cause that embedded component fails to display in UI
- Step by step to create HTML Mashup and make it visible in UI
- Step by step to enable Text Collection for your custom BO
- Automatically send an Email notification to line manager via Workflow in Account application
- Step by step to create Object Value Selector in Cloud Application Studio
- Two approaches to fill an UI field with dedicated logic implemented in Cloud Application Studio
- How to execute BO action on multiple selected BO instances in AdvancedListPane
- How to add custom validation logic on mobile phone field in Contact TI
- An example about how I analyze why some OBN button does not work
- Step by step to create OBN button which navigates from standard UI to custom UI
- Service Request ticket split – how to bring the selected service request item to new custom UI
This question is asked by a partner. The requirement is that suppose end user has selected several items, and it is expected that new service request could be created based on those chosen items in new custom UI.
One possible solution is described in this blog.
1. Create a new OBN button by following the step in this blog: Step by step to create OBN button which navigates from standard UI to custom UI.
Once this OBN button is pressed, the new custom UI for Service Request creation is expect to show.
2. Create a new extension field in item node and expose it to item table:
The example below means user plans to create new Service request based on Line item 10 and 30.
3. Develop the Service Request creation UI. Use an AdvancedListPane to display all line item selected from the line item table in standard Service Request TI page.
Hide the standard Save button and create a new button to implement the creation of new Service Request.
The key here is to only display those selected line item from standard TI page. In order to achieve it, create a new SADL query and mark the extension field created in previous step as Selection field.
And then create a default set for this SADL query, and hard code the select parameter for extension field ext_selected which indicates whether the current item has been selected by end user as value “true”.
Assign this default set to Advanced List Pane, so that as soon as the QC view is opened, only line item whose extension field value equals to “true” will be queried from DB and displayed.
Once the new ticket creation is finished, make sure to clean up the selected status by setting the value of extension field to false. This cleanup task is done in implementation of action which is bound to “Split Ticket” button in QC view.
The selected line item are now displayed in new QC view as expected.
Limitation of this solution
The drawback of this solution is quite apparent:
1. The display of selected line item in custom new is done by filtering with the help of SADL query, which could only fetch line item whose extension field value equals to true in DB. This limitation can lead to a problem that for example end user has selected the first line item but forget to press save button first. As a result when user clicks the OBN button, there will be no item displayed in new QC view.
2. Suppose end user has opened service request 3629 and select some line item. But user does not click OBN button for new ticket creation.
Instead, user opens another service 3630 request and directly presses the OBN button:
This time the line items belonging to previous service request 3629 are fetched by SADL query, which is not expected by us. This behavior is caused by the fact that I cannot specify the current service request ID as one of SADL query parameters. I will update if I have better solution.