I feel like this should have been reported to SAP OSS if that's standard program...
Or are you trying to ask how can custom ABAP report take over default output device from User profile? Then you should have searched first, because it's a fairly basic question. On the other hand, SCN discussions on this topic have been littered by folks neglecting to search for solution themselves before posting, so here goes - this little program illustrates how to get default output device:
DATA: gf_valid TYPE abap_bool ,
gs_pri_params TYPE pri_params.
CALLFUNCTION'GET_PRINT_PARAMETERS'
EXPORTING
no_dialog = abap_true
IMPORTING
out_parameters = gs_pri_params
valid = gf_valid
EXCEPTIONS
archive_info_not_found = 1
invalid_print_params = 2
invalid_archive_params = 3
OTHERS = 4.
write: gs_pri_params-pdest .
Yes, the IMPORTING parameter VALID must unfortunately be supplied.
cheers
Jānis