Any coding or configuration examples provided in this document are only examples and are NOT intended for use in a productive system. The example is only done to better explain and visualize the topic.
The objective of this blog is to explain how can we extend Utilities Service Order facet in Premise TI. The blog will explain how to add more details to Service Order list as well as
ISU transaction Link (You can configure FOP - Front Office Process Link as well like this) which can open the current Service Order in the Edit mode in ISU.
Below is the detailed scope of this Blog: –
- Mapping Standard fields of Service Order List
- Service Order List
- Add extension field
- Populating the extension field
- Add ISU transaction Link
Below will be our targeted Service Order UI with the Link for Edit Service Order and additional fields added & populated.
Implementation Details: –
- Create a solution in PDI.
- Create Extension BO for adding extension fields.
- Extending Service Order UIs
- Implement Service Order Enhancement Implementation.
1. Create a solution in PDI
Provide required information for the creation of Solution.
2. Create Extension BO for adding extension fields
Add a new item “Business Object Extension”
Select the Utility specific business object for extension.
Namespace :- http://sap.com/xi/AP/CRM/Global
Business Object :- UtilitiesExtensibility
For Extending Service Order, below will be the node which you need to extend.
- Service Orders - ServiceOrders
import AP.Common.GDT;
import AP.CRM.Global;
[Extension] businessobject AP.CRM.Global:UtilitiesExtensibility {
node ServiceOrders {
[Label("Escalated")] element Is_Escalated : Indicator;
[Label ("Edit Service Order")] element Custom_Link:WebURI;
}
}
In the above example we have included Service order Edit ISU Link and flag to indicate whether Service Order is escalated or not.
3. Extending Service Order UIs
To extend the UI’s for the above enhancement, select
“Enhance Screen”option by right clicking on the business object extension.
Select the targeted UIs-
Service Order UI Path
/BYD_COD/IndustrySolution/Utilities/UI/Extensibility/COD_UTILITIES_SERVICE_ORDER_EXTENSIBILITY_EC.EC.uicomponent
Adding extension field to the
Service Order List:- Select anchor called
“Service Order” to add the extension fields.
Once field is selected and applied –
“Save and Activate”.
4. Implement Service Order Enhancement Implementation
With above changes, the required UI is enhanced with your extension fields.
To populate data to those fields you need to implement Enhancement Implementation provided for Service Order.
Note :-
From C4C 1708, mapping of standard fields in Enhancement implementation became easier as Standard fields will be pre fetched and will be part of input parameter.
Add Service Order Enhancement Implementation
Implement custom Logic for populating Link as well as escalation status.
import AP.CRM.Global;
var result : UtilitiesServiceOrderBadiInput;
result.UtilitiesServiceOrderElements = InputData.UtilitiesServiceOrderInput.UtilitiesServiceOrderElements;
foreach(var current in result.UtilitiesServiceOrderElements)
{
current.Custom_Link_DZE12JXDAPNKB9MTEJZDHSX3Y = "https://[isu Webgui URL]:[port]/sap/bc/gui/sap/its/webgui?~transaction=*IW72%20AUFNR-LOW="+ current.ServiceOrderID.content.ToUpperCase() +";DYNP_OKCODE=OK&sap-client=[tenant]&sap-language=EN";
current.Is_Escalated_DZE12JXDAPNKB9MTEJZDHSX3Y = true;
}
return result;
With above enhancement:- Service Order facet will look as shown below.
Edit Service Order Link will navigate to the below ISU screen.