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:
|
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:
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
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)