combo com valores recursivos

Olá pessoal,

Eu quero mostrar em uma combo do formulário uma recursividade dos centros de custo que tenho na minha tabela.

Meu centros de custo tem um relacionamento circular então eu não tenho como definir a quantidade de níveis que terei. por isso eu quero fazer um select que mostre algo assim:

Brasília
|- produção
|+ administração
| | - Máquinas
| | - Marketing
Belo horizonte
|- Fábrica
|+ Equipamentos
| | - Maquina 1
| | - Maquina 2
|- Etc 1
|- Etc 2

eu ja pensei em uma procedure, que fizesse a recursividade, inclusive ela ja está funcionando. mas não sei de que maneira eu faço a concatenação dos caracteres para identar o resultado e o mais importante, não sei como chamar o resultado dessa procedure na combo.
Alguém pode me ajudar ai?

Aí galera, consegui uma solução paliativa para minha situação. Não envolve programação em banco de dados, até porque não tenho knowhow suficiente para isso, mas vamos lá.

Tinha uma tabela de centro de cuto, com relacionamento circular permitindo vários níveis.
Minha intenção era montar uma query, que me retornasse uma concatenação de caracteres conforme postado acima.
Como não consegui resolver esse problema, eu criei uma tabela auxiliar para montar essa exibição e a chamei de tb_centro_custo_cache .
Essa tabela tem um campo

-id PK AI
-id_do_centro_custo
-nome_centro_custo
-caracteres_identacao

Então, no formulário de cadastro do centro de custo, sempre que ocorre algum evento, eu uso uma função no onAfter(evento) para:

1 - Dar um truncate na tabela de cache
2 - Fazer uma consulta recursiva, montando a hierarquia entre os centros de custo
3 - monto os caracteres de concatenação de acordo com o nível de hierarquia
4 - inserir no banco o resultado.

No formulário que tenho a combo, ao montar o lookup do centro de custo, eu uso a tabela de cache para buscar a consulta dos dados, dando um concat(caracateres_identacao,nome_centro_custo) e uso o campo id_do_centro_custo para informar o valor ao campo.

Bom espero poder ajudar alguém que tiver o mesmo problema que eu.