When you create Service Request record from Changes application (In Changes application, More Actions -> Create -> Service Request), you can see classification information e.g. CLASSSTRUCTURE.HIERARCHYPATH and CLASSSTRUCTURE.DESCRIPTION_CLASS are updated in the newly created SR record. However, if your SR application has CLASSIFICATIONID field you will see the field remains with no value.
Why does this happen? In short answer, this is because CLASSIFICATIONID does not exist in WORKORDER / WOCHANGE objects.
Normally, as a workaround you can use crossover domain to bring over value for fields from one object to another object, in this case WO2TCKT crossover domain which will crossover fields from WORKORDER to TICKET. Since CLASSIFICATIONID does not exist in WORKORDER object, how can you do that?
In this blog, I will provide steps in order to crossover field through relationship using SCCD 7.5.1.3 environment in order to populate the value in SR.CLASSIFICATIONID using WORKORDER.CLASSSTRUCTURE.CLASSIFICATIONID. This CLASSSTRUCTURE is a relationship in WORKORDER object.
1. Check list to go through.
(a) Make sure Out-Of-The-Box CLASSSTRUCTURE relationship exist in WORKORDER object. If not, please add it using information below.
i. Go To -> System Configuration -> Platform Configuration -> Database Configuration
ii. Filter for 'WORKORDER' and open the record.
iii. Go to 'Relationships' tab.
iv. Filter for 'CLASSSTRUCTURE' relationship.
Relationship: CLASSSTRUCTURE
Child Object: CLASSSTRUCTURE
Where Clause: classstructureid = :classstructureid
Remark: Relationship to the classstructure table, used to find the classstructure for a given workorder record. (workorder.classstructureid = classstructure.classstructureid and workorder.orgid = classstructure.orgid). The resulting set will contain zero or 1 object.
(b) You have a classification that has 'Use With Object'; SR and WOCHANGE.
2. Create a new entry in WO2TCKT crossover domain.
(a) Go To -> System Configuration -> Platform Configuration -> Domains
(b) Filter for 'WO2TCKT' crossover domain and open the record.
(c) Add a valid value e.g. CLASSSTRUCTUREID in Source Field since you can't add CLASSSTRUCTURE.CLASSIFICATIONID now.
Source Field: CLASSSTRUCTUREID
Destination Field: CLASSIFICATIONID
Accept NULL value?: Y.
(d) Click OK to save.
3. Updating Source Field to CLASSSTRUCTURE.CLASSIFICATIONID. You need to connect to database backend and run following query :-
update maximo.crossoverdomain set sourcefield='CLASSSTRUCTURE.CLASSIFICATIONID' where domainid='WO2TCKT' and sourcefield='CLASSSTRUCTUREID' and destfield='CLASSIFICATIONID'
4. You will need to restart MXServer for the change to take effect but I'm sure you will try to avoid this. In this case, you can do the following :-
(a) Go To -> System Configuration -> Platform Configuration -> Domains
(b) Filter for 'WO2TCKT' crossover domain and open the record.
(c) Add another new row e.g.
Source Field: CLASSSTRUCTUREID
Destination Field: SOURCE
(d) Click OK to save. The previous update in step (3) will take effect now.
(e) Since the new row is not required, you can delete it.
(f) Open 'WO2TCKT' record again. Then, delete the new row created and click OK to close the dialog.
5. Create a new Change record with classification (Go To -> Change -> Changes application).
6. Create a new Service Request record from Change.
(a) In Changes application, open the Change record created in step (5).
(b) More Actions -> Create -> Service Request
7. Check the new Service Request record created.
(a) In Changes application, open the change record created in step (5).
(b) Go to 'Related Records' tab. You will see the Service Request record created in 'Related Tickets' section.
(c) Check this Service Request record in Service Requests application. You will see CLASSIFICATIONID is being populated now.
You have now completed the configuration to crossover field through relationship in order to populate the value in SR.CLASSIFICATIONID using WORKORDER.CLASSSTRUCTURE.CLASSIFICATIONID when creating Service Request record from Changes application. If you would like to share your thoughts, please feel free to comment.
Troubleshooting :-
i. At step 6, if you see following error message "BMXAA0212E - Please specify a valid classification." please check and go through step 4 again.
ii. At step 7, if the newly create Service Request record does not have value for CLASSIFICATIONID, CLASSSTRUCTURE.HIERARCHYPATH and CLASSSTRUCTURE.DESCRIPTION_CLASS, please go through step (1) again.