× Linguagem de Programação ADVPL

Perguntas Ajuda com ReckLock

Mais
9 anos 10 meses atrás #26925 por brunogfx4
Ajuda com ReckLock foi criado por brunogfx4
Bom dia pessoal alguem pode me ajudar no código abaixo?
Eu estou querendo que ele atualize o campo de data conforme o parametro selecionado, porem nao sei o motivo e a forma de fazer com que ele atualize somente o que eu peco no parametro de numero X a numero y no SC6.


BeginSQL Alias cAlias

SELECT C6_NUM,C6_ENTREG,C6_CLI,C6_LOJA,C6_NOTA FROM SC6020
WHERE C6_NUM BETWEEN %Exp:MV_PAR01% AND %Exp:MV_PAR02%
AND C6_CLI BETWEEN %Exp:MV_PAR03% AND %Exp:MV_PAR04%
and D_E_L_E_T_<>'*'
GROUP BY C6_NUM,C6_ENTREG,C6_CLI,C6_LOJA,C6_NOTA
ORDER BY C6_NUM

EndSQL

/*If nNota==' '
msginfo("Pedido:"+(nPed)+CHR(13)+CHR(10))


Else */

While (cAlias)->(!EOF())/*.AND.;
(cAlias)->C6_NUM */

nPed :=(cAlias)->C6_NUM
nNota :=(cAlias)->C6_NOTA
nCli :=(cAlias)->C6_CLI
nloj :=(cAlias)->C6_LOJA
dEntrega :=(MV_PAR05)

RecLock("SC6",.F.)
SC6->C6_ENTREG := dEntrega
MsUnLock()


dbSkip()


//EndIf
Enddo


Return

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 10 meses atrás #26927 por brunogfx4
Respondido por brunogfx4 no tópico Ajuda com ReckLock
Alguem?

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 10 meses atrás #26929 por kanaamlrr
Respondido por kanaamlrr no tópico Ajuda com ReckLock
Bruno,
Como você está utilizando uma query para trazer os dados que você quer alterar, você vai precisar posicionar a tabela SC6 com base na sua query e ir alterando cada registro.
Basicamente seria um Loop na query com um dbSeek para cada registro e em seguida a alteração.

Tente dessa forma que deve funcionar

Outra forma seria fazer o Loop direto na SC6 dentro do intervalo desejado.
Abraço!

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 10 meses atrás #26930 por brunogfx4
Respondido por brunogfx4 no tópico Ajuda com ReckLock
Kanaãm por gentileza, voce pode me fornecer um exemplo?

Obrigado.

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 10 meses atrás #26932 por brunogfx4
Respondido por brunogfx4 no tópico Ajuda com ReckLock
Consegui resolver.Segue abaixo o código:


BeginSQL Alias cAlias

SELECT C6_FILIAL,C6_NUM,C6_ENTREG,C6_CLI,C6_LOJA,C6_NOTA FROM SC6020
WHERE C6_NUM BETWEEN %Exp:MV_PAR01% AND %Exp:MV_PAR02%
AND C6_CLI BETWEEN %Exp:MV_PAR03% AND %Exp:MV_PAR04%
and D_E_L_E_T_<>'*'
GROUP BY C6_FILIAL,C6_NUM,C6_ENTREG,C6_CLI,C6_LOJA,C6_NOTA
ORDER BY C6_NUM

EndSQL

If nNota==' '
msginfo("Pedido:"+(nPed)+CHR(13)+CHR(10))


Else

While (cAlias)->(!EOF())

nPed :=(cAlias)->C6_NUM
nNota :=(cAlias)->C6_NOTA
nCli :=(cAlias)->C6_CLI
nloj :=(cAlias)->C6_LOJA
dEntrega :=(MV_PAR05)

dbSelectArea("SC6")
dbSetOrder(1)
dbSeek(xFilial()+(cAlias)->C6_NUM)

RecLock("SC6",.F.)
SC6->C6_ENTREG := dEntrega
SC6->(MsUnlock())

(cAlias)->(dbSkip())


EndIf
Enddo


Return

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 10 meses atrás #26933 por kanaamlrr
Respondido por kanaamlrr no tópico Ajuda com ReckLock
Isso ai!
Não enviei exemplo porque vi agora a sua mensagem.
Mas a ideia era essa mesmo.
Abraço!

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.085 segundos
Joomla templates by a4joomla