ME_DISPLAY_PURCHASE_DOCUMENT - Полезная функция которая позволяет из своих программ выводить для детального просмотра документы закупки. Причем, можно вывести документа как доступным для изменений, так и только для просмотра. В общем чтобы не делать CALL TRANSACTION на такие транзакции как ME22N/ME23N/ME22/ME23 и т.д., лучше воспользоваться данным ФМ. Кстати он умеет выводить не только заказы ММ, но и заявки, контракты и т.д., ну и как бонус можно выводить выходные документы.
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, смысла нет, кстати приоритет таки у флажка просмотра.
В общем функция удобная, можно и даже нужно использовать в своих разработках.