Sapforum.Biz
Логистика => Управление материальными потоками (MM) => Тема начата: cheburach от Сентябрь 06, 2007, 10:51:50 am
-
Добрый день.
У нас резервирование используется как ссылочный документ для отпуска материала со склада, с него-же печатается материальный пропуск. При резервировании материала лежащего в запасе проекта (собственным видом движения производим отпуск из запаса проекта с контировкой на СПП), возникает сообщение об ошибке, если материал приходовался сразу на проект и вида оценки(разд. оценка) не был созданн. Для решения пользователь ручками создаёт необходимый вид оценки, после чего всё идёт как по маслу.
В последнее время появилась мысль, что это не оптимально - заносить данные посреди цепочки, и мы ищем пути решения. Пока что я вижу единственный выход - создание вида оценки принудительно в момент поступления.
Вопрос в том - кто нибудь сталкивался с подобной проблемой, и какие альтернативные пути решения может подсказать в данной ситуации.
-
Есть такая проблема, решил именно принудительным созданием записи оценки в MBEW (виртуальное движение материала и сторно) в момент прихода запаса. Создается автоматически следующим образом:
1. Сделал отдельный вид движения материала Z61 копированием из 561 и соответствующий вид движения сторно. Настроил для него отдельные счета, для контроля в случае каких либо проблем, а так же принудительно отключил ведение серийных номеров для этого вида движения, так как виртуальные серийники гонять смысла нет.
2. Сделал программу, в которую передаю код материала и завод/склад. Программа выполняет поступление без заказа на поставку видом движения Z61 и тут же выполняет сторно этого движения Z62 видом. Таким образом создается запись оценки в MBEW, опять же если автоматика сбойнула, то пользователь может запустить эту программу в ручном режиме или сделать сторно руками, если сбой был на втором шаге. Программка лежит тут: http://sapforum.biz/index.php/topic,48.0.html
3. Затем создал событие Y_POSTMM_EVENT транзакция SM62 и там создаем пользовательское событие (системные лучше не трогать) пример создания на рисунке sm62.png.
4. Затем идем в планирование заданий SM36 и там планируем фоновое задание, которое должно стартовать по созданному событию Y_POSTMM_EVENT, кстати не забываем ставить там галку "Выполнять задание периодически". Пример планирования задания на рисунке sm36-1.png (задание по событию), sm36-2.png шаг задания где нужно указать имя программы и если надо вариант выполнения и наконец как выглядит задание перед сохранением.
5. В экзите MB_CF001 - Customer function exit for update of material, вставил анализ операции, что это документ поступления запаса на склад и если это так, тогда делаю следующий вызов:
DATA: event_id LIKE tbtco-eventid,
eventparm LIKE tbtco-eventparm.
* Строка параметра с номером проведенного документа
CONCATENATE xmkpf-mblnr xmkpf-mjahr INTO eventparm.
CALL FUNCTION 'BP_EVENT_RAISE'
EXPORTING
eventid = 'Y_POSTMM_EVENT'
eventparm = eventparm
EXCEPTIONS
bad_eventid = 1
eventid_does_not_exist = 2
eventid_missing = 3
raise_failed = 4
OTHERS = 5.
Ну и все после этого в среднем от 1 до 5 секунд запись оценки в MBEW уже создана.
-
Спасибо за ответ, решение интересное - попробую на досуге. :)
Я изначально планировал сделать следующее (у нас версия 4,7):
Используя BADI - 'MB_MIGO_BADI', метод 'LINE_MODIFY' (В этот момент ОЗМ ещё не заблокирована) с помощью BAPI - 'BAPI_MATERIAL_SAVEDATA' создавать вид оценки, как только пользователь введёт достаточно информации.
Явный минус моего подхода в том что вид оценки создаётся до проводки, и пользователь может передумать проводить документ, или изменить какие либо данные.
-
Ну тоже вариант, не думаю что так будет часто и много отказов от оприходования. Ну у меня это было бы наверное всего 1-2%, так что не думаю что нагрузка будет большая. В моей реализации за год было всего два раза когда процесс сбойнул, а так в среднем 3-5 секунд проходит между приходом и готовой записью. А вообще эта схема с 4.0 бегает с небольшими модификациями. Я правда надежду не теряю может таки SAP домучаю что бы они все таки резервирования поправили ::)
-
Да уж неплохо-бы. Тем более, что вроде как в системе проектов резервирования прекрасно создаются автоматически (проектами пока не занимался, так что своими глазами ещё не видел - могу ошибаться). В общем пока разбираюсь с проектами, может накопаю ещё чего интересного по этой теме...