Текущее время: Пт, мар 29 2024, 01:14

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: BAPI_TRANSACTION_ROLLBACK после BAPI_MATERIAL_MAINTAINDATA_RT
СообщениеДобавлено: Вт, июн 04 2019, 07:04 
Начинающий
Начинающий

Зарегистрирован:
Вт, июн 04 2019, 06:57
Сообщения: 10
Такая ситуация: часто использую BAPI_MATERIAL_MAINTAINDATA_RT, в случае return-type = 'S' делаешь CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' и все хорошо.
Но в случае когда return-type = 'X', 'A', 'E', нужно сделать rollback, но при этом затираются данные, о произошедших ошибках, которые потом можно посмотреть в журнале приложения SLG1.
Возможно ли и сделать Rollback и сохранить журнал?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI_TRANSACTION_ROLLBACK после BAPI_MATERIAL_MAINTAINDATA_RT
СообщениеДобавлено: Вт, июн 04 2019, 08:49 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
Посмотрите вот эту тему: viewtopic.php?f=13&t=91536
Возможно поможет.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI_TRANSACTION_ROLLBACK после BAPI_MATERIAL_MAINTAINDATA_RT
СообщениеДобавлено: Ср, июн 05 2019, 07:53 
Начинающий
Начинающий

Зарегистрирован:
Вт, июн 04 2019, 06:57
Сообщения: 10
Разобрался, стоило документацию почитать :D :D :D
В общем для этой BAPI rollback в принципе не нужен, она сама контролирует целостность данных, и зароллбечит то, что ей нужно, поэтому commit влияет только как раз таки на месседжи)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI_TRANSACTION_ROLLBACK после BAPI_MATERIAL_MAINTAINDATA_RT
СообщениеДобавлено: Пн, июн 10 2019, 10:19 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Просто дополню тему выдержкой из документации

Цитата:
The data transferred is updated synchronously; that is, not using an update task. This is necessary because this method is also used in distribution by Application Link Enabling (ALE), where asynchronous updating cannot be supported in inbound processing because the processing status of the assigned IDocs cannot otherwise be set reliably.

If a serious database error occurs during synchronous updating of the application data, a rollback for all database changes made so far is triggered in the method. If the method is called in a commit unit together with other methods, the database changes of the previously executed method calls are also rolled back as a result. The rollback is necessary to prevent database inconsistencies due to only part of the application data being updated correctly.

Any information or error messages that are issued while the data is being processed are recorded in the application log. If you want to view these messages, a commit must be performed after this method is called so that the data in the application log is written to the database. Even if the structure RETURN returns an E-type (error) message in field TYPE, a commit must be performed so that the application log is written. In the event of an error, the method itself ensures that the data is reset correctly. The commit is also necessary to trigger the updating of the classification data because the update module for the classification data is registered by means of PERFORM ON COMMIT and is started only by a COMMIT WORK.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

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


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

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


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

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