
Modificar o último registro acessado em um arquivo.
FMODIFY (<exp.C>, <vet.C1>, <vet.C2>)
|
<exp.C> |
representa o nome do arquivo do banco de dados em uso. |
|
<vet.C1> |
representa o nome de um vetor-cadeia com o nome dos itens que serão lidos. Deve ter tamanho mínimo de 12 caracteres . |
|
<vet.C2> |
representa o nome de um vetor-cadeia que receberá o valor dos itens lidos. Deve ter tamanho mínimo do maior item do registro. |
Modifica o conteúdo do último registro lido no arquivo referenciado.
Se a modificação for bem sucedida retorna 0 (zero) ou um número referente ao erro de modificação (DBERR ()).
A função FMODIFY () não permite a modificação do valor de chaves de ligação de registros com ligações. Isto garante 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 caractere.
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"
** Le o registro de numero 21
ret = FGO (arquivo, 21 , vet_reg, vet_buf)
** Modifica o valor do item par_depe para FILHA.
** Note que o valor da chave id2_func e do item dat_depe não foram alterados.
ret = FMODIFY (arquivo,vet_reg,vet_buf)
** ret recebe o codigo de erro desta atualização.
MODIFY, FGMODIFY() e FGPMODIFY().
