Remuneracao de campos

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
matrix
Usuário Nível 3
Usuário Nível 3
Mensagens: 131
Registrado em: 06 Jul 2004 08:41
Localização: Paraná
Contato:

Remuneracao de campos

Mensagem por matrix »

pessoal
tenho no arquivo MOV_SAI o campo PEDIDO_SAI com numeracao sequencial doa numeros de pedidos de vendas.
e o arquivo SAI_PRO com o campo PEDIDO_MSP com a numeracao dos pedidos nos produtos lançados nesse pedido, entaum no MOV_SAI encontrarei pedido 1 lançado 1 vez,e no SAI_PRO lançado várias vezes referinco-se aos produtos nele lançado,
E o cliente furou essa numeracão, tipo 1,2,4,7,34,37.....e precisamos ajustar isso, como fazer ao mesmo tempo nos 2 arquivos??

agradeço.
"Ter Problemas é Inevitável, ser derrotado por eles é opcional.!!"
Avatar do usuário
gvc
Colaborador
Colaborador
Mensagens: 1270
Registrado em: 23 Ago 2005 10:57

Mensagem por gvc »

Vejamos se eu entendi o que vc quer fazer.

Dentro do MOV_SAI vc tem a chave de pesquisa no SAI_POR.

Faça um contador para saber qual o número do pedido que vc vai gravar.
Guarde o número MOV_SAI->PEDIDO_SAI atual.
Acerte para o número do contador.
Com o número anterior do PEDIDO_SAI, procure todos os que são iguais em SAI_PRO->PEDIDO_MSP e acerte para o número do contador.

xnum := 1
mov_sai->(dbgotop())
while !mov_sai->(eof())
ynum := mov_sai->pedido_sai
mov_sai->pedido_sai := xnum

while sai_pro->(dbseek(ynum))
sai_pro->pedido_msp := xnum
end

xnum++

end

Boa sorte.
Responder