# Version number formatting

We are on RAM v7.5. Help page / infocenter (http://publib.boulder.ibm.com/infocenter/ramhelp/v7r5m0/topic/com.ibm.ram.doc/topics/r_version_format.html?resultof=%22%76%65%72%73%69%6f%6e%22%20%22%6e%75%6d%62%65%72%22%20) that creates a number of confusion / questions for us:
1) Does RAM understand 'One' as numeric 1. How does it know that MilestoneThree is after MilestoneTwo? 2) If the answer to (1) is true, then how does RAM differentiate between a name "One" from number "One"? 3) Should we avoid using padded zero in version number because RAM will treat them as strings? 4) What is the heuristics that apply to version number? based on ascii sequence? Why do we want to know? Because we want to build a function to determine the latest version for a given asset. Therefore, we would like to know how RAM works in this regards. Thanks! David |

# One answer

RAM doesn't understand spelling of numbers. The only format it understands is: 999.999.999...letters Where 999 are any number of digits, and ... means repeating groups of digits. What it does is break it down into groups of digits separated by periods. The first non-digit, non-period it finds terminates the break of groups of digits. It then orders by each group, first all ordered by the first group of digits, then for those that have the same first group of digits are ordered by the second group. For all that have the same first and second group of digits they are then ordered by the third. And so on. And then finally those that have all the same groups of digits are then ordered in the current users locale's standard collation of the characters. I.e. N > M > L. This since it is using UTF characters collation this will take into account non-ascii also. Don't pad with zeroes because then the numbers will be in radix 8 (octal). -- Rich Kulp Rational Asset Manager developer |