Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
Portuguese | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Função: RecLock -Comando de alteração em modo exclusivo
Bloqueia registro posicionado na tabela para comandos de alteração em modo exclusivo Programa Fonte:APLIB060.PRW Sintaxe:RecLock -Comando de alteração em modo exclusivo ( [ cAlias ] [ lAdd ] [ l1 ] [ lSoft ] [ lInJob ] ) --> lRet Retorno:lRet
Exemplo 01 - Inclusão========================================DbSelectArea("SA1")RecLock("SA1", .T.) SA1->A1_FILIAL := xFilial("SA1") SA1->A1_COD := "900001" SA1->A1_LOJA := "01"MsUnLock() //Confirma e finaliza a operaçãoExemplo 02 - Alteração======================================DbSelectArea("SA1")DbSetOrder(1)DbSeek("01"+"900001"+"01")If Found() RecLock("SA1", .F.) SA1->A1_NOME := "CLIENTE TESTE" SA1->A1_NREDUZ" := "TESTE" MsUnLock() //Confirma e finaliza a operaçãoEndIf Parâmetros:
|
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
...