Текущее время: Пт, июл 18 2025, 20:05

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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