pberezin написал:
филдкат надеюсь формируете стандартным ФМом (на основе словарной структуры)? Не аппендами в коде?
А что мешает точку останова влепить в коде ALV-грида, непосредственно перед местом дампа, - обычно там цикл конверсии данных, и видно, о какое поле спотыкается.
так спотыкается только при нажатии на суммирование, это тупо 5 полей, на каждом из них стопится.
я сразу и думал поставить точку прерывания. но что я там увижу? что оно сейчас стопится?
про стандартный ФМ не понял, предоставлю объявление
Code:
TABLES: zppmrp5, zppmrp5_12, mard, makt.
TYPES:
BEGIN OF ty_mpr5vs12,"gt_result_tab,
datuv TYPE zppmrp5_tmp1-datuv, "Дата
seqnr TYPE zppmrp5-seqnr, "Порядковый номер
matnr TYPE zppmrp5-matnr, "Изделие
werks_1 TYPE zppmrp5-werks_1, "Завод
matnr_1 TYPE zppmrp5-matnr_1, "ДСЕ
matnr_2 TYPE zppmrp5-matnr_2, "УЗЕЛ
maktg TYPE zpp_result_tab_mpr5vs12-maktg, "Название материала большими буквами для кода поиска
lgort_1 TYPE zppmrp5-lgort_1, "Склад отправитель
lgort_2 TYPE zppmrp5-lgort_2, "Склад получатель
arbpl_1 TYPE zppmrp5-arbpl_1, "Цех изготовитель
arbpl_2 TYPE zppmrp5-arbpl_2, "Цех потребитель
gamng_td TYPE zppmrp5-gamng, "Нормативная потребность
gamng_1_td TYPE zppmrp5_12-gamng, "Нормативная потребность за прошедший период
gamng_ld TYPE zppmrp5-gamng_1, "Подать в цех-потребитель(месяц)
gamng_1_ld TYPE zppmrp5_12-gamng_1, "Подать в цех-потребитель(месяц) за прошедший период
pbdnr TYPE zppmrp5-pbdnr, "Номер плана потребности
zbesk TYPE zppmrp5-zbesk, "Вид заготовки в концерне
elevel TYPE zppmrp5-elevel, "Уровень при разузловании
ia TYPE zppmrp5-ia, "Внутренний узел (индикатор)
id TYPE icon_d,"zppmrp5-id, "ID
count TYPE zppmrp5-ch, "Счетчик
celltab TYPE lvc_t_styl,
cellcolor TYPE lvc_t_scol,
END OF ty_mpr5vs12."gt_result_tab.
DATA: gt_result_tab TYPE TABLE OF ty_mpr5vs12.
DATA:
go_navigation_profile TYPE REF TO if_navp.
DATA: ok_code LIKE sy-ucomm,
g_container TYPE scrfname VALUE 'GRID1',
grid1 TYPE REF TO cl_gui_alv_grid,
gt_fieldcat TYPE lvc_t_fcat," каталог полей
gs_layout TYPE lvc_s_layo, " layout для строк документа
gs_variant TYPE disvariant,
gt_excluding TYPE ui_functions,
gt_sort TYPE lvc_t_sort,
gs_sort TYPE lvc_s_sort,
gt_filter TYPE lvc_t_filt,
gs_filter TYPE lvc_s_filt,
gt_okcode TYPE navp_t_okcode,
ls_alv_cell_style TYPE lvc_s_styl,
it_alv_style_list TYPE lvc_t_styl,
ls_alv_cell_color TYPE lvc_s_scol,
it_alv_color_list TYPE lvc_t_scol,
g_custom_container TYPE REF TO cl_gui_custom_container.
DATA l_elevel LIKE zppmrp5-elevel.
RANGES r_elevel FOR l_elevel.
FIELD-SYMBOLS: <fs_fieldcat> TYPE lvc_s_fcat,
<gs_result_tab> LIKE LINE OF gt_result_tab.
селекшн скрины пропускаю и селекты сами
Code:
CALL SCREEN 101.
FORM get_fieldcatalog.
FIELD-SYMBOLS:
<fs_fcat> LIKE LINE OF gt_fieldcat.
CLEAR gt_fieldcat[].
"Получаем FIELD-каталог по структуре-------------------
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZPP_RESULT_TAB_MPR5VS12'
i_bypassing_buffer = 'X'
CHANGING
ct_fieldcat = gt_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
"Редактируем FIELD-каталог-----------------------
LOOP AT gt_fieldcat ASSIGNING <fs_fieldcat>.
<fs_fieldcat>-col_opt = 'X'.
ENDLOOP.
ENDFORM. " GET_FIELDCATALOG
FORM init_style.
LOOP AT gt_result_tab ASSIGNING <gs_result_tab>.
CLEAR: <gs_result_tab>-celltab, it_alv_style_list, <gs_result_tab>-cellcolor, it_alv_color_list, ls_alv_cell_color.
"LOOP AT gt_fieldcat[] ASSIGNING <fs_fieldcat>.
LOOP AT gt_fieldcat ASSIGNING <fs_fieldcat>.
ls_alv_cell_style-fieldname = <fs_fieldcat>-fieldname.
ls_alv_cell_style-style = cl_gui_alv_grid=>mc_style_disabled."mc_style_enabled.
<fs_fieldcat>-col_opt = 'X'.
INSERT ls_alv_cell_style INTO TABLE it_alv_style_list.
ENDLOOP.
CLEAR: ls_alv_cell_color,it_alv_color_list.
IF <gs_result_tab>-gamng_td IS NOT INITIAL.
ls_alv_cell_color-fname = 'GAMNG_TD'. "gamng_td
ls_alv_cell_color-color-col = '2'. "color code 1-7, if outside rage defaults to 7
ls_alv_cell_color-color-int = '1'. "1 = Intensified on, 0 = Intensified off
ls_alv_cell_color-color-inv = '0'. "1 = text colour, 0 = background colour
APPEND ls_alv_cell_color TO it_alv_color_list.
ENDIF.
IF <gs_result_tab>-gamng_ld IS NOT INITIAL.
ls_alv_cell_color-fname = 'GAMNG_LD'."gamng_ld
ls_alv_cell_color-color-col = '0'. "color code 1-7, if outside rage defaults to 7
ls_alv_cell_color-color-int = '1'. "1 = Intensified on, 0 = Intensified off
ls_alv_cell_color-color-inv = '0'. "1 = text colour, 0 = background colour
APPEND ls_alv_cell_color TO it_alv_color_list.
ENDIF.
IF <gs_result_tab>-gamng_1_td IS NOT INITIAL.
ls_alv_cell_color-fname = 'GAMNG_1_TD'. "gamng_1_td
ls_alv_cell_color-color-col = '2'. "color code 1-7, if outside rage defaults to 7
ls_alv_cell_color-color-int = '1'. "1 = Intensified on, 0 = Intensified off
ls_alv_cell_color-color-inv = '0'. "1 = text colour, 0 = background colour
APPEND ls_alv_cell_color TO it_alv_color_list.
ENDIF.
IF <gs_result_tab>-gamng_1_ld IS NOT INITIAL.
ls_alv_cell_color-fname = 'GAMNG_1_LD'. "gamng_1_ld
ls_alv_cell_color-color-col = '0'. "color code 1-7, if outside rage defaults to 7
ls_alv_cell_color-color-int = '1'. "1 = Intensified on, 0 = Intensified off
ls_alv_cell_color-color-inv = '0'. "1 = text colour, 0 = background colour
APPEND ls_alv_cell_color TO it_alv_color_list.
ENDIF.
IF it_alv_color_list IS NOT INITIAL.
APPEND LINES OF it_alv_color_list TO <gs_result_tab>-cellcolor.
ENDIF.
APPEND LINES OF it_alv_style_list TO <gs_result_tab>-celltab.
ENDLOOP.
ENDFORM.