Histórico da Página
...
Portuguese | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Função: RecLock Descrição: Permite a inslusão ou alteração de um registro no alias informado. Comportamento: Quando parametrizada para inclusão de registro, informando o 2o parâmetro como .T., inicia internamente a inserção de um novo registro no alias especificado como parâmetro. O novo registro permanece apenas na memória do Servidor de Aplicação até o momento em que uma operação de reposicionamento de registro (DBSkip, DBGoto , DbSeek, etc...) ou uma operação que forçe o envio do registro ( DBCommit, MSUnlock, Recno) seja executada. O registro inserido permanece bloqueado em modo exclusivo para o processo que está realizando a inserção, até que a instruçáo MSunlock() seja chamada. Quando parametrizada para alteração de registro, informando o 2o parâmetro como .F., tenta realizar um bloqueio do registro atualmente posicionado no alias especificado, para permitir realizar alterações nos campos deste registro. O alias em questão não pode ser uma Query, ou estar aberto em modo de "somente leitura", pois neste caso nenhuma das operações (inclusão ou alteração) serão possíveis. A função RecLock() deve trabalhar em conjunto com a função MSUnlock(), que deve ser chamada assim que todos os dados que devam ser registrados nos campos do registro atual tenham sido alimentados. Programa Fonte: APLIB060.PRWSintaxe: RecLock ( < cAlias > , < lAdd > , [ l1 ] , [ lSoft ] , [ lInJob ] ) --> lRet Retorno:
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ção Exemplo 02 - Alteração ====================================== DbSelectArea("SA1") DbSetOrder(1) If DbSeek("01"+"900001"+"01") RecLock("SA1", .F.) SA1->A1_NOME := "CLIENTE TESTE" SA1->A1_NREDUZ" := "TESTE" MsUnLock() //Confirma e finaliza a operação EndIf Parâmetros:
Funções relacionadas: |