Текущее время: Пн, июл 28 2025, 20:34

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: проблемы с шапкой в алв
СообщениеДобавлено: Вт, июл 11 2006, 21:02 
Начинающий
Начинающий

Зарегистрирован:
Чт, июн 01 2006, 15:56
Сообщения: 23
Откуда: Екатеринбург
Хочу вывести шапку в алв отчете, но не получается.

Вроде все правильно, но выходит ошибка «No callback program passed»

Code:
data: repid like sy-repid.
data: fieldcat  type slis_t_fieldcat_alv with header line.
data: keyinfo   type slis_keyinfo_alv.
data: color     type slis_t_specialcol_alv with header line.
data: layout    type slis_layout_alv.
data: print     type slis_print_alv.
data: sort      type slis_t_sortinfo_alv with header line.
data: gt_events  type slis_t_event.
data: gt_top_of_page type slis_t_listheader.

start of selection.

perform list_output.

form list_output.
  perform list_input.
  perform prl_fieldcat.               
  perform fill_events.

loop at bestand.
    on change of bestand-obkt or bestand-lifnr.
      move-corresponding bestand to header.
      append header.
    endon.
    bestand-farbe = color[].
    modify bestand.
  endloop.

  layout-coltab_fieldname  = 'FARBE'.
  layout-group_change_edit = 'X'.
  print-no_print_listinfos = 'X'.
 
clear keyinfo.
  keyinfo-header01 = 'LIFNR'.
  keyinfo-item01 = 'LIFNR'.

   call function 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
       exporting
            i_callback_program = repid
            is_layout          = layout
            it_fieldcat        = fieldcat[]
            i_default          = 'X'
            i_save             = 'A'
            i_tabname_header   = 'HEADER'
            i_tabname_item     = 'BESTAND'
            it_events          = gt_events[]
            is_keyinfo         = keyinfo
            is_print           = print
            it_sort            = sort[]

       tables
            t_outtab_header    = header
            t_outtab_item      = bestand.
endform.                    " LIST_OUTPUT

*---------------------------------------------------------------------*

*       FORM TOP_OF_PAGE                                              *

*---------------------------------------------------------------------*

form top_of_page.
  data:
    ls_top_of_page like line of gt_top_of_page,
    l_low_dat_txt(8), l_high_dat_txt(8).

   refresh gt_top_of_page.
   clear gt_top_of_page.

  ls_top_of_page-info = 'Отчет по кап ремонту'.
  ls_top_of_page-typ = 'S'.
  append ls_top_of_page to gt_top_of_page.
  clear ls_top_of_page.

  call function 'REUSE_ALV_COMMENTARY_WRITE'
       exporting
            it_list_commentary = gt_top_of_page[]
       exceptions
            others             = 1.
  write: at (sy-linsz) sy-pagno.
endform.

*---------------------------------------------------------------------*

*       FORM FILL_EVENTS                                               *

*---------------------------------------------------------------------*

form fill_events.
  data:
    ll_events like line of gt_events.

  refresh gt_events.
  clear gt_events.
  call function 'REUSE_ALV_EVENTS_GET'
      exporting
           i_list_type     = 0
      importing
           et_events       = gt_events[]
       exceptions
            list_type_wrong = 1
            others          = 2.

  read table gt_events with key name = 'TOP_OF_PAGE'
    into ll_events.
  if sy-subrc = 0.
    ll_events-form = 'TOP_OF_PAGE'.
    modify gt_events from ll_events index sy-tabix.
  endif.

endform.                    " FILL_EVENTS

*---------------------------------------------------------------------*

*      Form  PRL_FIELDCAT                                               *

*---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

form prl_fieldcat.
refresh fieldcat.
clear fieldcat.
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
     exporting
          i_program_name         = repid
          i_internal_tabname     = 'HEADER'
          i_inclname             = repid
      changing
           ct_fieldcat            = fieldcat[]
      exceptions
           inconsistent_interface = 1
           program_error          = 2
           others                 = 3.

call function 'REUSE_ALV_FIELDCATALOG_MERGE'
     exporting
          i_program_name         = repid
          i_internal_tabname     = 'BESTAND'
          i_inclname             = repid
      changing
           ct_fieldcat            = fieldcat[]
      exceptions
           inconsistent_interface = 1
           program_error          = 2
           others                 = 3.

clear fieldcat.
fieldcat-fieldname     = 'OBKT'.
fieldcat-tabname       = 'HEADER'.
  fieldcat-ref_tabname   = 'AUFK'.
  fieldcat-ref_fieldname = 'AUFNR'.
  fieldcat-ref_tabname   = 'T52B5'.
  fieldcat-ref_fieldname = 'PONAM'.
  fieldcat-outputlen     = 12.
  append fieldcat.
  clear fieldcat.
  fieldcat-fieldname     = 'OBKT_NAM'.
  fieldcat-tabname       = 'HEADER'.
  fieldcat-ref_tabname   = 'AUFK'..
  fieldcat-ref_fieldname = 'KTEXT'.
append fieldcat.
clear fieldcat.
fieldcat-fieldname     = 'LIFNR'.
fieldcat-tabname       = 'HEADER'.
fieldcat-ref_tabname   = 'LFA1'.
append fieldcat.
clear fieldcat.
fieldcat-fieldname     = 'LIF_NAM'.
fieldcat-tabname       = 'HEADER'.
clear fieldcat.
fieldcat-fieldname     = 'BELNR_'.          "Документ
fieldcat-tabname       = 'BESTAND'.
fieldcat-ref_tabname   = 'BSAK'.
fieldcat-ref_fieldname = 'BELNR'.
append fieldcat.
clear fieldcat.
fieldcat-fieldname     = 'BUDAT1'.          "Дата документа
fieldcat-tabname       = 'BESTAND'.
fieldcat-ref_tabname   = 'BSAK'.
fieldcat-ref_fieldname = 'BUDAT'.
append fieldcat.
clear fieldcat.
fieldcat-fieldname     = 'RMWWR'.           "Сумма с НДС
fieldcat-tabname       = 'BESTAND'.
fieldcat-ref_tabname   = 'BSAK'.
fieldcat-ref_fieldname = 'DMBTR'.
fieldcat-do_sum        = 'X'.
append fieldcat.

endform.                    " PRL_FIELDCAT

*--------------------------------------------------------------------- *

*      Form  LIST_INPUT                                                      *

*--------------------------------------------------------------------- *

*      Переброска данных в таблицу                                    *

*--------------------------------------------------------------------  *

form list_input.
loop at kapr.

if kapr-knttp = 'P'.
    bestand-obkt = kapr-posid.
    bestand-obkt_nam = kapr-spp_nam.
elseif kapr-knttp = 'Z'.
    bestand-obkt = kapr-aufnr.
    bestand-obkt_nam = kapr-ktext.
endif.
bestand-lifnr = kapr-lifnr.
bestand-lif_nam = kapr-lif_nam.
bestand-budat1 = kapr-budat.
read table opl with key awkey = kapr-awkey.
bestand-belnr_ = opl-belnr_.
bestand-awkey = opl-awkey.
append bestand.
endloop.

sort bestand by obkt lifnr awkey.
endform.                    " LIST_INPUT







Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 11 2006, 22:13 
Гость
Code:
....
clear keyinfo.
  keyinfo-header01 = 'LIFNR'.
  keyinfo-item01 = 'LIFNR'.

  repid = sy-repid.  'Вставьте эту строчку

   call function 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
       exporting
            i_callback_program = repid
            is_layout          = layout
   ....


Принять этот ответ
Вернуться к началу
  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB