Transitioning Beyond 255 Transitions
In Clarify, Logistics and Quality both use transitions to determine how a request moves from one condition to another. To change a condition, a transition must be defined between the two conditions for that part request type. To restrict access to critical part operations, you can administer permissions according to privilege classes.
In complex installations, the number of transitions across both business areas can easily reach the imposed limit of 256 transitions. This limitation can truly impose headaches when the transitions cannot be accurately configured to match the business process.
Dovetail Admin can also be used to configure the transitions, and now it does not enforce the same limitation. It does use the same mechanism for storage, so a little bit of work needs to be done to allow more transitions to be set up, and using Dovetail Agent (or the Dovetail SDK) to take advantage of the enhanced capability.
The limitation is actually caused by the size of the trans_mask field in table_privclass. Normally, transitions are ranked from 0 to 254, and this string field size is set to 255 characters in the baseline database. The use of a transition is stored for each privilege class is indicated by the corresponding character in this field according to the rank of the transition.
To allow for more transitions, the size of the trans_mask field in table_privclass has to be increased. For example, to double the number of transitions allowed, the field size would need to be changed to a string of 512 characters. This change in the schema can be easily accomplished using Dovetail SchemaEditor, by applying the following SchemaScript file to the database:
<updateColumn name=”trans_mask” table=”privclass” >
<length>512</length>
</updateColumn>
</schemaScript>
Once this change is done, open Dovetail Admin and update the Schema cache.
With the new schema, Dovetail Admin can now be used to add the rest of the transitions required to match the business process. There will still be a message displayed when the maximum number of transitions is reached, but now you have the power to transition beyond this limitation.
Putting the new transitions to the test
The point of this exercise is to be able to use the new transitions, so testing that they work is important. Here are the steps that were taken to validate the new transitions were available in both:
- Updated
the database schema as shown above to expand privclass.trans_mask to 512 chars. - Logged
into Clarify Client. Started to add new Logistics transitions. Everything was okay until
the limit of 255 was reached. After that, a pop-up box showed that going beyond 255 is
not allowed. - Logged in to Dovetail Admin, and added more Logistics transitions. Queried the privclass.trans_mask
and saw “1” added beyond position 255 in the trans_mask field. - Cleared the Clarify cache and logged into Clarify Client. The newly added Logistics transitions
were visible. - At first, it was not possible to add new extra Logistics
transitions in the Clarify Client until the privclass.trans_mask got padded to 512
chars with “0”s, after the first replace of an existing transition. Once
the mask was properly filled, the extra Logistics transitions could be added
from the Clarify Client. - A
test of part request install/pick/unpick was successful showing that the extra
Logistics transitions work in both Clarify Client and Dovetail Agent