Текущее время: Пн, июл 14 2025, 10:03

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Провести второй док материала на основе первого проведённого
СообщениеДобавлено: Ср, янв 21 2009, 11:30 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
Выходной документ создается автомотически при создании документа, если, конечно, есть соответствующие настройки.

_________________
Я слышу и забываю,
Я вижу и помню долго,
Я делаю и — понимаю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Провести второй док материала на основе первого проведённого
СообщениеДобавлено: Ср, янв 21 2009, 16:15 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, янв 21 2009, 10:13
Сообщения: 57
Пол: Мужской
А как нам "внедриться" в создание выходного документа?

SPRO->Управление материальными потоками->Управление запасами и инвентаризация->Выбор выходных документов->Ведение видов выходных документов

Здесь указываем программу и подпрограмму обработки.
Может так?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Провести второй док материала на основе первого проведённого
СообщениеДобавлено: Ср, янв 21 2009, 16:26 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Именно так.
Отлаживать проще через mb90 по нажатию кнопки "предварительный просмотр", так как в этом случае программа обработки выходного документа работает не в фоне, а в диалоге.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Провести второй док материала на основе первого проведённого
СообщениеДобавлено: Ср, янв 21 2009, 17:21 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, янв 21 2009, 10:13
Сообщения: 57
Пол: Мужской
Большое спасибо. Сейчас пробую все настроить.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Провести второй док материала на основе первого проведённого из MIGO
СообщениеДобавлено: Чт, сен 02 2010, 02:50 
Специалист
Специалист

Зарегистрирован:
Вт, мар 18 2008, 10:21
Сообщения: 136
Откуда: краснодар
Поднему тему, возникла похожая ситуация.
Задача стоит следующая: на расходном виде движения необходимо на техническом заводе сделать приход забаланса списываемого материала.
Использовать событие с выходными формами нет возможности, необходимо для реализации использовать события
1. POST_DOCUMENT бади ZMB_MIGO_BADI
2. события бади MB_DOCUMENT_BADI
для создания ДМ использую бапи MB_CREATE_GOODS_MOVEMENT

Как сказано в сап ноте на событие создания ДМ использовать бапи ДМ можно только с BACKGROUND TASK
Если бапи вызывать с BACKGROUND TASK то каким образом удостоверится что второй ДМ создался успешно? Что бы в случа чего сделать откат первого. Веть в BACKGROUND TASK нет возможности извлечь импорт параметры выполняемого ФМ.
Пробовал запускать бапи и в IN UPDATE TASK - в результате получаю ошибку обновления "ABAP-процессор: GETWA_NOT_ASSIGNED"
Пробовал по разному методом тыка)) идей больше нет((
Подскжите пожалуйста, наверняка у кого нибуть есть готовая техническая концепия данной задачи)
Спасибо)
PS система 6.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Провести второй док материала на основе первого проведённого из MIGO
СообщениеДобавлено: Чт, сен 02 2010, 14:48 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
to aivengo : Почти такую же задачу решал. Перемещение но отпускаемый и принимаемый материалы имели различные складские ЕИ. поэтому пришлось делать такое перемещение создавая ОМ на тех. счет и сразу же ПМ с тех.счет. Так вот ОМ создавался через ФМ "MB_CREATE_GOODS_MOVEMENT" он вызывался без UPDATE TASK , а создание ПМ я завернул в ФМ обновления , который вызывал в методе MB_DOCUMENT_BEFORE_UPDATE в реализации Badi MB_DOCUMENT_BADI. при ошибке создания ПМ ФМ обновления рейзит ошибку что соот-но вызывает ошибку обновления. Результат - или оба создаются или ничего не создается.

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Провести второй док материала на основе первого проведённого из MIGO
СообщениеДобавлено: Пт, сен 10 2010, 01:12 
Специалист
Специалист

Зарегистрирован:
Вт, мар 18 2008, 10:21
Сообщения: 136
Откуда: краснодар
К сожалению ваш способ не подошел, пробовал по всякому получал либо шибки обновления (если UPDATE TASK) или сообщение "модуль bapi невыполним", у меня система 6.0
Реализовал следующую концепцию, вроде работает, может кому пригодится:
1. В качестве события использую ФМ MB_POST_GOODS_MOVEMENT
там есть две точки расширния одна в начале модуля другая в конце
данный модуль звенит единожды на каждом ДМ который создается как в интерфейсе так и в бапи, в нем есть флаги отвечающие за просовывание ДМ в коммит.
2. В начале модуля копирую табличку xmseg xmkpf во внутренние таблицы
3. В конце модуля анализирую эти таблицы на предмет надо ли создавать второй ДМ
если надо то готовлю данные для bapi
4. если надо создавать ворой ДМ в модуле снимаю флаги внутренних переменных отвечающих за коммит
CLEAR: XCOMMIT, SAVE_MBLNR, SAVE_XABLN.
далее вызываю непосредственно саму бапи для второго ДМ не в апдейт таск а в обычном режиме
5. Если бапи нормально отработала то флагам XCOMMIT SAVE_MBLNR, SAVE_XABLN возвращаю старые значения если нет то прерывание и рулбэк

таким образом можно просунуть второй ДМ в одну транзакцию БД
Незнаю насколько красивый способ но работает))


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Провести второй док материала на основе первого проведённого из MIGO
СообщениеДобавлено: Ср, окт 09 2013, 22:36 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 18 2008, 11:25
Сообщения: 100
Спустя годы тему вверх.
Ситуация аналогичная сабжу но только наоборот :). Пытаемся провести документ в MIGO. Необходимо ДО того как он будет проведен и даже проверен воткнуть еще 2 документа. Схема такая Поставщик->Промежуточный склад->Целевой склад. Есть 2 соответствующих заказа (на поставку и на перемещение). Пользователи хотят проводить только поставку на целевом складе, а чтобы поставка на промежуточный склад и отпуск с него генерились автоматом.
Проблема в том, что провести конечную поставку без предшествующих не можем. Вопрос в какой момент их создать. До MB_DOCUMENT_BADI дело не доходит, проверки выкидывают раньше (на промежуточном складе же еще ничего нет). C MB_MIGO_BADI->POST_DOCUMENT аналогично.
Пока в мыслях сделать преенхансмент в LCL_MIGO_KERNEL->document_post, либо LCL_MIGO_KERNEL->document_operation, но пока сложно представляю, что в них писать(( (BAPI_GOODSMVT_CREATE, MB_CREATE_GOODS_MOVEMENT, MB_POST_GOODS_MOVEMENT...).
Может кому известен более изящный способ решения? Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Провести второй док материала на основе первого проведённого из MIGO
СообщениеДобавлено: Чт, окт 10 2013, 08:24 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Refresh, может свести задачу к предыдущей? :)
То есть, договориться с пользователями, что они приходуют товар от Поставщика на промежуточный склад, а уж перемещение делается автоматом? Это и с процессной точки зрения выглядит более оправдано, так как вероятно именно в этот момент переходит материальная ответственность.
Еще, конечно, непонятно зачем вообще нужен промежуточный склад, если в 100% случаев с него идет автоматом перемещение на основной, но вам виднее.

aivengo, недавно в POS интерфейсе SAP я увидел такую штуку:
ФМ POS_SALES_DOCUMENT_PROCESS
Цитата:
* Clear locking flags of goods movement. This is a workaround
* for the check introduced to prevent multiple calls of
* MB_CREATE_... in one LUW.
perform clear_xcommit(saplmbwl).

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Провести второй док материала на основе первого проведённого из MIGO
СообщениеДобавлено: Чт, окт 10 2013, 09:41 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 18 2008, 11:25
Сообщения: 100
Под промежуточным складом я понимаю некоторый консолидационный склад. Т.е. при закупке в региональный центр материал сначала отгружается на этот консолидационный склад, а от туда уже развозится по регионам. Я пока не вижу полной картины, т.к. на проекте всего несколько дней.
Логика оформления прихода именно на конечный склад думаю в том, что проводку делают пользователи именно на конечном складе. К ним пришел товар, они его у себя и провели. Понимаю, что на промежуточном складе приходовать и отпускать товар должны его сотрудники, но видимо есть причины, по которым это не делают.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Провести второй док материала на основе первого проведённого из MIGO
СообщениеДобавлено: Пн, окт 14 2013, 15:47 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Вот это здорово. Получается у сотрудников консолидационного склада материальная ответственность равна нулю.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Провести второй док материала на основе первого проведённого из MIGO
СообщениеДобавлено: Чт, окт 17 2013, 20:27 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1594
Откуда: Москва, Минск
Пол: Мужской
aivengo, недавно в POS интерфейсе SAP я увидел такую штуку:
ФМ POS_SALES_DOCUMENT_PROCESS
Цитата:
* Clear locking flags of goods movement. This is a workaround
* for the check introduced to prevent multiple calls of
* MB_CREATE_... in one LUW.
perform clear_xcommit(saplmbwl).
[/quote]

Добрый вечер, коллеги.
Уже больше года пользуемся способом, позволяющим создавать нескоклько документов материала в 1 коммите.
Перед вызовом bapi по созданию каждого документа материала выполнить следующий код:

if <_xcommit> is not assigned.
assign ('(SAPLMBWL)XCOMMIT') to <_xcommit>.
endif.
if <_xcommit> is assigned.
clear <_xcommit>.
endif.

Вроде нареканий данный способ не вызвал.

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


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

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


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

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


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

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