preciso ordenar minha hierarquia de pipes com base em um trecho do nome (substring), compondo a letra que identifica o fluido e o sequencial, conforme exemplo abaixo.
/1-0005-[COLOR=#ff0000]P-0040[/COLOR][/U]-(Ba)
/1-0005-[COLOR=#ff0000]P-0038[/COLOR][/U]-(Ba)
/1-0005-[COLOR=#ff0000]P-0039[/COLOR][/U]-(Ba)
Tendo em vista a quantidade de pipes que tenho em cada zone, fazer isto pelo modify>hierarchy é inviável, então preciso montar um script que faça isso por mim. Pesquisando na internet eu consegui este (abaixo) que segundo o autor faz a ordenação dentro do PARAGON, eu preciso adequá-lo ao DESIGN ou montar um outro que faça isso por mim, alguém poderia me ajudar? Talvez já tenham tido essa necessidade.
!AA.SCOPE(!!CE)
!SPRFCOLL = !AA.results()
$* !PART1 = Evaluation of PARA[1]
!PART1 = !SPRFCOLL.EVALUATE(OBJECT BLOCK('!SPRFCOLL[!EVALINDEX].PARA[1]'))
$* !PART2 = Evaluation of PARA[2]
!PART2 = !SPRFCOLL.EVALUATE(OBJECT BLOCK('!SPRFCOLL[!EVALINDEX].PARA[2]'))
$* VAR !SORTORDER EVALUATE ( PARA[1] )FOR ALL SPRF FOR CE
VAR !SORTORDER SORT !PART1 NUMERIC ASCENDING !PART2 NUMERIC ASCENDING
Consegui encontrar está função aqui no FÓRUM, já me adianta, mas agora preciso adequá-lo para reordenar com base na substring citada acima pois este código reordena pelo diâmetro.
DO !X values !COLL
!Lock = False
IF !X.USERCLAIM.EQ('') OR !X.USERCLAIM.EQ(!CS.USER().NAME) Then
REORDER $!X AFTER $!MCOUNT
ELSE
$P$!X IS CLAIM BY $!X.USERCLAIM
ENDIF
ENDDO