✒️ABAP / Los archivos en el servidor y las sentencias TRANSFER, DELETE y CLOSE Por Sergio Beltran Castaneda

Selector Alummnos / Empresas

CVOSOFT UNITED STATES OF AMERICA | 17 años de ingeniería dedicados a formación profesional de Consultores SAP | +info

ABAP Los archivos en el servidor y las sentencias TRANSFER, DELETE y CLOSE

ABAP Los archivos en el servidor y las sentencias TRANSFER, DELETE y CLOSE

TRANSFER: Escribe registros sobre un fichero en el servidor de aplicación.

Sintaxis:

TRANSFER <campo> TO <fichero> [ LENGTH <longitud> ].

Escribe el valor del campo <campo> en el fichero <fichero>. El modo de transferencia se especifica en la sentencia OPEN DATASET. Si el fichero no está abierto para escritura, el sistema intenta abrirlo en modo binario o con las opciones de la última sentencia OPEN DATASET para ese fichero, sin embargo, es recomendable abrir siempre el fichero con la sentencia OPEN DATASET. <fichero> puede ser un literal o un campo como en la sentencia OPEN DATASET. <campo> pude ser de un tipo elemental, o un string que no contenga tablas internas como componentes. Las tablas internas no se pueden escribir directamente sobre ficheros. Con la opción LENGHT se puede especificar la longitud de los datos que va a ser transferido. El sistema transfiere los primeros <longitud> bytes sobre el fichero. Si el campo <longitud> es más pequeño que el campo, se trunca. Si <longitud> es más grande que el campo, el campo se rellena con espacios en blanco.

DELETE: Para borrar líneas de una tabla interna contamos con la sentencia DELETE. Varios formatos de la sentencia nos permiten borrar líneas de una forma diferente.

Sintaxis:

DELETE <tabla>.

El sistema sólo puede procesar esta sentencia dentro de un bucle LOOP... ENDLOOP. La sentencia DELETE borra la línea que estemos tratando en el bucle.

DELETE <tabla> INDEX <índice>.

  • Con la cláusula INDEX, el sistema borra la línea con el índice <índice> en la tabla interna <tabla>. Después de borrar la línea, el índice de la siguiente línea se decrementa en 1. Si la operación es completada, la variable SY-SUBRC vale 0. Si la línea con el índice <índice> no existe, SY-SUBRC vale 4.

DELETE ADJACENT DUPLICATE ENTRIES FROM <tabla> [ COMPARING <c> ].

Esta sentencia borra todas las entradas duplicada adyacentes de una tabla interna. Dos líneas se consideran duplicadas si cumplen uno de los siguientes criterios de comparación:

  • Sin la cláusula COMPARING, el contenido de los campos claves estándar deben ser iguales.
  • Con la cláusula COMPARING con el formato siguiente: COMPARING <c1> <c2>. El contenido de los campos (c1, c2...) debe ser igual. También se puede especificar el nombre de los campos que hay que comparar en tiempo de ejecución utilizando la siguiente sintaxis: (<campo>). La variable <campo> contiene el nombre de la variable que se va a comparar. Si en el momento de procesar la sentencia DELETE, <campo> está vacío, el sistema la ignora. Si contiene el nombre inválido, se produce un error en tiempo de ejecución.
  • Con la cláusula COMPARING con el siguiente formato: COMPARING ALL FIELDS, el contenido de todos los campos debe ser igual.

Si el sistema borra al menos una línea de la tabla la variable SY-SUBRC valdrá 0 si no borra ninguna línea, SY-SUBRC valdrá 4. Es recomendable que la tabla interna este ordenada antes de ejecutar esta sentencia.

DELETE <TABLA> [ FROM <n1> ] [ TO <n2> ] [ WHERE <condición> ].

Sentencia utilizada para borrar registros de una tabla de la base de datos. Con esta sentencia se puede borrar una o varias líneas de una tabla. Sólo se pueden borrar líneas de una tabla a través de una vista si ésta sólo hace referencia a una única tabla.

Se debe indicar al menos una de las tres cláusulas.

  • Si utilizamos la sentencia sin la cláusula WHERE, el sistema borrará todas las líneas de la tabla <tabla> cuyo índice esté comprendido entre <n1> y <n2>.
  • Si no utilizamos la cláusula FROM, el sistema borrará desde la primera línea.
  • Si no utilizamos la cláusula TO, el sistema borrará hasta la última línea.
  • Con la cláusula WHERE el sistema sólo borrará aquellas líneas de la tabla <tabla> que cumplen la condición especificada en <condición>. En <condición> se puede utilizar cualquier expresión lógica. El primer operando debe ser un componente de la estructura de línea de la tabla interna. Si el sistema borra al menos una línea la variable SY-SUBRC valdrá 0, si no borra ninguna valdrá 4.

DELETE {<tabla> | (<campo>) } [ CLIENT SPECIFIED ] [ FROM <área> ].

  • Con la cláusula FROM, la línea que se borra es la que coincide con la clave primara del área <área>. Sin la cláusula FROM, la línea que se borra es la que coincide con la clave primaria del área de trabajo de la tabla <tabla>
  • El área de trabajo <área> debe tener al menos, la longitud de la clave primaria. Si se borra al menos una línea de la tabla la variable SY-SUBRC valdrá 0, si no se borra ninguna valdrá 4.
  • Con la especificación dinámica de la tabla, la cláusula FROM es obligatoria.

DELETE FROM {<tabla> | (<campo>) } [ CLIENT SPECIFIED ] [ WHERE <condición> ].

  • Esta variante nos permite borrar una o varias líneas de la tabla <tabla> en función de las especificaciones de la cláusula WHERE. Dicha cláusula tiene las mismas opciones que las vistas para la sentencia SELECT. Si no especificamos la cláusula WHERE, todas las líneas de la tabla se borran. <tabla> debe estar declarada con la sentencia TABLES.
  • La variable del sistema SY-DBCNT contiene el número de líneas borrar. Si se borra al menos una línea de la tabla la variable SY-SUBRC valdrá 0, si no se borra ninguna valdrá 4.

Hay que vigilar mucho con la cláusula WHERE para no borrar toda la tabla o líneas que no deseamos borrar. La única forma de recuperar lo borrada es restaurar el backup de la base de datos.

DELETE {<tabla> | (<tabla>) } [ CLIENT SPECIFIED ] FROM TABLE <tabla-interna>.

Con esta variante se puede borrar línea de una tabla de diccionario, basándose las líneas de una tabla interna. <tabla> y (<tabla>) sirve para especificar el nombre de la tabla de forma estática o dinámica. Esta sentencia borra aquellas líneas de la tabla cuya clave primaria coincida con la definida en una línea de la tabla interna. La tabla interna debe tener la longitud de la clave primaria de la tabla. Si el sistema no puede borrar ninguna entrada de la tabla porque no coincide ninguna clave primaria, el sistema continúa con la siguiente línea de la tabla interna. Si todas las líneas de la tabla interna se procesan, SY-SUBRC vale 0, en caso contrario vale 4. SY-DBCNT nos indica el número de líneas borradas. Si la tabla interna está vacía, SY-SUBRC y SY-DBCNT valen 0.

CLOSE: Esta sentencia cierra un fichero del servidor de aplicación.

Sintaxis:

CLOSE DATASET <fichero>.

Cierra el fichero <fichero>. <fichero> puede ser un literal o un campo, de la misma forma que en la sentencia OPEN DATASET. La operación de cerrar un fichero es sólo necesaria si quieres borrar el contenido de éste durante otra operación de escritura.

Para evitar errores y hacer que los programas sean más fáciles de leer, se debe cerrar un fichero antes de volver a utilizar la sentencia OPEN DATASET. Utilizando la sentencia CLOSE el programa se divide en bloques lógicos, haciendo más fácil el mantenimiento.


 

Escanear / Compartir

 

 

Agradecimiento:

Ha agradecido este aporte: Francisco Ortega Aguilar


Sobre el autor

Publicación académica de Sergio Armando Beltran Castaneda, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Inicial.

SAP Master

Sergio Armando Beltran Castaneda

Profesión: Ingeniero de Sistemas con Especialización en Gerencia de Proyectos - Colombia - Legajo: WK55K

✒️Autor de: 70 Publicaciones Académicas

🎓Cursando Actualmente: Carrera Consultor ABAP Nivel Avanzado

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Soy ingeniero de sistemas desde hace mas de 10 años y quiero enfocarme en el mundo sap, iniciando en el lenguaje abap, con miras a ampliar mi conocimiento profesional y laboral.

Certificación Académica de Sergio Beltran

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Los archivos en el servidor y las sentencias TRANSFER, DELETE y CLOSE" de la mano de nuestros alumnos.

SAP Expert


El resumen de "Los archivos en el servidor y las sentencias TRANSFER, DELETE y CLOSE" se centra en las sentencias ABAP utilizadas para escribir, eliminar y finalizar la manipulación de archivos que residen en el servidor de aplicaciones de SAP. Estas sentencias son parte del conjunto de comandos para el tratamiento de archivos en un entorno centralizado. 1. Sentencia TRANSFER (Transferencia de Datos) La sentencia TRANSFER se utiliza para mover datos desde un programa ABAP hacia un archivo ubicado en el servidor de aplicaciones de SAP. Sintaxis: TRANSFER <estructura> TO <archivo>. Funcionamiento: <estructura> es la fuente de datos dentro del programa (generalmente una variable o estructura...

Acceder a esta publicación

Creado y Compartido por: Gabriel José Luces González

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


Los archivos en el servidor y las sentencias TRANSFER, DELETE y CLOSE Transferencia de datos con ABAP La sentencia TRANSFER permite transferir datos desde los programas ABAP a archivos en el servidor de aplicaciones SAP. La forma en que se transfiere la información depende del modo de apertura del archivo, que puede influir si está en modo binario o según la última ejecución de OPEN DATASET. Ejemplo de uso fue mencionado para ilustrar el proceso. Borrado y cierre de archivos Para borrar archivos en el servidor, se utiliza la sentencia DELETE DATASET y es necesario primero abrir el archivo. Si la operación de borrado es exitosa, la variable SYSCRC toma valor cero; si falla, toma...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Conceptos Clave: · Sentencia para escribir: TRANSFER · Escribe datos desde una variable o estructura into un archivo abierto previamente con OPEN DATASET ... FOR OUTPUT/APPENDING. · Sentencia para borrar: DELETE DATASET · Elimina un archivo del servidor. SY-SUBRC = 0 si tiene éxito. · Sentencia para cerrar: CLOSE DATASET · Cierra un archivo abierto. Siempre se debe hacer al terminar de usarlo. · Búsqueda de archivos en el servidor: Usar el módulo de función /SAPDMC/LSM_F4_SERVER_FILE para mostrar un diálogo de selección de archivos del servidor de aplicaciones.

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Introducción: Aprende a transferir datos, eliminar archivos y cerrar conexiones en el servidor SAP con las sentencias ABAP TRANSFER, DELETE DATASET y CLOSE DATASET. ¡Control total sobre archivos centralizados! 1 Transferencia de Datos (TRANSFER) Función clave: "Envía datos desde ABAP a archivos abiertos en el servidor." Sintaxis: Comportamiento: Modo texto: Escribe líneas completas (incluye saltos de línea). Modo binario: Escribe bytes exactos (sin modificaciones). Ejemplos prácticos: Regla crítica: ¡El archivo debe estar abierto previamente con OPEN DATASET en modo OUTPUT o APPENDING! 2 Borrado de Archivos (DELETE DATASET) Función...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



Los Archivos en el Servidor y las Sentencias TRANSFER, DELETE y CLOSE en SAP ABAP En el entorno SAP ABAP, el manejo de archivos en el servidor de aplicación (Application Server) es una práctica común cuando se requiere procesar grandes volúmenes de datos, generar reportes externos, integrar con otros sistemas o almacenar respaldos de información. Para ello, SAP proporciona instrucciones específicas que permiten interactuar directamente con el sistema de archivos del servidor. Las sentencias más utilizadas en este contexto son: OPEN DATASET, TRANSFER, DELETE DATASET y CLOSE DATASET. Archivos en el servidor en SAP ABAP El manejo de archivos en el Application Server es más adecuado para...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Los archivos en el servidor y las sentencias TRANSFER, DELETE y CLOSE. 1 La transferencia de archivos al servidor Una vez abierto un archivo en el servidor con la sentencia OPEN DATASET en modo escritura (FOR OUTPUT) o en modo anexado (FOR APPENDING), es posible grabar información desde la memoria ABAP dentro de ese archivo utilizando la sentencia: TRANSFER <variable> TO <archivo>. Esta instrucción permite transferir datos línea por línea o bloque por bloque, dependiendo del modo en que se abrió el archivo (texto o binario). 2 El borrado de archivos del servidor En esta sección se explica cómo eliminar un archivo que se encuentra almacenado en el servidor de aplicaciones SAP utilizando...

Acceder a esta publicación

Creado y Compartido por: Geovanny Martínez Campoverde

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Tratamiento de archivos en el servidor TRANSFER: transferir datos de archivos al servidor TRANSFER <estructura> TO <archivo> El modo en que se realiza la transferencia es con el modo de apertura de archivo. Si no esta abierto para escritura, el sistema intentara abrirlo en BINARY MODE o utilizando la ultima ejecucion de la sentencia OPEN DATASET. DELETE: borrar archivos del servidor DELETE DATASET <archivo>. Para borrar un archivo se debe abrirlo antes, si el borrado se realiza correctamente sy-subrc sera 0, si no sera 4. CLOSE: cerrar archivos del servidor CLOSE DATASET <archivo>. Es recomendable siempre cerrar los archivos. Busqueda de archivos en el servidor Se usa el modulo de funciones /SAPDMC/LSM_F4_SERVER_FILE...

Acceder a esta publicación

Creado y Compartido por: Luciano Martinez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


El modo en que se realiza la transferencia de informacion se corresponde con el modo de apertura del archivo. Si el archivo no esta abierto para escritura, el sistema intentara abrirlo en BINARY MODE o utilizando la ultima ejecucion de la sentencia OPEN DATASET. Con la transaccion estandar CG3Y podemos copiar un archivo alogado en el servidor en nuestra computadora es sencilla utilizarla basta con pasar la ruta completa de origen y la del destino y elegir el formato de transferencia que puede ser ACII o Binario. Es ampliamente recomendable realizar siempre el cierre de los archivos EL BORRADO DE ARCHIVOS DEL SERVIDOR: se utiliza la sentencia DELETE DATASEET para borrar archivos del servidor de aplicaciones, La sentencia es: DELETE DATASET <archivo>....

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

La tranferrencia de archivos al servidor: Utilizamos la sentencia TRANSFER para tranferir datos desde nuestros programas ABAP a los srchivos ubicados en el servidor de la aplicación de SAP. El borrado de archivos de servidor: Utilizamos la sentencia DELETE DATASET para borror archivos del servidor de aplicaciones. El cierre de archivos del servior: Utilizaremos la sentencia CLOSE DATASET para cerrar archivos del servidor de aplicaciones. La búsqueda de archivos en el servidor: Utilizando el módulo de funciones / SAPDMC/LSM_F4_SERVER_FILE podemos crear una ventana de navegación en el servidor de aclicaciones de SAP para poder seleccionar el archivo que deseamos. Y si ejecutamos el código en un sistema SAP...

Acceder a esta publicación

Creado y Compartido por: Javier Miguel Angel Barcelo / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

LA TRASNFERENCIA DE ARCHIVOS AL SERVIDOR: se utiliza la sentencia TRANSFER para transferir datos desde nuestros programas ABAP a los archivos ubicados en el servidor de aplicaciones de SAP. La sintaxis es: TRANSFER <estructura> TO <archivo>. - El modo en que se realiza la transferencia de información se corresponde con el modo de apertura del archivo. - Si el archivo no está abierto para escritura, el sistema intentará abrirlo en BINARY MODE o utilizando la última ejecución de la sentencia OPEN DATASET. NOTA: Con la transacción estándar CG3Y podemos copiar un archivo alojado en el servidor a nuestra computadora, basta con pasar la ruta completa del origen y destino y elegir el formato...

Acceder a esta publicación

Creado y Compartido por: Jean Carlos Lopez / Disponibilidad Laboral: FullTime

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!