Modificar um grupo de registros.
FGMODIFY (<exp.C1>, <exp.C2>, <exp.C3>, <vet.C1>, <vet.C2>)
|
<exp.C1> |
representa o nome do arquivo do banco de dados em uso. |
|
<exp.C2> |
representa o nome da chave a pesquisar para alteração. |
|
<exp.C3> |
representa um valor para a chave pesquisada. Se a chave for numérica deve ser transformada para cadeia pela função STR (). Se a chave for do tipo data, deve ser transformada para cadeia no formato "dd/mm/aa", Se a chave for do tipo lógico deve ser transformada para cadeia sendo "0" para falso (.F.) e "1" para verdadeiro (.T.). |
|
<vet.C1> |
representa o nome de um vetor-cadeia com o nome dos itens que serão modificados. Deve ter tamanho mínimo de 12 caracteres . |
|
<vet.C2> |
representa o nome de um vetor-cadeia que especifica o valor dos itens que serão modificados. Deve ter o tamanho mínimo do maior item do registro. |
Modifica o conteúdo de um grupo de registros de um arquivo que tenham o mesmo valor para uma chave.
Seu funcionamento é parecido com a utilização dos comandos SEEK, REPLACE, MODIFY e SKIP, pois seleciona um grupo de registros para modificação.
Retorna 0 (zero) ou um número referente ao erro de modificação (DBERR ()), se a modificação for bem sucedida.
A função FGMODIFY () não permite a modificação do valor de chaves de ligação de registros com ligações, garantindo, assim, a integridade referencial.
Utilizada na construção de programas ou procedimentos com independência de dados e aplicação. Dispensa abertura de arquivo (USE), necessitando apenas, que exista um banco de dados em uso.
Converte automaticamente o valor dos itens para caracter.
Deve haver coerência entre os elementos de <vet.C1> e <vet.C2> para que a leitura se dê corretamente, isto é, o número do elemento de <vet.C1>, que tem o nome do item a ser lido, deve corresponder ao valor do elemento de mesmo número em <vet.C2>. Esta relação é de 1 para 1. Similar ao comando MODIFY.
O exemplo a seguir mostra-nos a utilização desta função.
DATABASE bdemp1 33 a 2
DECLARE vet_reg[3] = SPACE(12)
DECLARE vet_buf[3] = SPACE(10)
vet_reg[1] = "id2_func"
vet_reg[2] = "par_depe"
vet_reg[3] = "dat_depe"
arquivo = "tab_depe"
vet_buf[2] = "FILHA"
** Modifica todos os registros que tenham par_depe igual a FILHO para FILHA.
** Note que o valor da chave id2_func e do item dat_depe não foram alterados.
ret=FGMODIFY(arquivo,"par_depe","FILHO",vet_reg,vet_buf)
** ret recebe o codigo de erro desta atualização.
MODIFY, FMODIFY() e FGPMODIFY().