Текущее время: Пт, апр 19 2024, 11:10

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Транзакционность создания цепочки документов в Сбыте с помощью нескольких BAPI
СообщениеДобавлено: Пт, фев 07 2020, 11:36 
Начинающий
Начинающий

Зарегистрирован:
Вт, фев 17 2015, 23:06
Сообщения: 18
Добрый день!

Есть цепочка документов и действий, которую хочется создать по одной кнопке (сбытовой заказ, поставка, комплектование и ОМ, фактура).
На каждый документ или действие есть BAPI, можно ли сделать как-то так, чтобы создалась вся цепочка со всеми действиями, либо ничего не произошло (если произошла какая-то ошибка).


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: транзакционность нескольких bapi.
СообщениеДобавлено: Пт, фев 07 2020, 12:01 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1580
Откуда: Москва, Минск
Пол: Мужской
2 варианта:
1) откатывать цепочку созданных документов в случае ошибки на каком-нибудь
шаге
2) реализовать логику досоздания документов. Т.е. в случае ошибки на каком-нибудь шаге и ее исправлении, при последующих нажатиях кнопки досоздавать нужные документы

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: транзакционность нескольких bapi.
СообщениеДобавлено: Пт, фев 07 2020, 12:05 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
В общем случае сделать одну транзакцию на цепочку документов не получится - придется ставить commit work после каждой bapi на создание отдельного документа.
Все что можно сделать, как уже написал DED_MOROZ - это написать логику генерации документов устойчивым к сбоям (чтобы программа доходила по цепочке до последнего успешно созданного документа и пыталась с этого момента досоздавать цепочку)

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: транзакционность нескольких bapi.
СообщениеДобавлено: Пт, фев 07 2020, 12:10 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
Больше того, даже с commit work строительство цепочки может вызвать сложности.
Например, на входе у нас запас 0 шт товара и отрицательные запасы запрещены.

Мы хотим провести цепочку документов материала: Пм 10 шт, списание 10Шт.
На втором шаге вполне можно словить ошибку что пытаемся сформировать отрицательный запас.

Причина - в закешированных в группах функций данных запасов (например, MARD_ARRAY_READ).
Поэтому хорошая практика при проводке цепочки документов каждую бапи оборачивать в RFC вызов и потом сбрасывать контекст при помощи RFC_CONNECTION_CLOSE.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: транзакционность нескольких bapi.
СообщениеДобавлено: Пт, фев 07 2020, 12:16 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Непонятно зачем все откатывать. Правильно решать проблему и допроводить документы. Поэтому как уже написал DED_MOROZ нужно писать бизнес логику которая предпологает "reentry" алгоритма, т.е. начать оттуда где в прошлый раз закончили.

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: транзакционность нескольких bapi.
СообщениеДобавлено: Пт, фев 07 2020, 14:14 
Специалист
Специалист

Зарегистрирован:
Вт, дек 06 2005, 13:24
Сообщения: 167
Наверное для таких целей удобнее всего не цепочку bapi придумывать, а использовать SAP Workflow


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: транзакционность нескольких bapi.
СообщениеДобавлено: Пт, фев 07 2020, 14:47 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
Daw написал(а):
Наверное для таких целей удобнее всего не цепочку bapi придумывать, а использовать SAP Workflow


И как конкретно вы видите использование Workflow в процессе генерации цепочки документов?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: транзакционность нескольких bapi.
СообщениеДобавлено: Пн, фев 10 2020, 11:41 
Директор
Директор

Зарегистрирован:
Пн, мар 25 2013, 12:19
Сообщения: 1067
Цитата:
Добрый день! Есть цепочка документов и действий, которую хочется создать по одной кнопке(сбытовой заказ,
поставка, ом, фактура).


это очень гиблая затея. Попытайтесь максимально уйти от этого при возможности или максимально минимизировать цепочку стандартными средствами.
Например, заказ создадите спомощью бапи, а создание поставки, ом, фактуры уже можно настроить автоматом без абапа через фоновые задания, используя стандартные программы

Цитата:
Непонятно зачем все откатывать. Правильно решать проблему и допроводить документы. Поэтому как уже написал DED_MOROZ нужно писать бизнес логику которая предпологает "reentry" алгоритма, т.е. начать оттуда где в прошлый раз закончили.


это еще более гиблая затея. "Reentry" алгоритма работать нормально никогда не будет. Просто представьте, сколько вариаций стандартных ошибок и вообще в принципе возможных косяков? Писать на каждую возможною проблему по алгоритму?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: транзакционность нескольких bapi.
СообщениеДобавлено: Пн, фев 10 2020, 11:51 
Гуру-модератор
Гуру-модератор
Аватара пользователя

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

Если же задача состоит в том, чтобы транзакционно отразить уже свершившийся факт продажи в SAP, то можно посмотреть в сторону ритейлового подхода (IDOC WPUBON). Там как раз создаются документ отпуска материала + фактура и делается это транзакционно в одном LUW.

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


Последний раз редактировалось LKU Пн, фев 10 2020, 11:56, всего редактировалось 2 раз(а).

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: транзакционность нескольких bapi.
СообщениеДобавлено: Пн, фев 10 2020, 11:55 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
Кстати, все заметили, что топикстартер после первого вопроса пропал? :)

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: транзакционность нескольких bapi.
СообщениеДобавлено: Пн, фев 10 2020, 16:57 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 347
thebestsaper написал(а):
Цитата:
Непонятно зачем все откатывать. Правильно решать проблему и допроводить документы. Поэтому как уже написал DED_MOROZ нужно писать бизнес логику которая предпологает "reentry" алгоритма, т.е. начать оттуда где в прошлый раз закончили.
это еще более гиблая затея. "Reentry" алгоритма работать нормально никогда не будет. Просто представьте, сколько вариаций стандартных ошибок и вообще в принципе возможных косяков? Писать на каждую возможною проблему по алгоритму?
После неудачного запуска создания цепочки документов пользователи должны исправить причины ошибки. А программа просто фиксирует для цепочки последнюю успешную операцию (или неуспешную) и при следующем запуске для этой цепочки начинает работу не с начала, а с еще не выполненной операции. Это не то, чтобы гибло, но немножко громоздко. Но всяко проще откатов.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Транзакционность создания цепочки документов в Сбыте с помощью нескольких BAPI
СообщениеДобавлено: Пн, фев 10 2020, 17:16 
Специалист
Специалист

Зарегистрирован:
Вт, июн 10 2014, 09:41
Сообщения: 179
Ещё иногда возможно использовать SET UPDATE TASK LOCAL и делать, чтобы создалась вся цепочка целиком или ничего.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Транзакционность создания цепочки документов в Сбыте с помощью нескольких BAPI
СообщениеДобавлено: Пн, фев 10 2020, 17:41 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1580
Откуда: Москва, Минск
Пол: Мужской
UKY написал(а):
Ещё иногда возможно использовать SET UPDATE TASK LOCAL и делать, чтобы создалась вся цепочка целиком или ничего.

Ну-ка ну-ка это как сделать?

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: транзакционность нескольких bapi.
СообщениеДобавлено: Пн, фев 10 2020, 17:45 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1580
Откуда: Москва, Минск
Пол: Мужской
thebestsaper написал(а):
Цитата:
Добрый день! Есть цепочка документов и действий, которую хочется создать по одной кнопке(сбытовой заказ,
поставка, ом, фактура).


это очень гиблая затея. Попытайтесь максимально уйти от этого при возможности или максимально минимизировать цепочку стандартными средствами.
Например, заказ создадите спомощью бапи, а создание поставки, ом, фактуры уже можно настроить автоматом без абапа через фоновые задания, используя стандартные программы

Цитата:
Непонятно зачем все откатывать. Правильно решать проблему и допроводить документы. Поэтому как уже написал DED_MOROZ нужно писать бизнес логику которая предпологает "reentry" алгоритма, т.е. начать оттуда где в прошлый раз закончили.


это еще более гиблая затея. "Reentry" алгоритма работать нормально никогда не будет. Просто представьте, сколько вариаций стандартных ошибок и вообще в принципе возможных косяков? Писать на каждую возможною проблему по алгоритму?


Оба варианта имеют право на жизнь.
По этому поводу даже спорить не стоит.
Встречал в своей практике оба.
Сам делал только варианты с допроводкой документов - как и Z-программы, так и обработка входящих айдоков(до 25 документов материала мог создавать 1 айдок, естественно в разных коммитах).
Не рассказывайте сказки про гиблую затею, вы, видимо, не работали на проектах с российским ритейлом. :D

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: транзакционность нескольких bapi.
СообщениеДобавлено: Пн, фев 10 2020, 23:33 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 347
DED_MOROZ написал:
Не рассказывайте сказки про гиблую затею, вы, видимо, не работали на проектах с российским ритейлом. :D
Дополню: такое требуется не только на российских проектах.


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

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


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

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


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

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