Текущее время: Ср, июл 30 2025, 00:46

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Транзакции VL06* нарушают SAP LUW
СообщениеДобавлено: Сб, окт 20 2007, 10:18 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
При отпуске материала из VL06* вызывается ф.м. WS_DELIVERY_UPDATE с параметром SYNCHRON = 'X', поэтому статусы поставки и поток документов обновляются напрямую, в то время как документ материала создаётся in update task.

Если в MB_DOCUMENT_BADI в методе MB_DOCUMENT_BEFORE_UPDATE просходят неявные DB commit'ы, а при сохранении документа товара происходит ошибка, то статусы поставки и поток документов не откатываются.

Не пробовал ли кто-нибудь "подлечить" вызов WS_DELIVERY_UPDATE таким образом:
Code:
if sy-tcode(4) = 'VL06'.
  SYNCHRON = ''.
endif.
?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, окт 20 2007, 12:14 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Любопытно то, что в нашей системе, котороя хоть и старенькая, но с накатанными всеми сервис паками, это параметр чисто формальный, он нигде не используется.
На апдейт влияет только параметр commit, кстати есть нота, может это ваш случай
Note 1079258 - VL06: Actual goods movement updated despite error


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, окт 20 2007, 18:48 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
vga написал(а):
Note 1079258 - VL06: Actual goods movement updated despite error

У нас наоборот, движение материала не создаётся.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, окт 20 2007, 22:00 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
vga написал(а):
Любопытно то, что в нашей системе, котороя хоть и старенькая, но с накатанными всеми сервис паками, это параметр чисто формальный, он нигде не используется.

:) Это одна из добрых шуток Флинта. Он используется, только это не просто заметить!

То, что это решает проблему — не вопрос. Просто может при тестировании я какие грабли не заметил, а кто-то уже наступал.

Править, конечно, логичнее не WS_DELIVERY_UPDATE, а то место, откуда он вызывается, т.е. WS_LM_GOODS_MOVEMENT. Тогда не нужны уродливые условия на sy-tcode. Но, с другой стороны, придётся брать ключ модификации, в то время как при исправлении WS_DELIVERY_UPDATE можно обойтись неявной точкой расширения вначале.

И кроме изменения параметра SYNCHRON = '' нужно не забыть поставить SET UPDATE TASK LOCAL, а то статусы поставки из VBUK читаются старые. Ну и проверить, может всё и без того уже in update task запущено.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, окт 21 2007, 10:15 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
sibrin написал:
vga написал(а):
Любопытно то, что в нашей системе, котороя хоть и старенькая, но с накатанными всеми сервис паками, это параметр чисто формальный, он нигде не используется.

:) Это одна из добрых шуток Флинта. Он используется, только это не просто заметить!


Хотелось бы узнать, как? :lol:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, окт 21 2007, 13:43 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
vga написал(а):
Хотелось бы узнать, как? :lol:

В ф.м. WS_DELIVERY_UPDATE_2 в подпрограмме init:
Code:
  IF synchron EQ charx.
    PERFORM synchron(sapmv50a).
  ENDIF.


Дело в том, что у этого ф.м. в атрибутах установлена галочка: "Global".
Области видимости переменных в SAP — это прелесть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, окт 21 2007, 15:19 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Да, так и есть, внимания не обратил. До такой лажи только в абапе додумались.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, окт 21 2007, 16:51 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Вроде все верно в реализации.

Цитата:
Просто может при тестировании я какие грабли не заметил, а кто-то уже наступал.

Перефразируя:
Много ты знаешь систем, в которых в MB_DOCUMENT_BADI происходит переключение рабочего процесса?
:)

Ну это утрирую я. Тема полезная.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, окт 21 2007, 21:02 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Пономарев Артем написал:
Много ты знаешь систем, в которых в MB_DOCUMENT_BADI происходит переключение рабочего процесса?
:)
Смена рабочего процесса тут ни при чём. Речь идёт о неявном DB commit.

В моей практике примеров много. Вот, тот самый пресловутый вызов OLE-метода. Очень часто нужно одновременно с документом материала создать другой документ материала, а BAPI_GOODSMVT_CREATE два раза подряд без COMMIT WORK не вызывается. Или транспортный заказ СУС паровозиком прицепить, да мало ли какие ещё цепочки документов в один LUW не вмещаются.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, окт 21 2007, 21:13 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Ну я рассматривал случай в контексте вызова aRFC (т.е. соседней темы :)). При вызове как раз происходит смена рабочего процесса и, как следствие, DB commit.
Т.е., видимо, не так понял связность проблем.

Про BAPI - это да, отдельный разговор. Приходится извращаться.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, окт 21 2007, 21:53 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Пономарев Артем написал:
в контексте вызова aRFC (т.е. соседней темы :)). При вызове как раз происходит смена рабочего процесса и, как следствие, DB commit.

Это вопрос терминологический. Что называть рабочим процессом, то что исполняется или тот слот, где оно исполняется. Т.е. я бы сказал, что то при aRFC вызове запускается новый рабочий процесс, а старый не меняется, а лишь выгружается на время ожидания, а потом загружается снова. В общем, надеюсь, всем всё понятно, не будем развивать флейм.

А создание документов "паровозиком" тоже удобно делать через aRFC вызов, хотя можно и через submit или call transaction. В любом случае, не избежать DB commit'а.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 14:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
На запрос о поддержке пришёл ответ:
SAP Active Global Support - Logistics написал(а):
The coding within badi MB_DOCUMENT_BADI is for the customer to create
for their own particular business requirements, therefore, the
responsibility for the badi to work within each scenario is the
customers. Unfortunately, the coding of each transaction cannot be
changed for customer specific requirements. If you make a modification
to Vl06 for SYNCHRON = 'X' this is then a modification to the standard
system and is not supported. Unfortunately, we cannot provide you with
coding scenarios to suit your particular business requirements as this
is in the area of consulting. The issue is not a bug or defect of the
standard system working but an issue with regards to how to have the
badi MB_DOCUMENT_BADI working correctly with vl06 and the responsibility
is with the customer to code their badis.


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

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


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

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


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

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