*&---------------------------------------------------------------------*
*& Report ZTEST140
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
report ztest140.
data: begin of itab occurs 0 ,
matnr like mara-matnr,
maktx like makt-maktx,
meins like mara-meins,
ntgew like mara-ntgew,
gewei like mara-gewei,
end of itab.
data: lv_ntgew type c length 17,
w_rc type i.
data: gv_file like rlgrap-filename.
data: begin of it_down occurs 0,
line(1000) type c,
end of it_down .
selection-screen begin of block 1 with frame title text-001.
parameters: pr_error like rlgrap-filename obligatory default '/usr/sap/tmp'.
selection-screen end of block 1.
perform get_data.
if itab[] is not initial.
perform get_file.
perform download_server.
endif.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form get_data .
select distinct a~matnr b~maktx a~meins a~ntgew a~gewei into corresponding fields of table itab
from mara as a
inner join makt as b on b~matnr = a~matnr
where a~ntgew = '99999'.
sort itab by matnr.
concatenate 'Material Number' 'Material Description '
'Unit' 'Net Weight' 'Weight Unit'
into it_down
separated by cl_abap_char_utilities=>horizontal_tab.
append it_down .
loop at itab.
clear: lv_ntgew.
lv_ntgew = itab-ntgew.
condense lv_ntgew.
concatenate itab-matnr itab-maktx itab-meins lv_ntgew itab-gewei
into it_down
separated by cl_abap_char_utilities=>horizontal_tab.
append it_down .
endloop.
endform. " GET_DATA
*&---------------------------------------------------------------------*
*& Form GET_FILE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
form get_file.
* data: wa_key(30) type c.
* data: lv_i type i.
* data: lv_c(1) type c.
* data: wa_date(8) type c.
* data: wa_time like sy-uzeit.
* data: lv_char type c.
* wa_date = sy-datum.
* wa_time = sy-uzeit.
* concatenate 'ztest104' wa_date wa_time into wa_key.
* concatenate wa_key '.CSV' into wa_key.
*
* lv_i = strlen( pr_error ).
* lv_i = lv_i - 1 .
* if lv_i > 1.
* lv_c = pr_error+lv_i(1).
* endif.
** if P_TEST = 'X'.
** LV_CHAR = '\' .
** else.
* lv_char = '/' .
** endif.
* if lv_c eq lv_char.
* concatenate pr_error wa_key into gv_file.
* else.
* concatenate pr_error lv_char wa_key into gv_file.
* endif.
gv_file = '/usr/sap/tmp/ZTEST104.XLS'.
endform. " get_file
*&---------------------------------------------------------------------*
*& Form DOWNLOAD_SERVER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form download_server .
open dataset gv_file for output in text mode encoding default.
if sy-subrc eq 0.
loop at it_down .
transfer it_down-line to gv_file.
endloop.
endif.
close dataset gv_file.
endform. " DOWNLOAD_SERVER
*& Report ZTEST140
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
report ztest140.
data: begin of itab occurs 0 ,
matnr like mara-matnr,
maktx like makt-maktx,
meins like mara-meins,
ntgew like mara-ntgew,
gewei like mara-gewei,
end of itab.
data: lv_ntgew type c length 17,
w_rc type i.
data: gv_file like rlgrap-filename.
data: begin of it_down occurs 0,
line(1000) type c,
end of it_down .
selection-screen begin of block 1 with frame title text-001.
parameters: pr_error like rlgrap-filename obligatory default '/usr/sap/tmp'.
selection-screen end of block 1.
perform get_data.
if itab[] is not initial.
perform get_file.
perform download_server.
endif.
*&---------------------------------------------------------------------*
*& Form GET_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form get_data .
select distinct a~matnr b~maktx a~meins a~ntgew a~gewei into corresponding fields of table itab
from mara as a
inner join makt as b on b~matnr = a~matnr
where a~ntgew = '99999'.
sort itab by matnr.
concatenate 'Material Number' 'Material Description '
'Unit' 'Net Weight' 'Weight Unit'
into it_down
separated by cl_abap_char_utilities=>horizontal_tab.
append it_down .
loop at itab.
clear: lv_ntgew.
lv_ntgew = itab-ntgew.
condense lv_ntgew.
concatenate itab-matnr itab-maktx itab-meins lv_ntgew itab-gewei
into it_down
separated by cl_abap_char_utilities=>horizontal_tab.
append it_down .
endloop.
endform. " GET_DATA
*&---------------------------------------------------------------------*
*& Form GET_FILE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
form get_file.
* data: wa_key(30) type c.
* data: lv_i type i.
* data: lv_c(1) type c.
* data: wa_date(8) type c.
* data: wa_time like sy-uzeit.
* data: lv_char type c.
* wa_date = sy-datum.
* wa_time = sy-uzeit.
* concatenate 'ztest104' wa_date wa_time into wa_key.
* concatenate wa_key '.CSV' into wa_key.
*
* lv_i = strlen( pr_error ).
* lv_i = lv_i - 1 .
* if lv_i > 1.
* lv_c = pr_error+lv_i(1).
* endif.
** if P_TEST = 'X'.
** LV_CHAR = '\' .
** else.
* lv_char = '/' .
** endif.
* if lv_c eq lv_char.
* concatenate pr_error wa_key into gv_file.
* else.
* concatenate pr_error lv_char wa_key into gv_file.
* endif.
gv_file = '/usr/sap/tmp/ZTEST104.XLS'.
endform. " get_file
*&---------------------------------------------------------------------*
*& Form DOWNLOAD_SERVER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form download_server .
open dataset gv_file for output in text mode encoding default.
if sy-subrc eq 0.
loop at it_down .
transfer it_down-line to gv_file.
endloop.
endif.
close dataset gv_file.
endform. " DOWNLOAD_SERVER