✒️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
1. Transferencia de archivos al servidor
Utilizaremos la sentencia TRANSFER. Para transferir datos desde nuestros programas ABAP a los archivos ubicados en el servidor de aplicaciones. La sintaxis es la siguiente:
TRANSFER <escritura> TO <archivo>.
Ejemplo
* Abrir Fichero
OPEN DATASET p_path FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
MESSAGE s000(z_prueba) WITH text-004.
ELSE.
* Transfiero los datos al fichero
st_archivo-dni = '27654315'.
st_archivo-nombre_ape = 'Ricardo Alvarez'.
st_archivo-estado_usu = 'A'.
st_archivo-direccion = 'Lavallol 1454'.
st_archivo-codigo_postal = '1568'.
st_archivo-f_nacimiento = '19781097'.
st_archivo-estado_civil = 'S'.
TRANSFER st_archivo TO p_path.
Nota: con la transaccion estandar CG3Y podemos copiar un archivo alojado en el servidor a nuestra computadora.
2. Borrado de archivos del servidor.
Utilizamos la sentencia DELETE DATASET para borrar archivo del servidor de aplicaciones. La sintaxis de la sentencia es la siguiente:
DELETE DATASET <archivo>.
Ejemplo
* Borra el archivo
IF NOT p_borrar IS INITIAL.
DELETE DATASET p_path.
ENDIF.
3. Cierre de archivos del servidor
Utilizamos la sentencia CLOSE DATASET para cerrar archivos del servidor de aplicaciones. La sintaxis de la sentencia es la siguiente: CLOSE DATASET <archivo>.
Nota: es importante realizar el cierre de archivo.
Un ejemplo seria:
* Cierro el fichero
CLOSE DATASET p_path.
IF sy-subrc NE 0.
MESSAGE s000(z_prueba) WITH text-006.
ENDIF.
4. Búsqueda de archivos en el servidor.
Utilizamos la funsion /SAPDMC/LSM_F4_SERVER_FILE podemos crear una ventana de navegación en el servidor de aplicación para poder seleccionar el archivo que deseamos. Veamos un ejemplo de su utilización
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 < 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
MOVE vl_file TO p_path.
ENDIF.
 
 
 
Sobre el autor
Publicación académica de Edward Henry Rosario Piezal, en su ámbito de estudios para la Carrera Consultor ABAP.
Edward Henry Rosario Piezal
Profesión: Ingeniero en Sistema - Republica Dominicana - Legajo: FM99R
✒️Autor de: 68 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Edward Rosario