✒️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
ARCHIVOS EN SERVIDOR: LAS SENTENCIAS TRANSFER, DELETE y CLOSE.
1.- Transferencias de archivos al servidor.
Para transferir los datos desde nuestros programas ABAP a los archivos ubicados en el servidor de aplicaciones se utiliza la sentencia TRANSFER.
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".
Ejemplo:
* abrir archivo
OPEN DATASET p_path FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
MESSAGE E000(z_prueba) WITH text-004.
ELSE.
* Transfiero los datos al fichero
st_archivo-dni = '27654315'.
st_archivo-nombre_ape = 'Miguel Acosta'.
st_archivo-estado_usu = 'A'.
st_archivo-direccion = 'Av. na'.
st_archivo-codigo_postal= '1568'.
st_archivo-fecha-nac = '19781097'.
st_archivo-estado_civil = 'S'.
TRANSFER st_archivo TO p_path.
ENDIF.
2.- Borrado de archivos del servidor.
Con la sentencia DELETE DATASET se borra los archivos del servidor de aplicaciones. Ejemplo:
DELETE DATASET <archivo>.
"Para borrar un archivo, previamente debemos abrirlo
Si el borrado se realiza correctamente, entonces el SY-SUBRC será 0, caso contrario será 4".
* Borra el archivo.
IF NOT p_borrar IS INITIAL.
DELETE DATASET p_path.
ENDIF.
3.- Cierre de archivos del servidor.
Para cerrar archivos en el servidor de aplicaciones, utilizamos COSE DATASET.
CLOSE DATASET <archivo>
"Es ampliamente recomendado realizar siempre el cierre de los archivos". Ejemplo:
* Cierre de ficheros
CLOSE DATASET p_path.
IF sy-subrc NE 0.
MESSAAGE e000(z_prueba) WITH text-004.
ENDIF.
4.- Búsqueda de archivos en el servidor.
Utilizando la función /SAPDMC/LSM_F4_SERVER_FILE, podemos crear un a ventana de navegación en el servidor de aplicaciones para poder seleccionar el archivo que deseamos.
DATA: vl_file(500) TYPE c.
CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
EXPORTING
directory = p_path
filemask = '*'
IMPORTING
serverfile = vl_file
EXCEPTIONS
canceled-by-user = 1
OTHERS = 2.
IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
MOVE vl_file TO p_path.
ENDIF.
Al ejecutar, si no se dispone de un servidor de aplicaciones; se desplegaría el mensaje en un aventana: "Operating system message opendir"
En caso contrario, se visualiza una ventana de diálogo en donde se puede buscar los archivos en el servidor.
 
 
 
Sobre el autor
Publicación académica de Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.
Miguel Angel Acosta Acosta
Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C
✒️Autor de: 238 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.
Certificación Académica de Miguel Acosta