Catch the Dump in ABAP – I
Posted by Admin, under ABAP, Function Modules, Quick Reference, Sample CodeNormally, if any exception occurred it will go to dump immediately in a program, then we will process this through the tcode ST22(dump analysis). This code comes handy when the behaviour of function module is not predictable.
Explicit Error Handling
We will convert the dump into an error message (like in above snap) or some text statement. For this we need to call this statement
RECEIVE RESULTS FROM FUNCTION ‘function module’
Sample Program
REPORT zcustom_errmsg.
PARAMETERS: p_file LIKE rlgrap-filename .
DATA: v_file TYPE string.
DATA: BEGIN OF itab OCCURS 0,
name(23) TYPE c,
END OF itab.
DATA: errormessage TYPE char50.
v_file = p_file.
CALL FUNCTION ‘GUI_UPLOAD’
EXPORTING
filename = v_file
filetype = ‘ASC’
has_field_separator = ‘ ‘
TABLES
data_tab = itab.
RECEIVE RESULTS FROM FUNCTION ‘GUI_UPLOAD’
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 .
CASE sy-subrc.
WHEN 0.
errormessage = ‘Data Loaded’.
WHEN 1.
errormessage = ‘FILE_OPEN_ERROR’.
WHEN 2.
errormessage = ‘FILE_READ_ERROR’.
WHEN 3.
errormessage = ‘NO_BATCH’.
WHEN 4.
errormessage = ‘GUI_REFUSE_FILETRANSFER’.
WHEN 5.
errormessage = ‘INVALID_TYPE’.
WHEN 6.
errormessage = ‘NO_AUTHORITY’.
WHEN 7.
errormessage = ‘UNKNOWN_ERROR’.
WHEN 8.
errormessage = ‘BAD_DATA_FORMAT’.
WHEN 9.
errormessage = ‘HEADER_NOT_ALLOWED’.
WHEN 10.
errormessage = ‘SEPARATOR_NOT_ALLOWED’.
WHEN 11.
errormessage = ‘HEADER_TOO_LONG’.
WHEN 12.
errormessage = ‘UNKNOWN_DP_ERROR’.
WHEN 13.
errormessage = ‘ACCESS_DENIED’.
WHEN 14.
errormessage = ‘DP_OUT_OF_MEMORY’.
WHEN 15.
errormessage = ‘DISK_FULL’.
WHEN 16.
errormessage = ‘DP_TIMEOUT’.
WHEN 17.
errormessage = ‘OTHERS’.
ENDCASE.
MESSAGE e001(00) WITH errormessage .
The above program will give an error message instead of a dump, dump in terms of minor errors is quite worthless to search for.
You might also be interested in these posts:

Post a Comment