Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Senhores, bom dia!
Estou com um problema trabalho com o datasul e em uma tabela do movimento da folha eu tenho 3 campos array onde são delimitados por ';' são os códigos do evento, quantidade do evento e valor do evento. Como eu posso separar este array fazendo com que cada código de evento seja um registro e vem com seu respectivo valor e quantidade? Os campos vem representados como o exemplo abaixo:
cdn_evento_fp --> 001;031;800;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;...
qtd_event_fp --> 180;40;220;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;...
val_event_fp --> 1000.00;200.00;1200;00;0;0;0;0;0;0;0;0;0;0;0;...
Você poderá tratar este campo array utilizando a função Subfield().
Dê uma olhada no exemplo que fiz
Abraço!
Você poderá tratar este campo array utilizando a função Subfield().
Dê uma olhada no exemplo que fiz
Abraço!
É amigo, funcionou eu estava fazendo de forma errada, como o meu array é de 30 tenho que tratar as 30 posições.
Obrigado!
Raphael, só pra te dar um retorno a sintaxe ficou da seguinte forma:
NoConcatenate Movimento_Folha_cdn:
LOAD cdn_categ_sal,
cdn_empresa,
cdn_estab,
cdn_funcionario,
num_ano_refer_fp,
num_mes_refer_fp,
subfield(cdn_event_fp, ';', IterNo()) as evento,
subfield(qtd_unid_event_fp, ';', IterNo()) as qtdevento,
subfield(val_calcul_efp, ';', IterNo()) as valevento
Resident Movimento_Folha1
While subfield(cdn_event_fp, ';', IterNo())>0;
Boa opção em usar o IterNo() para definir as posições de cada informação