Manual de consulta

DTWF_OPEN


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

Finalidad

Abre un archivo de texto.

Formato

@DTWF_OPEN(nombarchivo, modalidad, reintento, crearOpciones)

@DTWF_OPEN(nombarchivo, modalidad, reintento)

@DTWF_OPEN(nombarchivo, modalidad)

Parámetros

Tabla 183. Parámetros de DTWF_OPEN
Tipo de datos Parámetro Uso Descripción
serie nombarchivo INOUT El nombre del archivo que ha de abrirse. Cuando la llamada se complete satisfactoriamente, este parámetro devolverá el nombre de archivo completamente calificado.
serie modalidad IN El tipo de acceso solicitado:
  • r - abre un archivo existente para lectura.
  • w - crea un archivo para grabación. (Destruye un archivo existente con el mismo nombre, en el caso de que exista).
  • a - abre un archivo para agregación. Net.Data crea el archivo en el caso de que éste no se encuentre.
  • r+ - abre un archivo existente para lectura y grabación.
  • w+ - crea un archivo para lectura y grabación. (Destruye un archivo existente con el mismo nombre, en el caso de que exista).
  • a+ - abre un archivo en modalidad de agregación para lectura o agregación. Net.Data crea el archivo en el caso de que éste no se encuentre.
entero reintento IN El número de veces que ha de efectuarse un reintento en el caso de que el archivo no pueda abrirse inmediatamente. El valor por omisión es no efectuar ningún reintento.
serie crearOpciones IN Opciones a utilizar al crear un archivo. Si un archivo existe, las opciones especificadas no se utilizan. Todas las plataformas, a excepción de OS/400, ignoran las opciones. Actualmente, se admite la opción siguiente: CCSID=nnn, que especifica el ID del juego de caracteres codificado (CCSID) que se debe utilizar al crear un archivo nuevo. Nnn debe ser un CCSID válido del 1 al 65534.

Códigos de retorno

Tabla 184. Códigos de retorno de DTWF_OPEN
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.
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.
2000 Una función incorporada de la interfaz de archivo plano no ha podido encontrar el archivo especificado.
2001 Una función incorporada de la interfaz de archivo plano no ha podido abrir el archivo especificado porque lo estaba utilizando éste u otro proceso y no se podía compartir en la modalidad especificada.
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. Cuando el archivo no existe, debería especificarse una vía de acceso absoluta para el nombre de archivo y el directorio en el que va a crearse el archivo debe coincidir con un directorio especificado en FFI_PATH. Si no se utiliza una vía de acceso absoluta, el archivo se abrirá en el directorio de trabajo actual.
  2. DTWF_OPEN mantiene abierto el archivo, en caso contrario, el archivo se cierra después de cada operación de archivo plano.
  3. Utilice DTWF_OPEN para reducir el número de veces que se abre un archivo. Si no se utiliza DTWF_OPEN, el archivo se cierra después de cada operación de archivo plano. El archivo se deja abierto hasta que se cierra utilizando DTWF_CLOSE o finaliza el proceso de la macro.

Ejemplos

Ejemplo:

%DEFINE {
myFile = "c:/private/myfile"
myMode = "r+"
%}
@DTWF_OPEN(myFile, myMode, "1000")


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