Текущее время: Пн, авг 04 2025, 07:51

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Badi (ME_PROCESS_PO_CUST) для обработки позиции в заказе
СообщениеДобавлено: Пт, июн 05 2009, 11:53 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 24 2007, 07:31
Сообщения: 95
Подскажите, пожалуйста, мне нужно в методе PROCESS_ITEM использовать данные, относящиеся к заголовку заказа. Как можно получить доступ к данным заголовка?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Badi (ME_PROCESS_PO_CUST) для обработки позиции в заказе
СообщениеДобавлено: Пт, июн 05 2009, 12:03 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
А, собственно, метод GET_HEADER экземпляра IM_ITEM в методе PROCESS_ITEM не о чем не говорит? ;)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Badi (ME_PROCESS_PO_CUST) для обработки позиции в заказе
СообщениеДобавлено: Пт, июн 05 2009, 12:53 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 24 2007, 07:31
Сообщения: 95
Мне нужно достать из заголовка номер поставщика.
Попробовал использовать IM_ITEM->GET_HEADER:
.....
DATA: L_MEPOHEADER TYPE REF TO IF_PURCHASE_ORDER_MM,
L_DATA TYPE MEPOHEADER.
DATA: ZLIFNR TYPE EKKO-LIFNR.

CALL METHOD IM_ITEM->GET_HEADER
RECEIVING
RE_HEADER = L_MEPOHEADER.

CALL METHOD L_MEPOHEADER->GET_DATA
RECEIVING
RE_DATA = L_DATA.

ZLIFNR = L_DATA-LIFNR.
.......
Однако, значение ZLIFNR - пусто :(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Badi (ME_PROCESS_PO_CUST) для обработки позиции в заказе
СообщениеДобавлено: Пт, июн 05 2009, 13:44 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 24 2007, 07:31
Сообщения: 95
Пардон, :oops: все работает.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Badi (ME_PROCESS_PO_CUST) для обработки позиции в заказе
СообщениеДобавлено: Вт, июн 09 2009, 11:59 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 24 2007, 07:31
Сообщения: 95
Вот засада! В предыдущем примере меняю значение поля в позиции заказа. Затем передаю:
CALL METHOD IM_ITEM->SET_DATA
EXPORTING
IM_DATA = LS_MEPOITEM.

При этом "сносится" часть данных в заголовке заказа, а именно - роли партнера, настроенные через SPRO.
И с чем это может быть связано?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Badi (ME_PROCESS_PO_CUST) для обработки позиции в заказе
СообщениеДобавлено: Вт, июн 09 2009, 15:37 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Вт, июн 09 2009, 15:25
Сообщения: 24
Откуда: Москва
Пол: Мужской
Martin написал(а):
Вот засада! В предыдущем примере меняю значение поля в позиции заказа. Затем передаю:
CALL METHOD IM_ITEM->SET_DATA
EXPORTING
IM_DATA = LS_MEPOITEM.

При этом "сносится" часть данных в заголовке заказа, а именно - роли партнера, настроенные через SPRO.
И с чем это может быть связано?


В предыдущем примере не видно что вы что то меняете.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Badi (ME_PROCESS_PO_CUST) для обработки позиции в заказе
СообщениеДобавлено: Чт, июн 11 2009, 09:24 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 24 2007, 07:31
Сообщения: 95
Вопрос остается. При отработке метода PROCESS_ITEM БАДИ ME_PROCESS_PO_CUST "сносятся" роли партнеров в заголовке заказа на поставку. Есть ли идеи, как это можно "вылечить"?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Badi (ME_PROCESS_PO_CUST) для обработки позиции в заказе
СообщениеДобавлено: Чт, июн 11 2009, 09:40 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Вт, июн 09 2009, 15:25
Сообщения: 24
Откуда: Москва
Пол: Мужской
Ничего "сноситься" не должно.
Возможно это зависит от того что именно вы меняете в позиции...
Можно выложить код метода PROCESS_ITEM?
Используются ли другие методы расширения?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Badi (ME_PROCESS_PO_CUST) для обработки позиции в заказе
СообщениеДобавлено: Чт, июн 11 2009, 10:05 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 24 2007, 07:31
Сообщения: 95
Code:
method IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM.
DATA: ls_mepoitem TYPE mepoitem.
DATA:   l_mepoheader TYPE REF TO if_purchase_order_mm,
        l_data TYPE mepoheader,
        lt_items type purchase_order_items,
        lif_items type ref to if_purchase_order_item_mm.
DATA: zlifnr TYPE mepoheader-lifnr,
      zebeln TYPE mepoheader-ebeln.

  INCLUDE mm_messages_mac. "useful macros for message handling

CALL METHOD IM_ITEM->GET_HEADER
RECEIVING
RE_HEADER = L_MEPOHEADER.

CALL METHOD L_MEPOHEADER->GET_DATA
RECEIVING
RE_DATA = L_DATA.

ZLIFNR = L_DATA-LIFNR. " Номер поставщика

*---------------------------------------------------------
* Get the Item data
*---------------------------------------------------------
  ls_mepoitem = im_item->get_data( ).
   if ls_mepoitem-konnr is initial.
*проверка на рамочный договор
  SELECT DISTINCT EBELN  FROM
    EKKO   INTO ZEBELN
    WHERE ( EKKO~BSART = 'ZRA' OR EKKO~BSART = 'ZRT' ) AND EKKO~LOEKZ = '' AND EKKO~LIFNR = ZLIFNR AND EKKO~kdatb <= sy-datum and EKKO~kdate >= sy-datum.
  ENDSELECT.
    IF SY-SUBRC = 0.
     ls_mepoitem-konnr = ZEBELN.
    ENDIF.
*---------------------------------------------------------
* Set the Item data
*---------------------------------------------------------

CALL METHOD IM_ITEM->SET_DATA
EXPORTING
IM_DATA = LS_MEPOITEM.

endif.

endmethod.

Перед отработкой этого кода в заголовок заказа подтягиваются роли партнера из осн.записи кредитора (так настроено в SPRO). После заполнения табличной части заказа (отработки кода) роли партнера затираются.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Badi (ME_PROCESS_PO_CUST) для обработки позиции в заказе
СообщениеДобавлено: Чт, июн 11 2009, 13:56 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, сен 24 2007, 07:31
Сообщения: 95
Вопрос снимается. Прошу прощения, если кого-то напряг. Дело в том, что таким же образом система отрабатывает, если вношу изменения руками. То есть, дело не в BADI.


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

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


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

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


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

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