<html>
<head> <title>OPEN DATASET</title> </head> <BODY BGCOLOR="#000000" TEXT="#FFFFFF" LINK="#0099FF" VLINK="#AA0000"> <p align="left">⚠ <b>
<span class="titulo">OPEN DATASET</span>⚠ </b>
</p>
<p align="left">⚠ <b>
Definicin⚠ </b>
</p>
<p align="left">Abre un fichero en el servidor de aplicacin.</p>
<p align="left">⚠ <b>
Sintaxis:⚠ </b>
</p>
<pre>OPEN DATASET <fichero> [ MESSAGE <mensaje> ]
[ FOR INPUT | FOR OUPUT | FOR APPENDING ]
[ IN BINARY | IN TEXT MODE ] [ AT POSITION <posicin> ].</pre>
<p>Abre el fichero <fichero>. Si no se especifica la opcin
para el modo de apertura, el fichero se abre para lectura en modo binario. Si el sistema puede abrir el fichero, SY-SUBRC vale 0. En caso contrario vale 8. <fichero> puede ser un literal o un campo que contenga el nombre del fichero. Si no se especifica el camino de acceso del fichero, el sistema abre el fichero en el directorio donde el sistema SAP se est ejecutnado, en el servidor de aplicacin. Para abrir un fichero, el usuario bajo el que se est ejecutando el sistema SAP debe tener las apropiadas autorizaciones del sistema operativo.</p>
<ul>
<li>MESSAGE -> Sobre el campo <mensaje> recibimos mensajes del sistema operativo de cmo ha ido la operacin de apertura del fichero. <mensaje> y la variable del sistema SY-SUBRC nos pueden servir para controlar los posibles errores que puedan surgir.</li> <li>FOR INPUT -> El fichero se abre para lectura. Si el fichero no existe SY-SUBRC vale 8. Si el fichero ya se ecnuentra abierto (para cualquier opcin de apertura: lectura, escritura, aadir), el sistema inicia el posicionamiento sobre el fichero al principio de ste. Con esto el sistema no da error, pero se recomienda utilizar la sentencia CLOSE DATASET antes de utilizar de nuevo un fichero.</li> <li>FOR OUPUT -> Abre un fichero para escritura. Si el fichero no existe se crea, si existe y adems esta abierto en el programa, el posicionamiento sobre el fichero se inicia a la primera posicin de ste. Si el fichero no se puede abrir, SY-SUBRC valdr 8.</li> <li>FOR APPENDING -> El fichero se abre para escritura para aadir registros al final del fichero. Si el fichero no existe se crea. Si el fichero existe y est cerrado, el sistema abre el fichero y posiciona el cursor del fichero al final de ste. Si el fichero existe y est abierto en el programa, la posicin del cursor del fichero se posiciona al final de ste. La variable del sistema siempre toma el valor 0. Es aconsejable cerrar el fichero antes de abrirlo en el mismo programa.</li> <li>IN BINARY MODE -> El fichero abierto, tanto para lectura como para escritura, los datos se transmiten byte a byte. El contenido del fichero no es interpretado durante la transmisin. Cuando escribimos el contenido de un campo sobre un fichero, el sistema transmite todos los bytes del campo fuente. Cuando leemos datos de un fichero de un campo, el nmero de bytes transferidos depende de la longitud del campo receptor. Cuando despus de la lectura, referenciamos el campo destino en otra sentencia, el sistema interpreta el contenido del campo en funcin de su tipo.</li> <li>IN TEXT MODE -> El fichero se abre en modo texto. Los datos ledos del fichero o los datos escritos sobre el fichero se realizan de lnea en lnea. Por cada sentencia TRANSFER se escriben todos los bytes pertenecientes a una lnea y se pone una marca de fin de lnea. Si el campo destino es ms pequeo que la lnea del fichero, los datos se truncan. Si el campo destino es mayor que la lnea leda, se rellena con caracteres en blanco. Se debe utilizar el modo texto si queremos escribir string sobre el fichero, o si conocemos el formato de la lnea del fichero.</li> <li>AT POSITION -> El fichero se abre en una posicin determinada. El cursor del fichero se posiciona en la posicin <posicin> es contada en bytes desde el principio del fichero. No se puede especificar una posicin anterior al principio del fichero.</li>
</ul>
<p>⚠ <b>
Vase tambin:⚠ </b>
⚠ <a href="close_dataset.htm" tppabs="close_dataset.htm">
CLOSE DATASET⚠ </a>
,
⚠ <a href="read_dataset.htm" tppabs="read_dataset.htm">
READ DATASET⚠ </a>
.</p>
</body>
</html>