Автор Тема: Резервирование материалов (из запаса проекта)  (Прочитано 11454 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн cheburach

  • Newbie
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Добрый день.
У нас резервирование используется как ссылочный документ для отпуска материала со склада, с него-же печатается материальный пропуск. При резервировании материала лежащего в запасе проекта (собственным видом движения производим отпуск из запаса проекта с контировкой на СПП),  возникает сообщение об ошибке, если материал приходовался сразу на проект и вида оценки(разд. оценка) не был созданн. Для решения пользователь ручками создаёт необходимый вид оценки, после чего всё идёт как по маслу.

В последнее время появилась мысль, что это не оптимально -  заносить данные посреди цепочки, и мы ищем пути решения. Пока что я вижу единственный выход - создание вида оценки принудительно в момент поступления.

Вопрос в том - кто нибудь сталкивался с подобной проблемой, и какие альтернативные пути решения может подсказать в данной ситуации.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Резервирование материалов (из запаса проекта)
« Ответ #1 : Сентябрь 06, 2007, 03:46:28 pm »
Есть такая проблема, решил именно принудительным созданием записи оценки в MBEW (виртуальное движение материала и сторно) в момент прихода запаса. Создается автоматически следующим образом:

1. Сделал отдельный вид движения материала Z61 копированием из 561 и соответствующий вид движения сторно. Настроил для него отдельные счета, для контроля в случае каких либо проблем, а так же принудительно отключил ведение серийных номеров для этого вида движения, так как виртуальные серийники гонять смысла нет.

2. Сделал программу, в которую передаю код материала и завод/склад. Программа выполняет поступление без заказа на поставку видом движения Z61 и тут же выполняет сторно этого движения Z62 видом. Таким образом создается запись оценки в MBEW, опять же если автоматика сбойнула, то пользователь может запустить эту программу в ручном режиме или сделать сторно руками, если сбой был на втором шаге. Программка лежит тут: You are not allowed to view links. Register or Login

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, вставил анализ операции, что это документ поступления запаса на склад и если это так, тогда делаю следующий вызов:
Код: You are not allowed to view links. Register or Login
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 уже создана.
« Последнее редактирование: Сентябрь 06, 2007, 03:49:23 pm от Uukrul »

Оффлайн cheburach

  • Newbie
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Резервирование материалов (из запаса проекта)
« Ответ #2 : Сентябрь 07, 2007, 09:27:11 am »
Спасибо за ответ, решение интересное - попробую на досуге. :)

Я изначально планировал сделать следующее (у нас версия 4,7):
Используя BADI - 'MB_MIGO_BADI', метод 'LINE_MODIFY' (В этот момент ОЗМ ещё не заблокирована) с помощью BAPI  - 'BAPI_MATERIAL_SAVEDATA' создавать вид оценки, как только пользователь введёт достаточно информации.

Явный минус моего подхода в том что вид оценки создаётся до проводки, и пользователь может передумать проводить документ, или изменить какие либо данные.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 758
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Резервирование материалов (из запаса проекта)
« Ответ #3 : Сентябрь 07, 2007, 10:02:31 am »
Ну тоже вариант, не думаю что так будет часто и много отказов от оприходования. Ну у меня это было бы наверное всего 1-2%, так что не думаю что нагрузка будет большая. В моей реализации за год было всего два раза когда процесс сбойнул, а так в среднем 3-5 секунд проходит между приходом и готовой записью. А вообще эта схема с 4.0 бегает с небольшими модификациями. Я правда надежду не теряю может таки SAP домучаю что бы они все таки резервирования поправили  ::)

Оффлайн cheburach

  • Newbie
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Резервирование материалов (из запаса проекта)
« Ответ #4 : Сентябрь 07, 2007, 12:30:59 pm »
Да уж неплохо-бы. Тем более, что вроде как в системе проектов резервирования прекрасно создаются автоматически (проектами пока не занимался, так что своими глазами ещё не видел - могу ошибаться). В общем пока разбираюсь с проектами, может накопаю ещё чего интересного по этой теме...