Hey Mario,
Long time no see.
While I didnt have your issue of having different order here is some parsing code that may be of use. This one checks to make sure you drilled on a leaf element and I suppose adding a dimix() check could make it indifferent to the order in your string (?)
sMember = dimensionElementPrincipalName('Counterparty', counterparty);
sDim = 'Counterparty';
if(scan('^', sMember )>0);
z =sMember | '^';
While (SCAN('^', z)>0 );
d = subst(z,1,scan('^', z)-1);
zz = d | ':';
hier = subst(d,1, scan(':',d));
member = subst(d, scan(':',d)+1, 1000);
if(ellev(sDim, member) =0);
sMember = member;
endif;
z = subst(z, scan('^', z)+1, long(z) );
end;
endif;
------------------------------
David Pretorius
------------------------------