Función RECOFFSET( )

Devuelve un valor de campo de un registro que es una cantidad de registros especificada del registro actual.

Sintaxis

RECOFFSET(campo; número_de_registros)

Parámetros

Nombre Tipo Descripción
campo

carácter

numérico

fechahora

El nombre del campo del cual se recupera el valor.

número_de_registros numérico

El número de registros del registro actual. Un número positivo especifica un registro posterior al registro actual; un número negativo especifica un registro anterior al registro actual.

Salida

Carácter, Numérico o Fechahora. El valor devuelto pertenece a la misma categoría de datos como el parámetro de entrada campo.

Ejemplos

Ejemplos básicos

Devuelve un valor Cantidad del siguiente registro:

RECOFFSET(Cantidad;1)

Devuelve un valor Cantidad del registro anterior:

RECOFFSET(Cantidad; -1)

Ejemplos avanzados

Uso de RECOFFSET en un campo calculado

El campo calculado Cantidad_siguiente muestra el valor del campo Cantidad en el registro siguiente sólo si el registro siguiente tiene el mismo número de cliente.

Para definir este campo calculado en un script, utilice la siguiente sintaxis:

DEFINE FIELD Cantidad_siguiente COMPUTED
RECOFFSET(Cantidad;1) IF RECOFFSET(Cliente;1) = Cliente
0

Cantidad_siguiente es el valor del campo Cantidad del siguiente registro solo si el número de cliente del siguiente registro es el mismo que el número de cliente del registro actual. En caso contrario, a Cantidad_siguiente se le asigna un valor de cero.

Observaciones

La función RECOFFSET( ) devuelve un valor de campo de un registro que es un número específico de registros superior o inferior al registro actual.

Cuándo usar RECOFFSET( )

Esta función se utiliza comúnmente para la prueba de comparación avanzada.

Puede utilizar esta función para comparar valores en un campo del registro actual con un campo en otro registro. Por ejemplo, puede agregar un campo calculado que calcule la diferencia entre una cantidad en el registro actual y una cantidad en el registro anterior.

El principio o el final de una tabla

Si llega al final o al principio de la tabla, esta función devuelve cero para los campos numéricos, una cadena vacía para los campos de caracteres o 01/01/1900 para los campos de fecha. La función devuelve la salida en blanco en estos casos porque no hay otro registro más para comparar con el registro actual.

Guía de creación de scripts de ACL 14.1