Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/327912/newLayout.css
Portuguese

Pagetitle
RecLock -Comando de alteração em modo exclusivo
RecLock -Comando de alteração em modo exclusivo

Função: RecLock -Comando de alteração em modo exclusivo


Abrangências:Microsiga Protheus 8.11 , Protheus 10
Versões:Microsiga Protheus 8.11 , Protheus 10
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Nível de Acesso:Nível 1 (Acesso Clientes)
Idiomas:Espanhol , Inglês


Descrição:
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
    (logico)
  • .T. se conseguiu lockar o registro, .F. se deu erro
Exemplos
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:



Nome

Tipo

Descrição

Default

Obrigatório

Referência

cAlias

Caracter

Alias da tabela a ser lockada










lAdd

Lógico

Parâmetro que verifica se a instrução a ser executada é uma inclusão.










l1

Lógico

Não utilizado

.F.







lSoft

Lógico

Pergunta para o usuário se deseja lockar novamente o registro

.F.







lInJob

Lógico

Verifica se o comando foi executado via Job

.F.

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

...