PDA

Ver la Versión Completa : Error con archivo


jsalinas
17/06/08, 19:39:34
Como puedo capturar la excepcion cuando se hace un upload con la gui_upload de un archivo y el mismo no se encuentra en la ruta especificada.
Por favor pasar un ejemplo, probe haciendo esto pero no funciono

CATCH SYSTEM-EXCEPTIONS

CX_SY_DYN_CALL_ILLEGAL_TYPE.
ENDCATCH

Sabiendo que la excepcion que da el dump es CX_SY_DYN_CALL_ILLEGAL_TYPE.

Gracias !!!!

frankmerlos
17/06/08, 21:03:55
DATA: RUTA TYPE STRING.
Este programa te carga un archivo txt y te lo guarda en la TI, ITAB_INIC, Adicionalemente al hacer click en el macthcode te abre una ventana de dialogo "Abrir"

DATA: BEGIN OF ITAB_INIC OCCURS 0,
LINEA(500), "linea completa del archivo fuente.
END OF ITAB_INIC.

SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE PAR.
PARAMETERS:
P_RUTA like RLGRAP-FILENAME obligatory. "Ruta del archivo
SELECTION-SCREEN END OF BLOCK B2.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_RUTA.
* Función para obtener el nombre del archivo mediante el browser de Windows
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
CHANGING
FILE_NAME = P_RUTA.




REFRESH ITAB_INIC.
CLEAR ITAB_INIC.
RUTA = P_RUTA.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = RUTA
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = ' '
* HEADER_LENGTH = 0
* READ_BY_LINE = 'X'
* DAT_MODE = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* CHECK_BOM = ' '
* VIRUS_SCAN_PROFILE =
* IMPORTING
* FILELENGTH =
* HEADER =
TABLES
DATA_TAB = ITAB_INIC
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.