Hola, soy nuevo en esto de ABAP y SAP.
se me encargo una tarea pero se me ha hecho dificil.
es lo siguiente.
tengo que subir un archivo plano con datos a la tabla xth_data y si encuentra los mismos datos debe sobreescribirlos, el problema es que ninguno de mis conocidos sabe como hacer esto.
de antemano muchas gracias.
Hola,
Para subir el fichero plano puedes utilizar la funcion GUI_UPLOAD, te adjunto un ejemplo.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = 'c:\datos.txt' "Ruta del fichero
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = 'X' "X es el tabulador como delimitador
TABLES
DATA_TAB = t_datos "Tabla donde meto los datos del fichero
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.
Y para sobrescribir los datos puedes utilizar la instrucción MODIFY, que lo que hace es que si ya existe algún registro con los mismos campos clave te lo sobrescribe y si no existe te crea uno nuevo.
Saludos.
Muchas gracias por tu ayuda.
Saludos. ;D