Olá,
Acredito que você pode verificar se a tabela interna que contém os dados enviados está vazia ou não.
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = 'c:\temp\upload_file.txt'
has_field_separator = 'X'
CHANGING
data_tab = t_upload_data[]
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.
ELSEIF t_upload_data[] IS INITIAL.
ENDIF.