Setting the user defined data to support the creation of new operation using a different service

Ensure to enable KB 2307697 - Allow creation of an operation with different service definition in M3 Mobility Core Tenant Toolbox before you proceed.

  1. Using M3 Mobility Core Toolbox, select System configuration > Dialog design.
  2. Proceed to Service Assignment and select Create Operation group.
  3. From the sub tables, add OperationService.ProductStructureTypeCODE to the dialog layout.
  4. Click the ellipsis and add this user defined data:
    MFS@DisplayList= {"Col":["Code.GlobalCodeId","Code.Description"],"Tbl":["Service","Code"],"Join":[["ProductStructureTypeCODE","PrimaryKey"]],"Clr":["OperationService.ServiceID"],"Pk":"Code.PrimaryKey","RemoveDuplicate":1}
  5. Add OperationService.ServiceOrderTypeCODE to the dialog layout.
  6. Click the ellipsis and add this user defined data:
    MFS@DisplayList= {"Col":["Code.GlobalCodeId","Code.Description"],"Tbl":["Service","ServiceFacility","Code"],"Join":[["PrimaryKey","ServiceID"],["ServiceOrderTypeCODE","PrimaryKey"]],"Clr":["OperationService.ServiceID","OperationService.ProductStructureTypeCODE"],"Pk":"Code.PrimaryKey","RemoveDuplicate":1}
  7. Add OperationService.ServiceID to the dialog layout.
  8. Click the ellipsis and add this user defined data:
    MFS@DisplayList= {"Col":["Service.Service"],"Tbl":["ServiceFacility","Service","Code"],"Join":[["ServiceID","PrimaryKey"],["ProductStructureTypeCODE","PrimaryKey"]],"Ftr":["Service.ProductStructureTypeCODE=","ServiceFacility.ServiceOrderTypeCODE=","Service.ProductID=","Service.ProductID","Service.PrimaryKey<>","Service.ProductID","Service.ProductStructureTypeCODE=","ServiceFacility.ServiceOrderTypeCODE=","Service.PrimaryKey<>"],"Val":["Service.ProductStructureTypeCODE","Service.ServiceOrderTypeCODE","ServiceAssignment.EquipmentProductID","IS NOT NULL","ServiceAssignment.ServiceID","IS NULL","OperationService.ProductStructureTypeCODE","OperationService.ServiceOrderTypeCODE","ServiceAssignment.ServiceID"],"Op":["AND","AND","AND","AND","OR","AND","AND","AND"],"SetVal":["Service.ProductStructureTypeCODE=OperationService.ProductStructureTypeCODE","ServiceFacility.ServiceOrderTypeCODE=OperationService.ServiceOrderTypeCODE","Service.Description=ServiceOrderHead.FreeText1","Service.Description=ServiceOrderHead.Description","Service.WarrantyCheck=ServiceOrderHead.WarrantyCheck","ServiceFacility.FacilityID","ServiceFacility.PrimaryKey","Code.GlobalCodeId"],"Pk":"ServiceFacility.ServiceID","RemoveDuplicate":1}
  9. ServiceAssignment.ServiceCenterID with this data:
    MFS@DisplayList= {"Col":["ServiceCenter.ServiceCenter", "ServiceCenter.Name"],"Tbl":"ServiceCenter","Ftr":["ServiceCenter.FacilityID=ServiceOrderHead.FacilityID"],"Clr":["ServiceAssignmentElement.CRMUserID"]}
  10. Proceed to the Details group.
  11. Select Misc. controls and add a section to the dialog layout before the As built information section.
  12. Click the ellipsis and specify New User Information as the header text.
  13. From the sub tables, add OperationService.ProductStructureTypeCODE to the dialog layout.
  14. Click the ellipsis and add this user defined data:
    MFS@DisplayList= {"Col":["Code.GlobalCodeId","Code.Description"],"Tbl":["Service","Code"],"Join":[["ProductStructureTypeCODE","PrimaryKey"]],"Clr":["OperationService.ServiceID"],"Pk":"Code.PrimaryKey","RemoveDuplicate":1}
  15. Add OperationService.ServiceOrderTypeCODE to the dialog layout.
  16. Click the ellipsis and add this user defined data:
    In the dialog layout, replace the user defined data ofMFS@DisplayList= {"Col":["Code.GlobalCodeId","Code.Description"],"Tbl":["Service","ServiceFacility","Code"],"Join":[["PrimaryKey","ServiceID"],["ServiceOrderTypeCODE","PrimaryKey"]],"Clr":["OperationService.ServiceID","OperationService.ProductStructureTypeCODE"],"Pk":"Code.PrimaryKey","RemoveDuplicate":1}
  17. Add OperationService.ServiceID to the dialog layout.
  18. Click the ellipsis and add this user defined data:
    MFS@DisplayList= {"Col":["Service.Service"],"Tbl":["ServiceFacility","Service","Code"],"Join":[["ServiceID","PrimaryKey"],["ProductStructureTypeCODE","PrimaryKey"]],"Ftr":["Service.ProductStructureTypeCODE=","ServiceFacility.ServiceOrderTypeCODE=","Service.ProductID=","Service.ProductID","Service.PrimaryKey<>","Service.ProductID","Service.ProductStructureTypeCODE=","ServiceFacility.ServiceOrderTypeCODE=","Service.PrimaryKey<>"],"Val":["Service.ProductStructureTypeCODE","Service.ServiceOrderTypeCODE","ServiceAssignment.EquipmentProductID","IS NOT NULL","ServiceAssignment.ServiceID","IS NULL","OperationService.ProductStructureTypeCODE","OperationService.ServiceOrderTypeCODE","ServiceAssignment.ServiceID"],"Op":["AND","AND","AND","AND","OR","AND","AND","AND"],"SetVal":["Service.ProductStructureTypeCODE=OperationService.ProductStructureTypeCODE","ServiceFacility.ServiceOrderTypeCODE=OperationService.ServiceOrderTypeCODE","Service.Description=ServiceOrderHead.FreeText1","Service.Description=ServiceOrderHead.Description","Service.WarrantyCheck=ServiceOrderHead.WarrantyCheck","ServiceFacility.FacilityID","ServiceFacility.PrimaryKey","Code.GlobalCodeId"],"Pk":"ServiceFacility.ServiceID","RemoveDuplicate":1}
  19. Proceed to Triggers tab and click New.
  20. For triggers, specify this information:
    Event
    Select Onchanged.
    Operator
    Select OR.
  21. In the Condition section, click New.
  22. For conditions, specify this information:
    Column Operator
    OperationService.ServiceOrderTypeCODE isnotnull
    OperationService.ProductStructureTypeCODE isnotnull
  23. In the Setter section, click New.
  24. For the setters, specify this information:
    Type Name True Action False Action
    column OperationService.ServiceID makemandatory removemandatory
    column ServiceAssignment.ServiceCenterID removemandatory makemandatory
    column ServiceAssignment.ServiceCenterID hide show
    column ServiceAssignmentElement.CRMUserID removemandatory makemandatory
    column ServiceAssignmentElement.CRMUserID hide show
    column ServiceAssignment.Description hide show
    column ServiceAssignment.Description clearvalue none
  25. Go back to Triggers tab and click New.
  26. For triggers, specify this information:
    Event
    Select Onload.
    Operator
    Select OR.
  27. In the Condition section, click New.
  28. For conditions, specify this information:
    Column
    Specify OperationService.ProductStructureTypeCODE.
    Operator
    Select isnull.
  29. In the Setter section, click New.
  30. For the setters, specify this information:
    Type
    Select section.
    Name
    Specify New Service Information.
    True Action
    Select hide.
    False Action
    Select show.
  31. Go back Triggers tab and click New.
  32. For triggers, specify this information:
    Event
    Select Onload.
    Operator
    Select AND.
  33. In the Condition section, click New.
  34. For conditions, specify this information:
    Column Operator Value
    OperationService.ProductStructureTypeCODE equal 20
    ServiceAssignment.CreateDATE isnull
    ServiceAssignmentElement.Status isnull
  35. In the Setter section, click New.
  36. For the setters, specify this information:
    Type Name True Action False Action
    column OperationService.ServiceOrderTypeCODE clearvalue none
    column OperationService.ProductStructureTypeCODE clearvalue none
    column OperationService.ServiceID clearvalue none
  37. In Filter maintenance, select Tablet filter and proceed to Create Operation filter. Click Show More in SQL query.
  38. Add this query at the end of Select:
    , OperationService.ServiceID, OperationService.ProductStructureTypeCODE, OperationService.ServiceOrderTypeCODE" (
  39. Add this query at the end of From:
    LEFT JOIN OperationService ON ServiceAssignment.ServiceAssignmentID = OperationService.ServiceAssignmentID
  40. In the Column format, click Show More.
  41. Click Add and add this information in order:
    Table 1.
    Description Index in SQL query Code group Data type Column name
    Service 79 Text OperationService.ServiceID
    Product Structure Type 80 Product Structure Type Code OperationService.ProductStructureTypeCODE
    Service Order Type 81 Service Order Type Code OperationService.ServiceOrderTypeCODE
  42. Click iSave.