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 share the details required to extend C4C Utilities Online UIs.
Please refer the following blogs to know the steps involved for extensibility –
Scope of this Blog is to give required details for extending following Utilities Scenarios and UIs-:-
-
- Extending Service Order
-
- Extending Service Notification
-
- Extending (BPEM)Exceptions
-
- Extending Utilities 360
-
- Extending Customer Contacts
-
- Extending Alerts
-
- Extending Premise Overview & Connection Details
-
- Extending Meter Readings Table
-
- Extending Payment Data
1. Extending Service Order
Service Order is available in below places.
-
- Customer / Account (TI) – Utilities Service Orders (Facet)
-
- Premise (TI) – Service Orders (Facet)
For Extending “Utilities Service Order” following node needs to be extended.
-
- Service Order – ServiceOrders
You can refer below code snippet for reference.
import AP.Common.GDT;
import AP.CRM.Global;
[Extension] businessobject AP.CRM.Global:UtilitiesExtensibility {
node ServiceOrders {
[Label("Service Order Status")] element Service_Order_Status : Indicator;
}
}
Targeted UI Details –
Service Order – /BYD_COD/IndustrySolution/Utilities/UI/Extensibility/COD_UTILITIES_SERVICE_ORDER_EXTENSIBILITY_EC.EC.uicomponent
C4C Enhancement Implementation Details-
Read – UtilitiesServiceOrderOverview
Action – UtilitiesServiceOrders
ISU Side Web Service Details –
Read Service – COD_ERP_UTIL_SRV_ORD_GET (ECC) / ISU_C4C_SRV_ORD_GET (S/4 HANA)
Action Service (Both for Create & Edit) – COD_ERP_UTIL_SRV_ORD_CREATE (ECC) / ISU_C4C_SRV_ORD_CREATE (S/4 HANA)
2. Extending Service Notification
Service Notification is available in below places.
-
- Customer / Account (TI) – Utilities Service Notifications(Facet)
-
- Premise (TI) – Service Notifications (Facet)
For Extending “Utilities Service Notification ” following node needs to be extended.
-
- Service Notification – ServiceNotification
You can refer below code snippet for reference.
import AP.Common.GDT;
import AP.CRM.Global;
[Extension] businessobject AP.CRM.Global:UtilitiesExtensibility {
node ServiceNotification{
[Label("Service Notification Status")] element Service_Notification_Status : Indicator;
}
}
Targeted UI Details –
Service Notification UI – /BYD_COD/IndustrySolution/Utilities/UI/Extensibility/COD_UTILITIES_SERVICE_NOTIFICATION_EXTENSIBILITY.EC.uicomponent
C4C Enhancement Implementation Details-
Read – UtilitiesServiceNotificationOverview
Action – UtilitiesServiceNotificationActions
ISU Side Web Service Details –
Read Service – COD_ERP_UTIL_SRV_NOTIF_GET(ECC) / ISU_C4C_SRV_NOTIF_GET (S/4 HANA)
Action Service – COD_ERP_UTIL_SRV_NOTIF_MODIF (ECC) / ISU_C4C_SRV_NOTIF_MODIF (S/4 HANA)
3. Extending (BPEM)Exceptions
Service Order is available in below places.
-
- Customer / Account (TI) – Utilities Exceptions(Facet)
-
- Premise (TI) – Exceptions (Facet)
For Extending “Utilities Exceptions” following node needs to be extended.
-
- Exception – BPEM
You can refer below code snippet for reference.
import AP.Common.GDT;
import AP.CRM.Global;
[Extension] businessobject AP.CRM.Global:UtilitiesExtensibility {
node BPEM{
[Label("BPEM Additional Info")] element Ext_BPEM_Info : Indicator;
}
}
Targeted UI Details –
Exceptions UI – /BYD_COD/IndustrySolution/Utilities/UI/Extensibility/COD_UTILITIES_BPEM_EXTENSIBILITY.EC.uicomponent
C4C Enhancement Implementation Details-
Read – UtilitiesBPEMGet
ISU Side Web Service Details –
Read Service – COD_UTILITIES_BPEM_GET(ECC) / ISU_C4C_BPEM_GET(S/4 HANA)
4. Extending Utilities 360
Utilities 360 is available in below places.
-
- Customer / Account (TI) – Utilities 360(Facet)
For Extending “Utilities 360” following nodes need to be extended.
-
- Utilities 360 (Hierarchy / List Table) – UtilitiesObjectHierarchy
-
- Collective Contract Account (Info Section) – CollectiveContractAccountDetails
-
- Contract Account (Info Section) – ContractAccountDetails
-
- Contract (Info Section) – ContractDetails
-
- Premise (Info Section) – PremiseDetails
-
- Installation (Info Section) – InstallationDetails
-
- Device (Info Section) – DeviceDetails
You can refer below code snippet for reference.
import AP.Common.GDT;
import AP.CRM.Global;
[Extension] businessobject AP.CRM.Global:UtilitiesExtensibility {
node UtilitiesObjectHierarchy {
[Label("Heir/List Info")] element Ext_Hier:LANGUAGEINDEPENDENT_EXTENDED_Text;
node CollectiveContractAccountDetails {
[Label("CCA Additional Info")] element Ext_CCA_Info:LANGUAGEINDEPENDENT_EXTENDED_Text;
}
node ContractAccountDetails {
[Label("CA Additional Info")] element Ext_CA_Info:LANGUAGEINDEPENDENT_EXTENDED_Text;
}
node ContractDetails {
[Label("Contract Additional Info")] element Ext_Contract_Info:LANGUAGEINDEPENDENT_EXTENDED_Text;
}
node PremiseDetails {
[Label("Premise Additional Info")] element Ext_Premise_Info:LANGUAGEINDEPENDENT_EXTENDED_Text;
}
node InstallationDetails {
[Label("Installation Additional Info")] element Ext_Inst_Info:LANGUAGEINDEPENDENT_EXTENDED_Text;
}
node DeviceDetails {
[Label("Device Additional Info")] element Ext_Device_Info:LANGUAGEINDEPENDENT_EXTENDED_Text;
}
}
}
Targeted UI Details –
Utilities 360 – /BYD_COD/IndustrySolution/Utilities/UI/Extensibility/COD_UTILITIES_360_EXTENSIBILITY_EC.EC.uicomponent
C4C Enhancement Implementation Details-
Read – Utilities360facetObjectHierarchyOverview
ISU Side Web Service Details –
Read Service – COD_UTILITIES_OBJECT_HIER_V2(ECC) / ISU_C4C_OBJECT_HIER_V2(S/4 HANA)
5. Extending Customer Contacts
Customer Contacts is available in below places.
-
- Customer / Account (TI) – Utilities 360(Facet) – Recent History(Tab)
For Extending “Customer Contacts” following node needs to be extended.
-
- Business Contact Details – BusinessContact
You can refer below code snippet for reference.
import AP.Common.GDT;
import AP.CRM.Global;
[Extension] businessobject AP.CRM.Global:UtilitiesExtensibility {
node BusinessContact {
[Label("Contact Additional Info")] element Ext_Contact_Info:LANGUAGEINDEPENDENT_EXTENDED_Text;
}
}
Targeted UI Details –
Business Contact UI – /BYD_COD/IndustrySolution/Utilities/UI/Extensibility/COD_UTILITIES_BUSINESS_CONTACT_EC.EC.uicomponent
C4C Enhancement Implementation Details-
Read – UtilitiesBusinessContactGet
ISU Side Web Service Details –
Read Service – COD_UTIL_BCONTACT_GET_LIST (ECC) / ISU_C4C_UTIL_BCONTACT_GET_LIST (S/4 HANA)
6. Extending Alerts
Alerts is available in below places.
-
- Customer / Account (TI) – Alerts (Side panel)
-
- Premise (TI) – Alerts (Side panel)
-
- Contract Account (TI) – Alerts (Side panel)
-
- Move In (GAF) / Move Out (GAF) / Transfer (GAF) – Alerts (Table)
Targeted UI Details –
Alerts – /BYD_COD/IndustrySolution/Utilities/UI/Extensibility/COD_UTILITIES_ALERTS_EC.EC.uicomponent
C4C Enhancement Implementation Details-
Read – UtilitiesAlertsGet
ISU Side Web Service Details –
Read Service – COD_UTIL_ALERTS_GET (ECC) / ISU_C4C_UTIL_ALERTS_GET (S/4 HANA)
7. Extending Premise Overview & Connection Details
Premise Overview & Connection Details is available in below places.
-
- Premise (TI) – Overview (Facet) – Highlights (Table)
-
- Premise (TI) – Overview (Facet) – Customer Overview(Table)
-
- Premise (TI) – Connection Details (Facet)
For Extending “Overview & Connection Details” following nodes need to be extended.
-
- Highlights – PremiseHighlights
-
- Customer Overview – PremiseCustomerHistory
-
- Connection Details – PremiseObjHier
You can refer below code snippet for reference.
import AP.Common.GDT;
import AP.CRM.Global;
[Extension] businessobject AP.CRM.Global:UtilitiesExtensibility {
node PremiseHighlights {
[Label("Critical")] element Ext_Critical : Indicator;
}
node PremiseCustomerHistory {
[Label("Customer Additional Info")] element Ext_Customer_Info : Indicator;
}
node PremiseObjHier {
[Label("Additional Info")] element Ext_Additional_Info : LANGUAGEINDEPENDENT_EXTENDED_Text;
}
}
Targeted UI Details –
-
- Premise-Overview – /BYD_COD/IndustrySolution/Utilities/UI/Extensibility/COD_UTILITIES_PREMISE_VIEW_EC.EC.uicomponent
-
- Premise-Connection Details – /BYD_COD/IndustrySolution/Utilities/Premise/UI/COD_UTILITIES_PREMISE_CONNECTION_DETAILS_EC.EC.uicomponent
C4C Enhancement Implementation Details-
Read – UtilitiesPremise
Overview Actions –
-
- Move In – UtilitiesPremiseMoveIn
-
- Move Out – UtilitiesPremiseMoveOut
-
- Cancel Move In & Move Out – UtilitiesPremiseCancelMoveInMoveOut
-
- Change Move In & Move Out- UtilitiesPremiseEditMoveInMoveOut
Connection Details Actions –
-
- Reconnect & Ping – UtilitiesPremiseActions
ISU Side Web Service Details –
Read Service – COD_UTILITIES_PREMISE_TI(ECC) /ISU_C4C_PREMISE_TI(S/4 HANA)
Action Service –
-
- Move In, Move Out & Transfer – COD_UTIL_MOVE_IN_OUT_TRANS_SRV(ECC) / ISU_C4C_MOVE_IN_OUT_TRANS_SRV (S/4 HANA).
-
- MDT Based Move In – COD_UTILITIES_MDT_MVI_CREATE (ECC) / ISU_C4C_UTILITIES_MDT_MVI_CRT(S/4 HANA).
-
- Cancel Move In & Move Out – COD_UTILITIES_CANCEL_MVIMVO (ECC) / ISU_C4C_CANCEL_MVIMVO (S/4 HANA)
-
- Change Move In – COD_UTILITIES_MOVE_IN (ECC) / ISU_C4C_MOVE_IN (S/4 HANA).
-
- Change Move Out – COD_UTILITIES_MOVE_OUT (ECC) / ISU_C4C_MOVE_OUT (S/4 HANA).
-
- Reconnect – COD_UTILITIES_AMI_SERVICES (ECC) / ISU_C4C_AMI_SERVICES (S/4 HANA)
-
- Ping – COD_UTILITIES_AMI_PING (ECC) / ISU_C4C_AMI_PING (S/4 HANA).
8. Extending Meter Readings Table
Meter Reading is available in below places.
-
- Premise (TI) – Connection Details (Facet) – Meter Readings (Table)
-
- Customer / Account (TI) – Utilities Financial (Facet) – Contracts With Meter Readings (Table)
For Extending “Meter Readings” following node needs to be extended.
-
- Meter reading – InstallationRegister
You can refer below code snippet for reference.
import AP.Common.GDT;
import AP.CRM.Global;
[Extension] businessobject AP.CRM.Global:UtilitiesExtensibility {
node InstallationRegister{
[Label("MR Additional Info")] element Ext_MR_Info : Indicator;
}
}
Targeted UI Details –
Meter reading Table UI – /BYD_COD/IndustrySolution/Utilities/UI/Extensibility/COD_UTILITIES_INSTALLATION_EC.EC.uicomponent
C4C Enhancement Implementation Details-
Read – UtilitiesInstallation
Actions –
-
- Estimate – UtilitiesInstallationEstimateMeterReading
-
- Override – UtilitiesInstallationOverrideMeterReading
-
- New / Edit (Save) – UtilitiesInstallationUpdateMeterReading
ISU Side Web Service Details –
Read Service – COD_UTILITIES_MR_GET(ECC) / ISU_C4C_MR_GET(S/4 HANA)
Action Service –
-
- Estimate – COD_UTILITIES_MR_ESTIMATE(ECC) / ISU_C4C_MR_ESTIMATE (S/4 HANA).
-
- Override – COD_UTILITIES_METER_READ_CRT(ECC) / ISU_C4C_METER_READ_CRT (S/4 HANA).
-
- New / Edit (Save) – COD_UTILITIES_METER_READ_CRT(ECC) / ISU_C4C_METER_READ_CRT (S/4 HANA).
9. Extending Payment Data
Payment Data is available in below places.
-
- Customer / Account (TI) – Utilities Payment Data (Facet)
For Extending “Payment Data” following nodes need to be extended.
-
- Bank Data – UtiltiesBankData
-
- Contract Account Payment Method – ContractAccountPaymentMethod
You can refer below code snippet for reference.
import AP.Common.GDT;
import AP.CRM.Global;
[Extension] businessobject AP.CRM.Global:UtilitiesExtensibility {
node UtiltiesBankData{
[Label("Account Status")] element Ext_Account_Status : Indicator;
}
node ContractAccountPaymentMethod {
[Label("Payment Is Valid")] element Ext_Payment_Valid : Indicator;
}
}
Targeted UI Details –
Payment Data – /BYD_COD/IndustrySolution/Utilities/UI/Extensibility/COD_UTILITIES_PAYMENT_DATA_EXTENSIBILITY_EC.EC.uicomponent
C4C Enhancement Implementation Details-
Read – UtilitiesPaymentDataOverview
Action – UtilitiesPaymentDataActions
ISU Side Web Service Details –
Payment Data Read Service – COD_UTIL_BANK_DETAILS_GET (ECC) / ISU_C4C_BANK_DETAILS_GET (S/4 HANA)
Contract Account Read Service – COD_UTILITIES_FINDCA (ECC) / ISU_C4C_FINDCA (S/4 HANA)
Action Service – COD_UTIL_BANK_PAYMENT_METHOD (ECC) / ISU_C4C_BANK_PAYMENT_METHOD (S/4 HANA)