Автор Тема: Вызов отчета из транзакции  (Прочитано 5972 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн NN

  • Newbie
  • *
  • Сообщений: 24
  • Репутация: +0/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Вызов отчета из транзакции
« : Декабрь 26, 2012, 02:29:10 pm »
Попались ленивые пользователи. Не хотят пользоваться двумя отчетами (ME55 и ME5A): в ME55 надо деблокировать заявки, и в этой же транзакции хотят увидеть список уже деблокированных заявок по данному поставщику, чтоб не деблокировать одинаковые заявки (такой список можно получить в отчете ME5A). Вопрос можно ли в ME55 добавить кнопку "Отчет" и вызвать отчет ME5A, т.е. вызвать отчет из отчета? Или все же прийдется делать транзакцию Z....   

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Вызов отчета из транзакции
« Ответ #1 : Декабрь 26, 2012, 05:48:36 pm »
Ну скажем так в общем виде задача решается, однако следует учесть тот вариант, что то как будут представлены заявки влияет код заданный в поле "Объем списка". Я просмотрел только вариант для вида F, там по факту в самом конце, когда все что надо отобрано, вызывается программа RM06BL00, в ее инклуде FM06BF01_START в строке 63 вызывается SET PF-STATUS gpfkey EXCLUDING excl. А далее идет вызов подпрограммы PERFORM ban_sort. Вот в ней мы можем использовать на входе неявный энхансмент, в котором переопределить вызываемый PF-STATUS на свой, который надо создать в любой из своих Z-программ, хотя можно использовать  явный энхансмент в модуле FM06BF01_BAN_ZEILEN строка 15
Код: You are not allowed to view links. Register or Login
ENHANCEMENT-SECTION     BAN_ZEILEN_01 SPOTS ES_SAPFM06B.
  NEW-PAGE LINE-SIZE 81.
END-ENHANCEMENT-SECTION.
В нем управляется ширина списка, вот в нем же можно и переопределить PF-STATUS. А дальше в инклуде FM06BF02_USER_COMMAND строка 5 подпрограмма FORM USER_COMMAND используя уже неявный энхансмент добавить обработку своего кода. Само собой когда будете делать новый PF-STATUS, то сделайте его путем копирования стандартного статуса FREI из программы RM06BL00, чтобы так сказать не переписывать всю обработку. В общем работы на час и что быстрее энхансменты или писать свой Z-отчет это уже смотря кто будет делать. Мне проще через энхансменты.

PS: Для варианты ALV по аналогии ищем программу где идет вызов и так же подменяем PF-STATUS

Оффлайн NN

  • Newbie
  • *
  • Сообщений: 24
  • Репутация: +0/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Вызов отчета из транзакции
« Ответ #2 : Декабрь 26, 2012, 08:59:16 pm »
Ура! Спасибо огромное :) Я не абапер, регулярно читаю Ваши статьи и не только на этом форуме. На sapland как-то читала статью про неявные расширения. И тут как раз можно воспользоваться возможностью использования.   

Sapforum.Biz

Re: Вызов отчета из транзакции
« Ответ #2 : Декабрь 26, 2012, 08:59:16 pm »