Текущее время: Чт, апр 27 2017, 22:40

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


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


Вопросы по ППМ (MRP) - сюда.



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: проблемы с BAPI_RESERVATION_CHANGE
СообщениеДобавлено: Чт, апр 06 2017, 12:15 
Начинающий
Начинающий

Зарегистрирован:
Пт, фев 10 2017, 10:33
Сообщения: 7
Добрый день. У меня следующая проблема:
Меняю резервирование при помощи BAPI_RESERVATION_CHANGE, когда меняю номер партии и подаю его в RESERVATIONITEMS_CHANGED-BATCH, бапишка сохранить отказалась. Полез в исходники смотреть в чем проблема, оказалось что не нашлось записи в таблице MCHA. Но при этом в транзакции MB22 сохранить такие данные возможно (выдает только предупреждение).
Оказалось в MB22 вызывается MB_CHANGE_RESERVATION для изменения резервирования.
Почему одна бапишка сохраняет а вторая нет? возможно ли обойти данную проверку в BAPI_RESERVATION_CHANGE? и как скажется такое сохранение на целостности данных?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: проблемы с BAPI_RESERVATION_CHANGE
СообщениеДобавлено: Вт, апр 11 2017, 15:25 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 10:59
Сообщения: 927
Откуда: Москва, Минск
Пол: Мужской
Привет!
проверил - в MB21/MB22 если указать партию, которой не существует, возникает сообщение об ошибке M7-042.
MM07RFM0. Form MATERIAL_LESEN.

Код:
      IF NOT mbere-xchpf IS INITIAL AND t159l-xrmad IS INITIAL.
*        OR M-SHKZG = H.
        MESSAGE e042 WITH m-matnr m-werks m-lgort m-charg.


Видно, что Тип сообщения захардкожен в программе, где вызывается сообщение. Т.е. настроить не получиться.
Но сообщение не будет вызываться, если в данных по умолчанию для резервирования поставить галку "Автоматическое создание данных СкладЗапас для резервирования" в транзакции OMBN.

Далее проверил BAPI для изменения резервирования , там тоже возникает данное сообщение, НО вызывается в другом месте - ФМ MB_RESERVATION_CHANGE_INTERNAL

Код:
     SELECT SINGLE * FROM mcha INTO s_mcha
                        WHERE matnr EQ <resb>-matnr
                        AND   werks EQ <resb>-werks
                        AND   charg EQ <resb>-charg.
        IF sy-subrc <> 0.
          PERFORM clear_message_variables.
          MOVE <resb>-matnr TO e_msgv1.
          MOVE <resb>-werks TO e_msgv2.
          MOVE <resb>-lgort TO e_msgv3.
          MOVE <resb>-charg TO e_msgv4.
          PERFORM fill_return_parameter TABLES return
                  USING 'E' 'M7' '042' e_msgv1 e_msgv2 e_msgv3 e_msgv4.
        ENDIF.
      ENDIF.


И как раз-то здесь не проверяется настройка для резервирования, указанная выше.
Если пройти данное сообщение в отладчике, то резервирование создается, НО без партии.
Т.е. галочка для автоматического расширения на склад не отрабатывает

Пробуйте найти SAP-ноты или выставляйте сообщение.
Ну или, как вариант, пробовать делать ENH.

Приходится периодически сталкиваться с ситуциями, когда в SAP BAPI работают по логике, отличной от стандартных транзакций. :)

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


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

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


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

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


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

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