Hallo Muhammed,
you can check it if the program is executed in background or foregrond,
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN 'SJOB'.
Select uname from table_ABC into lv_uname where A = A.
" background processing
WHEN 'ONLI'.
" foreground processing
lv_uname = Sy-uname .
ENDCASE.
CALL FUNCTION gv_fm_name
EXPORTING
control_parameters = im_control_para
output_options = im_output_opt
iv_user = lv_uname ( in foreground , sy-uname, in background , from database)
IMPORTING
job_output_info = is_output_info
TABLES
lt_vbap = it_data
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
Regards
Ebrahim