Sintaxe

 

RECLOCK( <cAlias>, <lInclui> )

 

Propósito

 

Trava o registro do arquivo de dados que está posicionado, permitindo a gravação da inclusão ou da alteração.

 

Argumentos

 

< cAlias >

 

Define o alias que identifica a área de trabalho que será manipulada.

 

< lInclui >

 

Define se a operação será uma inclusão (.T.) ou uma alteração (.F.).

 

Utilização

 

Para gravar ou atualizar o conteúdo dos campos de um registro do arquivo de dados, é necessário travar (reservar) o registro. Para isso, utiliza-se a função RECLOCK(). Após a atualização, é necessário destravar o registro através da função MSUNLOCK() para que outros usuários possam atualizá-lo, caso seja necessário.

 

Exemplos

 

O exemplo abaixo descreve uma inclusão:

 

dbSelectArea(“SA1”)

 

RECLOCK(“SA1”, .T.)

 

SA1->A1_FILIAL     := xFilial(“SA1”)   // Retorna a filial de acordo com as configurações do ERP Protheus

SA1->A1_COD        := “900001”

SA1->A1_LOJA       := “01”

SA1->A1_NOME     := “MARCOS AURELIUS TERCEIRUS”

SA1->A1_NREDUZ := “MARCOS AURELIUS”

 

MSUNLOCK()     // Destrava o registro

 

 

O exemplo abaixo descreve uma alteração:

 

dbSelectArea(“SA1”)

dbSetOrder(1)      // A1_FILIAL + A1_COD + A1_LOJA

dbSeek(xFilial(“SA1”) + “900001” + “01”)     // Busca exata

 

IF FOUND()    // Avalia o retorno da pesquisa realizada

          RECLOCK(“SA1”, .F.)

 

          SA1->A1_NOME := “MARCOS AURELIUS TERCEIRUS”

          SA1->A1_NREDUZ := “MARCOS AURELIUS”

 

          MSUNLOCK()     // Destrava o registro

ENDIF