Como decodificar campo Documento (Banco de Dados)

Bom dia, estou com um probrema para tentar resover utilizando o SC que precisava da ajuda de vocês…
Estamos migrando nosso sistema para uma nova versão utilizando o SC.

No nosso cenário, existem alguns serviços integrados à outros sistemas que rodam acessando nosso banco de dados e alguns desses serviços utilizam um XML que está gravado como “plain text” em uma coluna de uma tabela.
Atualmente esse XML é “uploaded” para o banco através de uma interface, que faz parte do projeto que estamos redesenhando utilizando o SC.

O PROBLEMA:
Quando eu utilizo o SC para fazer o upload do arquivo xml, este fica gravado de forma codificada em um cmapo binário no banco.
Eu precisava, em paralelo, salvar o conteúdo deste arquivo em “plain text” em um outro campo (no campo original) na mesma tabela.
Eu sei que não há essa possibilidade nativamente no SC, o que eu preciso é saber qual função/trecho de código utilizar para decodificar o conteúdo deste campo, pois assim eu irei criar um método de forma manual para fazer essa transformação.

RESUMO:
Qual função/trecho de código do SC eu devo utilizar para decodificar o conteúdo do campo?

Obrigado,

Primeiro parabéns pela forma que expôs seu cenário.

Primeiro desenhou seu cenário de forma bem esclarecida.
Depois apresentou seu problema ou dificuldade, também de forma bem esclarecida.
Isso contribui muito com a ajuda.

Vejo aí duas formas:

Uma pelo banco de dados, usando uma trigger before insert , fazendo a conversão do campo binário para o campo texto.

No Sc você pode fazer isso no evento onbeforeinsert, usando comandos php:

Crendo que as 2 colunas estejam na mesma tabela:

No evento:

{Coluna_Plain_Text}=converte({Coluna_Binary});

Onde converte é o método php para a conversão.

Haroldo,
Obrigado pelo retorno e pela atenção!

O caminho que eu estou indo é pela sua segunda sugestão:

 {Coluna_Plain_Text}=converte({Coluna_Binary});

O caso é saber qual é essa “bendita” função converte().
Não achei em enhum lugar no código gerado onde isso ocorre pra ver qual função faz isso.

Depois da sua resposta até testei usar exatamente como vc enviou, supondo que o nome da função pudesse ser realmente “converte”, mas deu erro de chamada inválida à função.

Se você conhecer a função que faz isso, indica por favor.

Um grande abraço,

Bem, eu citei converte() como um método php criado na app SC por justamente não saber como a caluna binary foi alimentada.
Essa conversão em texto pode ser difícil conseguir mas segue aqui um caminho que pode ajudar:

https://gist.github.com/secrgb/565022

Obrigado,
Vou fazer o teste com essa função aki…

Porém, no próprio SC, no memento em que é lido esse conteúdo para fazer o download é necessário que essa conversão seja feita, correto?
Alguém por aqui conhece onde está esse trecho de código nos códigos gerados pelo SC?

Obrigado,

Download ou Upload?

No Upload somente no evento onvalidate, onbeforeinsert, onbeforeupdate… depois da submissão do formulário.

Download <- aí as regras são outras totalmente diferentes.

Imagino que queira já guardar o XML na coluna plain_text da tabela.

Acho que talvez eu não tenha explicado direito…

Eu preciso achar a função que faz a decodificação do binário e não estou achando ela no código gerado.

Imagino que ela saja chamada no momento em que o link para download do arquivo é acessado, eu queria ver se alguém sabe em que ponto do código isso acontece.

Um abraço,