hallo, ich bin neu hier und auch im tema abap-programmierung.
bei anwendung der methode cl_gui_frontend_services gui_upload zeigt er mein register das ich lesen moechte nicht an ( das archiv haette keine register ). die struktur des archives hatte ich vorher angegeben wie man sieht. liegt es vielleicht daran? hoffe kann diese frage hier einfach mal so stellen.
der inhalt ist mit in spanisch, danke schon mal im vorraus.
gruss suedamer
* Declaracion de datos
* Tabla de usuarios
DATA: BEGIN OF ti_archivo OCCURS 0,
dni(8) TYPE c,"DNI"
nombre_ape(30) TYPE c, "Nombre y apellido"
estado_usu(1) TYPE c, "Estado del usuario"
direccion(30) TYPE c, "Direccion"
f_nacimiento(8) TYPE c, "Fecha nacimiento"
estado_civil(1) TYPE c, "Estado civil"
END OF ti_archivo.
DATA: wa_archivo LIKE LINE OF ti_archivo.
* Pantalla de seleccion
* Archivo de entrada
PARAMETERS: p_path LIKE rlgrap-filename.
* Abrir ventana de archivoss
PERFORM abrir_ventana_archivos.
START-OF-SELECTION.
* Levanto el archivo de entrada
PERFORM levantar_archivo_entrada.
* Form ABRIR_VENTANA_ARCHIVOS
FORM abrir_ventana_archivos.
DATA: tl_filetable TYPE filetable,
wal_file_table TYPE file_table,
vl_rc TYPE i.
* Busco archivo local en el directorio de PC
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
default_filename = 'C:\Documents and Settings\karola\Escritorio\Usuarios.txt'
CHANGING
rc = vl_rc
file_table = tl_filetable.
READ TABLE tl_filetable INDEX 1 INTO wal_file_table.
IF sy-subrc EQ 0.
MOVE wal_file_table TO p_path.
ENDIF.
ENDFORM.
* Form LEVANTAR_ARCHIVO_ENTRADA
FORM levantar_archivo_entrada.
DATA: vl_file TYPE string.
IF p_path IS INITIAL.
* El path del archivo se encuentra en blanco
MESSAGE s017(Z_PRUEBA).
ELSE.
vl_file = p_path.
* Se abre el archivo de entrada para lectura
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
FILENAME = vl_file
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = ' '
CHANGING
data_tab = ti_archivo[]
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
NOT_SUPPORTED_BY_GUI = 17
ERROR_NO_GUI = 18
OTHERS = 19.
IF sy-subrc NE 0.
* Error al levantar el archivo de entrada
MESSAGE e018(Z_PRUEBA).
ENDIF.
IF ti_archivo IS INITIAL.
* El archivo de entrada no contiene registros
MESSAGE s019(Z_PRUEBA).
ENDIF.
ENDIF.
ENDFORM.


