Professional Documents
Culture Documents
font size
(0 votes)
The processing to implement the user-exit is as below:
*&---------------------------------------------------------------------*
*& Include
ZXQUEU01
*
*&---------------------------------------------------------------------*
* Implemented by: Ram Manohar Tiwari
* Presented by : www.rmtiwari.com
* Function
: Enhancement SQUE0001 : SAP Query - Private Data File
*
User-Exit FM : EXIT_RSAQEXCE_001
*
to download the SQ01 Query Results on application
*
server as tab separated data file.
*----------------------------------------------------------------------*
class cl_abap_char_utilities definition load.
DATA : lv_file_name LIKE rlgrap-filename.
DATA : empty(1),
fcnt TYPE i,
fpos TYPE i,
cfpos TYPE i,
feld(1000).
DATA: BEGIN OF ldata OCCURS 100.
INCLUDE STRUCTURE rsaqldata.
DATA: END OF ldata,
maxpos TYPE i.
FIELD-SYMBOLS: <feld>,
<cfeld>.
DATA: l_pos TYPE i.
data: l_length type i,
l_number(3) type n,
l_pos_f
type i.
constants: bufferlength type i value 1024.
constants: lc_tab type X value '09'.
REFRESH ldata.
LOOP AT datatab.
CLEAR ldata.
maxpos = 0.
fcnt = 0.
LOOP AT listdesc WHERE lid = list_id.
fcnt = fcnt + 1.
IF fcnt <> 1.
l_pos = maxpos + 1.
IF l_pos > bufferlength.
APPEND ldata.
CLEAR ldata.
maxpos = 0.
ENDIF.
ENDIF.
fpos = listdesc-flpos.
ASSIGN COMPONENT fpos OF STRUCTURE datatab TO <feld>.
WRITE <feld> TO feld.
SHIFT feld LEFT DELETING LEADING space.
l_length = strlen( feld ).
l_number = l_length.
l_pos_f = maxpos + l_length + 1.
if l_pos > bufferlength.
append ldata.
clear ldata.
maxpos = 0.
endif.
IF fcnt <> 1.
concatenate ldata CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB
feld into ldata.
else.
concatenate ldata
feld into ldata.
ENDIF.
maxpos = maxpos + strlen( l_number ) + 1 + l_length.
ENDLOOP.
APPEND ldata.
CLEAR ldata.
ENDLOOP.
DATA : lv_list_name(15) type C,
lv_length
type i.
lv_length = strlen( listtext ).
if lv_length < 15.
lv_list_name = listtext.
else.
lv_list_name = listtext(15).
endif.
CONCATENATE '\\SharedFileDirectoryName\' lv_list_name '_'