FUNCTION Y96_CUR_LIST_TO_EXCEL_BY_HTML.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*" IMPORTING
*" VALUE(FILENAME) TYPE C OPTIONAL
*" VALUE(CONFIRM) TYPE C DEFAULT 'X'
*" VALUE(EXEC) TYPE C DEFAULT 'X'
*" VALUE(COLOR_OFF) TYPE C DEFAULT ' '
*" VALUE(BORDER_OFF) TYPE C DEFAULT ' '
*" VALUE(SYMBOL_MODE) TYPE C DEFAULT '-'
*" VALUE(CHECKBOX_MODE) TYPE C DEFAULT '-'
*" VALUE(ICON_MODE) TYPE C DEFAULT '-'
*" VALUE(CELLS_OPTIMIZATION) TYPE C DEFAULT 'X'
*" VALUE(NOTCOLSPAN) TYPE C DEFAULT ' '
*" VALUE(ROWFILTER_ON) TYPE C DEFAULT ' '
*" VALUE(REWRITE) TYPE C DEFAULT 'C'
*"----------------------------------------------------------------------
DATA:
LIST TYPE SLIST_LIST_TAB,
FMBS TYPE SLIST_FMBS_TAB,
FMBX TYPE SLIST_FMBS_TAB,
FSEL TYPE SLIST_FSEL_TAB,
FIDO TYPE SLIST_FIDO_TAB,
HIDE TYPE SLIST_HIDE_TAB,
HIDELINE TYPE SLIST_HIDELINE_TAB.
DATA: TNAME(72) TYPE C,
ITTAB(256) TYPE X OCCURS 0 WITH HEADER LINE.
FIELD-SYMBOLS: , .
* Беда в том что в процессе подготовки (init и confirm_filename)
* таблицы листинга перестают указывать на данные текущий списока
* поэтому приходится извращаться
DO.
CASE SY-INDEX.
WHEN 1. TNAME = 'LIST'.
WHEN 2. TNAME = 'FMBS'.
WHEN 3. TNAME = 'FMBX'.
WHEN 4. TNAME = 'FSEL'.
WHEN 5. TNAME = 'FIDO'.
WHEN 6. TNAME = 'HIDE'.
WHEN 7. TNAME = 'HIDELINE'.
WHEN OTHERS. EXIT.
ENDCASE.
XASSIGN (TNAME) .
APPEND TO ITTAB.
CONCATENATE '(SAPMSSY0)%_' TNAME INTO TNAME.
XASSIGN (TNAME) .
= .
* После этого присвоения соотв. локальная таблица будет
* указывать на данные соотв. тадблицы в прог. SAPMSSY0
ENDDO.
SET_PARAM.
IF SY-SUBRC = 0.
PERFORM GET_HTML TABLES LIST FMBS FMBX FSEL
FIDO HIDE HIDELINE.
PERFORM SAVE_FILE USING SCR-FNAME SCR-EXEC.
ENDIF.
* Это нужно чтоб локально обявленые таблицы корректно освободились по
* по выходу из ФМ (возвращаем всё как было)
LOOP AT ITTAB.
CASE SY-TABIX.
WHEN 1. TNAME = 'LIST'.
WHEN 2. TNAME = 'FMBS'.
WHEN 3. TNAME = 'FMBX'.
WHEN 4. TNAME = 'FSEL'.
WHEN 5. TNAME = 'FIDO'.
WHEN 6. TNAME = 'HIDE'.
WHEN 7. TNAME = 'HIDELINE'.
WHEN OTHERS. EXIT.
ENDCASE.
XASSIGN (TNAME) .
= ITTAB.
ENDLOOP.
ENDFUNCTION.
Используются технологии
uCoz