Manual de consulta

DTWF_SEARCH


AIX HP-UX Linux OS/2 OS/390 OS/400 PTX SUN Win NT
X X X X X X X X X

Finalidad

Busca una serie en un archivo de texto, devolviendo el resultado a una tabla de Net.Data.

Formato

@DTWF_SEARCH(nombarchivo, transformar, delimitador, tabla, seriebúsqueda, reintento, líneasbusqueda, líneainicio)

@DTWF_SEARCH(nombarchivo, transformar, delimitador, tabla, seriebúsqueda, reintento, líneasbusqueda)

@DTWF_SEARCH(nombarchivo, transformar, delimitador, tabla, seriebúsqueda, reintento)

@DTWF_SEARCH(nombarchivo, transformar, delimitador, tabla, seriebúsqueda)

Parámetros

Tabla 191. Parámetros de DTWF_SEARCH
Tipo de datos Parámetro Uso Descripción
serie nombarchivo INOUT El nombre del archivo que ha de buscarse. Cuando la llamada se complete satisfactoriamente, este parámetro devolverá el nombre de archivo completamente calificado.
serie transform IN El formato del archivo:
  • ASCIITEXT - graba la tabla para el archivo con un carácter de nueva línea entre valores de columna e ignora el parámetro delimitador.
  • DELIMITED - graba la tabla para el archivo con el delimitador especificado en el parámetro delimitador.
Un carácter de nueva línea en un archivo indica el final de una fila de una tabla de macro de Net.Data para transformaciones ASCIITEXT y DELIMITED.
serie delimitador IN Serie de caracteres para indicar los extremos de los valores. Este parámetro es sensible a mayúsculas y minúsculas. Se ignora si transform es ASCIITEXT.
tabla tabla OUT La variable de tabla en la que se coloca el resultado de la búsqueda. Se devuelven tres columnas:
  • La línea en la que se encontró la coincidencia
  • El campo en el que se ha encontrado la coincidencia (para una transformación de ASCIITEXT, siempre es 1)
  • El valor del campo que contenía la serie de búsqueda

Para los usuarios que no utilicen OS/400: La longitud máxima de una fila en una tabla FFI es de 16383 caracteres. Este límite incluye un carácter nulo para cada columna de la tabla de macro de Net.Data.

serie seriebúsqueda IN La serie de caracteres que ha de buscarse.
entero reintento IN El número de veces que ha de efectuarse un reintento en el caso de que el archivo no pueda examinarse inmediatamente. El valor por omisión es no efectuar ningún reintento.
entero líneasbusqueda INOUT El número de líneas del archivo que han de examinarse. Un valor de 0 significa que se examinan todas las líneas del archivo o hasta que la tabla esté completa; este es el valor por omisión. Cuando se complete de modo satisfactorio, este parámetro devuelve el número de filas de la tabla resultante.
entero líneainicio IN La línea del archivo desde la que se ha de iniciar la búsqueda. El valor por omisión es 1, que hace que la búsqueda comience en el primer registro.

Códigos de retorno

Tabla 192. Códigos de retorno de DTWF_SEARCH
Código de retorno Explicación
-1001 El servidor no ha podido procesar una petición de Net.Data para asignar memoria.
1001 Un parámetro de entrada contenía un valor NULL.
1002 Un parámetro de entrada contenía un valor de serie que consistía en el carácter de terminación nulo.
1003 Se ha transmitido un número incorrecto de parámetros en una llamada de función.
1004 Se ha transmitido un parámetro en una llamada de función que debería haber sido una variable de tabla de macro Net.Data, pero era de un tipo de variable diferente.
1005 Se ha transmitido un parámetro en una llamada de función que debería haber sido una variable de serie, pero era de un tipo de variable diferente.
1006 Se ha transmitido una serie literal en una llamada de función para un parámetro que debería haber sido un parámetro de salida.
1007 Un parámetro contiene un valor que no es válido.
1010 Se han grabado datos en la tabla hasta que se ha llenado y se han desechado los datos restantes.
2000 Una función incorporada de la interfaz de archivo plano no ha podido encontrar el archivo especificado.
2003 Una función incorporada de la interfaz de archivo plano no pudo leer una fila de datos en una variable de tabla porque el número de bytes de la fila excedía del número máximo de bytes soportados.
2004 Una función incorporada de la interfaz de archivo plano estaba intentando encontrar un archivo, pero ha encontrado una vía de acceso en la variable del archivo de configuración FFI_PATH cuya longitud era superior al número máximo de bytes soportados, que es 4095.
2005 Se ha producido una anomalía en una llamada a una función del sistema.
2006 Una función incorporada de la interfaz de archivo plano no ha podido acceder al archivo especificado porque lo estaba utilizando éste u otro proceso y no se podía compartir en la modalidad especificada.

Notas de utilización

  1. La tabla que se devuelve para DTWF_SEARCH tiene tres columnas. Las primeras dos columnas contienen el número de fila y de columna donde se encuentra la coincidencia; la última columna contiene el valor de columna que contiene los caracteres que se han especificado en el parámetro Seriebúsqueda. Por ejemplo, si la cuarta fila del archivo contiene caracteres coincidentes en la columna tres, la tabla devuelta tiene una fila con el número 4 en la primera columna para indicar la fila del archivo del que procedía; tiene un número 3 en la segunda columna para indicar la columna del archivo que contiene una coincidencia y tiene el valor de columna completo en la tercera columna.
  2. El parámetro Seriebúsqueda no puede incluir el contenido del parámetro delimitador.

Ejemplos

Ejemplo 1:

%DEFINE {
myFile = "c:/private/myfile"
myTable = %TABLE
myWait = "1000"
mySearch = "0123456789abcdef"
@DTWF_SEARCH(myFile, "DELIMITED", ";",
               myTable, mySearch, myWait)

Ejemplo 2:

%DEFINE {
myFile = "c:/private/myfile"
myTable = %TABLE
mySearch = "answer:"
myWait = "0"
myRows = "0"
myStartrow = "1"
%}
@DTWF_SEARCH(myFile, "DELIMITED", ";", myTable,
               mySearch, myWait, myRows, myStartrow)


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]