Не знаю, наверное опять хочу того, чего не должна хотеть...

, но очень надо.
Короче, есть ALV с субтоталами по полю "А" (вложено "Б" (вложено "С" )). Поле "С" свернуто (expa = 'х')
Требуется: вывести алв в ексел как есть на экране + строка сверху таблицы, + шапка таблицы, + после алв еще другая it + еще много чего. Без шаблонов.
Делаю как:
Выгружаю в ексел через i_oi_spreadsheet. Делаю группы через spreadsheet->set_hierarchy_table.
Вот тут подсмотрела, да не все есть. (Ссылка на важные таблицы есть, но нет описания таблицы иерархии)
http://help.sap.com/saphelp_47x200/helpdata/en/21/b53144e1ba11d2bdbe080009b4534c/frameset.htm
Субтоталы считаю вручную и вывожу соответственно в строку, следующую после последней строки в группе.
Как сделать, чтобы итоги были снизу? 
Как в екселе(данные - группа и структура - настройка - птичка итоги в строках под данными)
Как сделать, чтобы группы были свернутыми (+) ?
И вообще, может есть более элегантное решение, как выгрузить алв в ексел и добавить текст сверху и снизу выводимой таблицы? А то как-то не хочется писать то, что наверняка уже реализовано стандартными средствами.
Code:
ATA: sytab_ind LIKE sy-tabix.
DATA: wa_s_ktrart TYPE t_sum_line,
wa_s_hkont TYPE t_sum_line,
wa_s_vbund TYPE t_sum_line
.
DATA: wa_h_ktrart LIKE LINE OF hierarchy_table,
wa_h_hkont LIKE LINE OF hierarchy_table,
wa_h_vbund LIKE LINE OF hierarchy_table
.
DATA: am_ktrart LIKE sy-tabix,
am_hkont LIKE sy-tabix,
am_vbund LIKE sy-tabix.
* Achtung! Very inflexible alhorythm. Only for ktrart->hkont->vbund
SORT it_liste BY ktrart hkont vbund shkzg.
LOOP AT it_liste.
sytab_ind = sy-tabix.
AT NEW vbund.
wa_h_vbund-firstline = k_y + 1.
CLEAR: am_vbund.
ENDAT.
AT NEW hkont.
wa_h_hkont-firstline = k_y + 1.
CLEAR: am_hkont.
ENDAT.
AT NEW ktrart.
wa_h_ktrart-firstline = k_y + 1.
CLEAR: am_ktrart.
ENDAT.
* - count amount of rows in hierarhy
am_ktrart = am_ktrart + 1.
am_hkont = am_hkont + 1.
am_vbund = am_vbund + 1.
* --- gather account sum table
MOVE-CORRESPONDING it_liste TO it_acc_sums.
COLLECT it_acc_sums.
* --- write data to table cells like excel cells
CLEAR: it_excel. " it-header
k_y = k_y + 1.
WRITE: it_liste-ktrart TO it_excel-b,
it_liste-hkont TO it_excel-c,
it_liste-vbund TO it_excel-e.
WRITE it_liste-shkzg TO it_excel-d.
PERFORM write_sum_to_excel USING it_liste-dmbtr_its
CHANGING it_excel-f.
PERFORM write_sum_to_excel USING it_liste-dmbtr_sap
CHANGING it_excel-g.
PERFORM write_sum_to_excel USING it_liste-delta
CHANGING it_excel-h.
APPEND it_excel.
* --- formatting data cells
CLEAR cell_format.
IF sytab_ind = 1.
cell_format-frametyp = 66.
ENDIF.
cell_format-top = k_y.
cell_format-left = k_x + 4.
cell_format-rows = 1.
cell_format-columns = 2.
cell_format-number = 1.
cell_format-decimals = 2.
APPEND cell_format.
CLEAR cell_format.
* -- Count global total sums
gsum_dmbtr_its = gsum_dmbtr_its + it_liste-dmbtr_its.
gsum_dmbtr_sap = gsum_dmbtr_sap + it_liste-dmbtr_sap.
gsum_delta = gsum_delta + it_liste-delta.
* -- Count subtotals
wa_s_ktrart-its = wa_s_ktrart-its + it_liste-dmbtr_its.
wa_s_ktrart-sap = wa_s_ktrart-its + it_liste-dmbtr_sap.
wa_s_ktrart-delta = wa_s_ktrart-its + it_liste-delta.
wa_s_hkont-its = wa_s_hkont-its + it_liste-dmbtr_its.
wa_s_hkont-sap = wa_s_hkont-its + it_liste-dmbtr_sap.
wa_s_hkont-delta = wa_s_hkont-its + it_liste-delta.
wa_s_vbund-its = wa_s_vbund-its + it_liste-dmbtr_its.
wa_s_vbund-sap = wa_s_vbund-its + it_liste-dmbtr_sap.
wa_s_vbund-delta = wa_s_vbund-its + it_liste-delta.
AT END OF vbund.
am_ktrart = am_ktrart + 1.
am_hkont = am_hkont + 1.
* - hierarhy
wa_h_vbund-length = am_vbund.
APPEND wa_h_vbund TO hierarchy_table.
CLEAR: am_vbund, wa_h_vbund.
* -- output sum
CONCATENATE '... ' it_liste-vbund '-Summe'(t18) INTO it_excel-b.
PERFORM write_sum_to_excel USING wa_s_vbund-its
CHANGING it_excel-f.
PERFORM write_sum_to_excel USING wa_s_vbund-sap
CHANGING it_excel-g.
PERFORM write_sum_to_excel USING wa_s_vbund-delta
CHANGING it_excel-h.
CLEAR: it_excel-c, it_excel-d,
it_excel-e, cell_format.
APPEND it_excel.
* -- format sum line
k_y = k_y + 1.
cell_format-top = k_y.
cell_format-left = k_x.
cell_format-rows = 1.
cell_format-columns = columns_number - 3.
cell_format-back = 0.
cell_format-bold = 1.
APPEND cell_format.
cell_format-left = k_x + columns_number - 3.
cell_format-columns = 3.
cell_format-frametyp = 134. " =
cell_format-number = 1.
cell_format-decimals = 2.
APPEND cell_format.
CLEAR: it_excel, cell_format, wa_s_vbund.
ENDAT.
AT END OF hkont.
am_ktrart = am_ktrart + 1.
* - hierarhy
wa_h_hkont-length = am_hkont.
APPEND wa_h_hkont TO hierarchy_table.
CLEAR: am_hkont, wa_h_hkont.
* -- output sum
CONCATENATE '.. ' it_liste-hkont '-Summe'(t18) INTO it_excel-b.
PERFORM write_sum_to_excel USING wa_s_hkont-its
CHANGING it_excel-f.
PERFORM write_sum_to_excel USING wa_s_hkont-sap
CHANGING it_excel-g.
PERFORM write_sum_to_excel USING wa_s_hkont-delta
CHANGING it_excel-h.
CLEAR: it_excel-c, it_excel-d,
it_excel-e, cell_format.
APPEND it_excel.
* -- format sum line
k_y = k_y + 1.
cell_format-top = k_y.
cell_format-left = k_x.
cell_format-rows = 1.
cell_format-columns = columns_number - 3.
cell_format-back = 0.
cell_format-bold = 1.
APPEND cell_format.
cell_format-left = k_x + columns_number - 3.
cell_format-columns = 3.
cell_format-frametyp = 134. " =
cell_format-number = 1.
cell_format-decimals = 2.
APPEND cell_format.
CLEAR: it_excel, cell_format, wa_s_hkont.
ENDAT.
AT END OF ktrart.
* - hierarhy
wa_h_ktrart-length = am_ktrart.
APPEND wa_h_ktrart TO hierarchy_table.
CLEAR: am_ktrart, wa_h_ktrart.
* -- output sum
CONCATENATE '. ' it_liste-ktrart '-Summe'(t18) INTO it_excel-b.
PERFORM write_sum_to_excel USING wa_s_ktrart-its
CHANGING it_excel-f.
PERFORM write_sum_to_excel USING wa_s_ktrart-sap
CHANGING it_excel-g.
PERFORM write_sum_to_excel USING wa_s_ktrart-delta
CHANGING it_excel-h.
CLEAR: it_excel-c, it_excel-d,
it_excel-e, cell_format.
APPEND it_excel.
* -- format sum line
k_y = k_y + 1.
cell_format-top = k_y.
cell_format-left = k_x.
cell_format-rows = 1.
cell_format-columns = columns_number - 3.
cell_format-back = 0.
cell_format-bold = 1.
APPEND cell_format.
cell_format-left = k_x + columns_number - 3.
cell_format-columns = 3.
cell_format-frametyp = 134. " =
cell_format-number = 1.
cell_format-decimals = 2.
APPEND cell_format.
CLEAR: it_excel, cell_format, wa_s_ktrart.
ENDAT.
ENDLOOP.
тут правда еще группы пока по-дурацки разбиваются