This content has been archived.

Table of Contents

How to change the type of a property rule in a higher ruleset version

Summary

You can create a property rule that overrides an existing property rule (one with the same name and the same or subclass Applies To key part) that is in a lower version of the RuleSet or in a RuleSet and version that is lower on your RuleSet list. However, Process Commander restricts the Type values for the new property.

If you update or override a property rule of mode Single Value, Value List or Value Group, you can change the property rule Type to one that is more narrowly defined. This does not cause any runtime conversions of property values.

Allowed property type changes

This table shows which property type changes are allowed.

FROM  
TO
Date Time Date Time of Day Integer Decimal Double True or False Text
Date Time
X
X
           
Date  
X
           
Time of Day    
X
         
Integer      
X
       
Decimal        
X
     
Double      
X
X
X
   
True or False            
X
 
Text
X
 
X
X
X
X
X
X

For example, if the original property has a type of DateTime, you cannot override it with a new property that has a type of Double.  If you try, an error message similar to the following appears:

"Definition required to conform to Cahaba-Work-CPM-Claims.Prop1 instance created 20050831T162223.149 GMT."

In this case, you can override the DateTime property in a higher RuleSet version with a type of Date or TimeOfDay. Similarly, you can “specialize” a property of type Text.

It is best practice to make such overrides when no work objects or other saved instances have a value for the property.

Note: Overriding the property does not cause Process Commander to convert any existing values of the property. Conversion can cause errors, as described in the following section.


 

 

Suggested Approach

Two methods can be used to change the property type. It is recommended that you only override properties that are not  yet saved in work objects, to avoid validation issues and other processing errors.
.

Method 1: Delete and recreate the property using the new property type

In some cases you can simply delete the property rule in every system (such as application, testing, and production) and then recreate the property using the correct  type.

For example, assume that you created a property named Prop1 with the type Integer in the 01-01-01 RuleSet Version, locked the version and continued  development in 01-01-02. You now realize you need to change the type of Prop1 from Integer to Text. If you change the property and attempt to resave into 01-01-02 with the new type a general error occurs —

Definition required to conform to Cahaba-Work-CPM-Claims.Prop1 instance created 20050831T162223.149 GMT.

In this case, you can delete Prop1 and recreate it using Text as its property type.

Note: This method may not work in some cases. For instance, assume you change a property called Prop2 (Value mode) from Text to Integer. Also assume that a work object contains alphabetic characters using Prop2 (as type Text). Because Prop2 type is now defined as an Integer, an error will likely occur during data dictionary validation, which occurs when:

  • User input on an HTML form is placed on the clipboard
  • The Page-Validate method is applied to a page containing the property, or to the property if it has mode Page
  • An Edit Input rule and Property-Validate method is applied to the property

Method 2: Create a new property and block the old one

You can create a new property with a different name and use it going forward. Copy  the old property with a availability setting of Blocked in a new RuleSet version to prevent any later  further use of it.

Note: Use this method only in development systems; it is not advisable to make such changes use in production environments.

 

Suggest Edit

33% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.