CRM IS-U integration: How to set RTP values from CRM contracts
If you are familiar with integrating CRM products and IS-U billing, then you know very well how to set installation facts depending on product attributes. Recently I was asked to prepare a more complex C&I sales scenario for a deregulated retailer and that was quite interesting. As usual, there are many options in the CRM product modelling to make the user experience better. For example, if there is a choice where an index price comes from or if certain charges are billed on a fixed basis, this can be done with radio buttons or check boxes like this:
For the user this is good because it simplifies setting the right values. Compared to manually setting installation facts, the rather technical operand names and values are hidden and logic can be added to ensure correct contracts. Part of the product and rate configuration is the mapping of these attributes to IS-U with the master data templates. Typically each attribute relates to an installation fact, for example as rate type, quantity or flag, that really depends on the rate design.
But what if you need to also set RTP value because billing needs it for an interval formula?
In this case, the energy offering has a variety of products and choices, including:
1. An fully index based contract. In billing, the index price is available as a 15min price profile, a fixed retail adder charge is added per MWh.
2. The option to add energy blocks with different time-of-use patterns (7×24, 7×16, 5×16). In billing, these blocks are RTP input values in each time-of-use component that set the limits. Up to the limit the energy block price is applied, above the limit an index price is used.
3. The option to link a block price to another energy index like oil, natural gas or even fix this price for a period of time.
This means that some values from product configuration need to be set as RTP values on the installation level, they are a constant or profile input parameter in this example.
How would you implement this? Here is what we did:
1. Store all the RTP relevant values in installation facts.
2. Create a table where the mapping of installation facts with the RTP values (RTP interface, RTP component, parameter ID, RTP component ID) can be maintained.
3. In the maser data template CRMNEWCONTRACT, use the generic event node right after the installation node to call a function module.
4. In this function module, identify the RTP relevant installation facts and prepare a table for the RTP value setting.
5. Call the function ISU_DB_ERTPIFACEINST_UPDATE to set the RTP values and activate the component.
Have you ever done something like this? I’d be interested to know how you did it.