CRM and CX Blogs by SAP
Stay up-to-date on the latest developments and product news about intelligent customer experience and CRM technologies through blog posts from SAP experts.
cancel
Showing results for 
Search instead for 
Did you mean: 
JerryWang
Product and Topic Expert
Product and Topic Expert
2,033

My series of Cloud Application Studio Blogs




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.



Final achievement




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.