Текущее время: Ср, июл 16 2025, 17:41

Часовой пояс: 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 часа


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

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


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

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