Текущее время: Сб, окт 21 2017, 12:36

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


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


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



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

Зарегистрирован:
Пт, фев 10 2017, 10:33
Сообщения: 9
Добрый день. У меня следующая проблема:

Меняю резервирование при помощи 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
Сообщения: 1017
Откуда: Москва, Минск
Пол: Мужской
Привет!
проверил - в 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  
 
 Заголовок сообщения: Re: проблемы с BAPI_RESERVATION_CHANGE
СообщениеДобавлено: Чт, июн 15 2017, 14:32 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, апр 06 2010, 15:38
Сообщения: 111
Откуда: Алматы
Пол: Мужской
Была как-то проблема с сообщениями в коде, тоже система ругалась.
В итоге добавил его (сообщение) в OMСQ и убрал Тип сообщения, в противном случае натыкался на E ошибку, даже с типом сообщения W.

_________________
Внутри каждого яблока спрятан огрызок.


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

Зарегистрирован:
Пт, янв 30 2009, 10:59
Сообщения: 1017
Откуда: Москва, Минск
Пол: Мужской
Ну так если вызов сообщения выполняется с ЗАХАРДКОЖЕННЫМ типом:

Код:
PERFORM fill_return_parameter TABLES return
                  USING 'E' 'M7' '042' e_msgv1 e_msgv2 e_msgv3 e_msgv4.


То настройка OMСQ ничем не поможет. :(

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


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

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


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

Сейчас этот форум просматривают: Mail.RU Bot и гости: 9


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

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