✒️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.
Transferencia de archivos al servidor.
Utilizaremos la sentencia TRANSFER(Sentencia ABAP que se utiliza para transferencia de datos al servidor de aplicaciones Unix.)para transferir datos desde nuestros programas ABAP a los archivos ubicados en el servidor de aplicaciones. La sintaxis es la siguiente.
TRANSFER<estructura>TO<archivo>.
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.
Ejemplo.
*abrir fichero
OPEN DATASET p_patch 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= '2345678'.
st_archivo-nombre_ape='Ricardo Alvarez'.
st_archivo-estado_usu='A'.
st_archivo-direccion='Lavallol 1435'.
st_archivo-codigo_postal='1568'.
st_archivo-f_nacimiento='19781097'.
st_archivo-estado_civil='S'.
TRANSFER st_archivo TO p_patch.
----------------------------------------------------------
TRANSACCION CG3Y podemos copiar un archivo alojado en el servidor en nuestra computadora, basta con pasar la ruta completa del origen y del destino , y elegir el formato de transferencia que puede ser ASCCII o BINARIO.
BORRADP DE ARCHIVOS DEL SERVIDOR.
Utilizaremos la sentencia DELETE DATASET para borrar archivos del servidor de aplicaciones.La sintaxis es la siguiente.
DELETE DATASET<archivo>.
Para borrar un archivo, previamente debemos abrirlo. Si el borrado se realiza correctamente, entonces el SY-SUBRC sera 0.Caso contrario, sera 4.
ejemplo.
*borra el archivo
IF NOT p_borrar IS INITIAL.
DELETE DATASET p_patch.
ENDIF.
CIERRE DE ARCHIVOS DEL SERVIDOR.
Utilizaremos la sentencia CLOSE DATASET para cerrar archivos del servidor de aplicaciones. La sintaxis es la siguiente.
CLOSE DATASET<archivo>.
ejemplo.
*cierro el fichero
CLOSE DATASET p_patch.
IF sy-subrc NE 0.
MESSAGER s000(z_prueba) WITH text-006.
ENDIF.
ENDIF.
BUSQUEDA DE ARCHIVOS EN EL SERVIDOR.
Utilizando la funcion /SAPDMC/LSM_F4_SERVER_FILE podemos crear una ventana de navegacion en el servidor de aplicaciones para poder seleccionar el archivo que deseamos. ejemplo.
DATA: vl_file(500) TYPE c.
CALL FUNCTION '/SAPDMC/LSM_F4_SERVER_FILE'
EXPORTING.
directory = p_patch.
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_patch.
ENDIF.
 
 
 
Sobre el autor
Publicación académica de Marco Antonio Vazquez Gonzalez, en su ámbito de estudios para la Carrera Consultor ABAP.
Marco Antonio Vazquez Gonzalez
Mexico - Legajo: RB98L
✒️Autor de: 60 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Marco Vazquez