Manual de consulta

DTWF_READ


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

Finalidad

Lee líneas de un archivo de texto en una tabla de Net.Data.

Formato

@DTWF_READ(nombarchivo, transformar, delimitador, tabla, reintento, líneas, líneainicio, columnas)

@DTWF_READ(nombarchivo, transformar, delimitador, tabla, reintento, líneas, líneainicio)

@DTWF_READ(nombarchivo, transformar, delimitador, tabla, reintento, líneas)

@DTWF_READ(nombarchivo, transformar, delimitador, tabla, reintento)

@DTWF_READ(nombarchivo, transformar, delimitador, tabla)

Parámetros

Tabla 185. Parámetros de DTWF_READ
Tipo de datos Parámetro Uso Descripción
serie nombarchivo INOUT El nombre del archivo cuyos registros se leen en una variable de tabla. 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 leen los registros de archivo.

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.

entero reintento IN El número de veces que ha de efectuarse un reintento en el caso de que el archivo no pueda leerse inmediatamente. El valor por omisión es no efectuar ningún reintento.
entero líneas INOUT El número de líneas del archivo que han de leerse en la tabla. Un valor de 0 significa leer hasta el final del archivo o hasta que la tabla esté completa; este es el valor por omisión. Cuando esta llamada de función se completa de modo satisfactorio, se 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 lectura. El valor por omisión es comenzar la lectura en la primera línea.
entero columnas OUT Devuelve el número de columnas de la tabla.

Códigos de retorno

Tabla 186. Códigos de retorno de DTWF_READ
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.

Ejemplos

Ejemplo 1:

%DEFINE {
myFile = "c:/private/myfile"
myTable = %TABLE
myWait = "1000"
%}
@DTWF_READ(myFile, "DELIMITED", ";", myTable, myWait)

Ejemplo 2:

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

Ejemplo 3:

%DEFINE {
myFile = "c:/private/myfile"
myTable = %TABLE
%}
@DTWF_READ(myFile, "ASCIITEXT", ";", myTable)
@DTW_TB_TABLE(myTable,"BORDER","")


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