Текущее время: Вс, фев 25 2018, 23:48

Часовой пояс: 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
Сообщения: 1080
Откуда: Москва, Минск
Пол: Мужской
Привет!
проверил - в MB21/MB22 если указать партию, которой не существует, возникает сообщение об ошибке M7-042.
MM07RFM0. Form MATERIAL_LESEN.

Code:
      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

Code:
     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
Сообщения: 1080
Откуда: Москва, Минск
Пол: Мужской
Ну так если вызов сообщения выполняется с ЗАХАРДКОЖЕННЫМ типом:

Code:
PERFORM fill_return_parameter TABLES return
                  USING 'E' 'M7' '042' e_msgv1 e_msgv2 e_msgv3 e_msgv4.


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

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


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

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


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

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


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

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