× Linguagem de Programação ADVPL

Perguntas Função MaLibDoFat()

Mais
11 anos 3 meses atrás #9205 por Tony.totvs
Olá pessoal,

Tenho a seguinte situação:
- tenho um mBrowse com SC5
- escolhido um pedido, abre-se uma tela para confirmar, clicando em ok, faz a função abaixo. O pedido tem n itens, no While passa uma vez pela função MaLibDoFat, quando passa pela segunda vez na função, me dá o erro "Tentativa de reservar registro no Alias SC5 em EOF Stack de chamadas em MSRLOCK.eof"
- tenho essa função rodando em schedule sem problemas, não sei se o fato de usar o mBrowse com a SC5 esta causando isso.

dbSelectArea("SC6")
SC6->(DbOrderNickName("SC61"))
dbSeek(xFilial("SC6") + _cNum)
While SC6->(!Eof()) .And. _cNum = SC6->C6_NUM
RecLock("SC6")
Begin Transaction
MaLibDoFat(SC6->(RecNo()),SC6->C6_QTDVEN,.T.,.T.,.F.,.T.,.F.,.F.)
End Transaction
SC6->(MsUnLock())
SC6->(dbSkip())
EndDo


Grato

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #9228 por kanaamlrr
Respondido por kanaamlrr no tópico Re: Função MaLibDoFat()
Para evitar esse erro, reposicione a sua tabela SC5 em cada iteração do Loop.

Não vejo o porque de estar ocorrêndo esse problema, mas pode ser por algumas propriedade do mbrowse sim...
dbSelectArea("SC6")
 SC6->(DbOrderNickName("SC61"))
 dbSeek(xFilial("SC6") + _cNum)
 dbSeek(xFilial("SC5") + _cNum)
 While SC6->(!Eof()) .And. _cNum = SC6->C6_NUM
 RecLock("SC6")
 Begin Transaction
 MaLibDoFat(SC6->(RecNo()),SC6->C6_QTDVEN,.T.,.T.,.F.,.T.,.F.,.F.)
 End Transaction
 SC6->(MsUnLock())
 SC6->(dbSkip())
EndDo

Por favor Acessar ou Registrar para participar da conversa.

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