Posted: 4 Nov 2015 5:13 EST Last activity: 15 Dec 2015 6:35 EST
Is a case type needed for every country if i am using the Country in the class name for class specialization
Our processes will be rolled out across Europe and we have our class structure as : COG-DE-Contract-Work-AddressChange COG-NL-Contract-Work-AddressChange and so on.
Currently we can only start the processes at the country level if we have a case type created at the class level so this means having a case type at every country level and any changes to the process will need to be done in all countries. This will eventually mean a long list of case types like Address Change NL and Address Change DE.
Has anyone managed to maintain the single case type with class specialization.
Have you considered putting majority of your components on framework level or in the higher level of the class hierarchy ( for example : COG- Level ) so that when there is a need to change you have to do it only at one place.
Our main process is at the Framework level, but you cannot run the framework case type from a country class, or at least I have not found a way to yet. The problem is once you import the case type from the framework to the implementation that is the version that is run at that class level. And this is not updated if the framework case type is updated its effectively a copy at that time.
We can design the process to have as little impact as possible and all the step flows can be at the framework, the issue is you need a case type rule for all countries.
>>> Has anyone managed to maintain the single case type with class specialization?
Why we need to go with class specialization, if there are variations in the implementation for each country.
If there is only changes for the implementation of Address Change process, then i would suggest we can create process flows and circumstance with the region of the user . For example (Address Changes process for Europe / North America / Africa / APAC regions are different. We can create the process for one region(North America) and customize it for the other regions based on circumstance).
This is the discussion as we had a review by a Pega PSA and the class structure got changed to this country specific classes. I wanted to investigate if its feasible before I have to look at changing the whole applications class structure.
There are only some countries that have specific differences in the process so circumstancing would be an option.
I am not sure exactly on the best practice here as far as having a case type rule only in the framework but the following seems to work for me:
- Import the case type from the framework - This creates the class structure, and adds the case type to the application rule amoung other things.
- Delete the implementaion version of the pyDefault Case Type rule.
- Save the pyStartCase flow from the frramework into the implementation. (This is assuming you are using Pega 7 steps and stages)
You should should still be able to run the case and it will utilize the framework rules unless you specilize.
Single Case Type application with 2 case types imported from the Single Case Type Framework. For the case type FWCase2 I have then deleted the the pyDefault Case Type rule (the equivilent is highlighted in red for the FWCase type which i did not delete).
I can still run the FWCase2 but it uses the framework case type.
I tested this by saving one of the case step flows flow from the FW "FWStep22" into my implementation and confirmed that when run from the implementation it uses this flow, and when run from the FW it uses the FW version.