Автор Тема: ME_DISPLAY_PURCHASE_DOCUMENT - Вывод документов закупки ММ  (Прочитано 5164 раз)

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

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
ME_DISPLAY_PURCHASE_DOCUMENT - Полезная функция которая позволяет из своих программ выводить для детального просмотра документы закупки. Причем, можно вывести документа как доступным для изменений, так и только для просмотра. В общем чтобы не делать CALL TRANSACTION на такие транзакции как ME22N/ME23N/ME22/ME23 и т.д., лучше воспользоваться данным ФМ. Кстати он умеет выводить не только заказы ММ, но и заявки, контракты и т.д., ну и как бонус можно выводить выходные документы.
Код: You are not allowed to view links. Register or Login
CALL FUNCTION 'ME_DISPLAY_PURCHASE_DOCUMENT'
  EXPORTING
    i_ebeln                    = '4500000000'
*   I_EBELP                    =
*   I_ENJOY                    =
*   I_PREVIEW                  =
*   I_DATA_FROM_BUFFER         =
*   I_BSTYP                    =
*   I_DISPLAY_ONLY             = ' '
*   I_EDIT                     = ' '
 EXCEPTIONS
   not_found                  = 1
   no_authority               = 2
   invalid_call               = 3
   preview_not_possible       = 4
   OTHERS                     = 5.
По параметрам вроде как расклад следующий:
  • I_EBELN - Номер документа закупки, по умолчанию предполагается что это будет заказ ММ, но если в параметре I_BSTYP, задать значение вида документа, то соответственно в данном поле надо будет вводить номер документа указанного вида.
  • I_EBELP - Номер позиции документа, можно опустить, тогда будет показано основное окно и первая позиция. В общем виде, можно будет просто сразу же вывести на просмотр требуемую позицию документа.
  • I_ENJOY - Значение "Х" - показывает документ использую новую транзакцию. Следует помнить, что заявки и заказы ММ, можно показывать через новую ENJOY-транзакцию, а вот такие документы как контракт и соглашение о поставках, к сожалению данным функционалом не покрываются. там работают только старые транзакции.
  • I_PREVIEW - Если установить данный флажок, то на печать будет выведен выходной документ, т.е. фактически отработает транзакция вывода выходных документов, для заказов например это будет фактически вызов транзакции ME9F с переданным номером документа.
  • I_DATA_FROM_BUFFER - Флаг для внутреннего использования для группы функци MEPO, я так понимаю данные берутся из внутренних структур в момент работы стандартного функционала. Короче мы этот флажок не используем  ;) Кстати, в самом текста ФМ по поводу этого флажка сказано следующее:
    Цитировать
    * i_data_from_buffer = 'X' makes only sense when the function is called
    * from the maintaining transaction for this object and the messages
    * are allready read from the message function pool (MEPO)
  • I_BSTYP - Тип документа который будет выведен, по умолчанию ничего не задаем и тогда система сама определят что это тип "F" - заказы ММ, а вообще возможны следующие типы:
           A -   Запрос
           F -   Заказ на поставку
           K -   Контракт
           L -   Соглашение о поставках
    Ясное дело, что если задан параметр L, то в поле I_EBELN, должен быть задан номер документа соглашения о поставках.
  • I_DISPLAY_ONLY - Если задано в "X", то документ выводится только для просмотра, кнопка перехода в режим редактирования отсутствует как класс, так что вполне удобно, если документы надо только показать.
  • I_EDIT - Если задано в "Х", то документ сразу выводится доступным для изменения. Само собой ставить этот флажок и флажок I_DISPLAY_ONLY, смысла нет, кстати приоритет таки у флажка просмотра.

В общем функция удобная, можно и даже нужно использовать в своих разработках.