Текущее время: Вт, июл 22 2025, 03:40

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Информация, которая добавится по COMMIT-у
СообщениеДобавлено: Чт, дек 21 2006, 16:47 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 304
Вводная часть:
В программе вызывается ФМ, в котором вносятся изменения в БД, но без COMMIT-а. Вызов COMMIT-а стоит после того, как вышли из ФМ-а.

Задача:
После ФМ, но перед вызовом, COMMITA-а нужно вызвать пакетный файл. Если пакетник отработал успешно, то COMMIT выполнить, иначе откат изменений.
НО, при вызове пакетника, происходит автоматический COMMIT и я уже не могу откатиться в исходное состояние, если пакетник вернул ошибку.

Идея-вопсрос: можно ли узнать, какие именно данные будут внесены в БД при COMMIT-е? Чтобы запомнить их, сделать откат, вызвать пакетник, если пакетник отработал нормально, то данные COMMIT-а опять внести?

Или может есть более правильный метод?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информация, которая добавится по COMMIT-у
СообщениеДобавлено: Чт, дек 21 2006, 17:16 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Валерка написал(а):
Вводная часть:
В программе вызывается ФМ, в котором вносятся изменения в БД, но без COMMIT-а. Вызов COMMIT-а стоит после того, как вышли из ФМ-а.

...
Или может есть более правильный метод?

А что мешает вначале вызвать пакетник а потом ФМ?
А узнать можно, особенно если изменения делаются через in update task а не напряую в таблицы, но, наверно это не нужно.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информация, которая добавится по COMMIT-у
СообщениеДобавлено: Чт, дек 21 2006, 17:26 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 14:35
Сообщения: 1519
Откуда: В ВЕЧНОМ БАНЕ
Валерка написал(а):
Или может есть более правильный метод?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информация, которая добавится по COMMIT-у
СообщениеДобавлено: Чт, дек 21 2006, 17:32 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 304
sy-uname написал(а):
Валерка написал(а):
...?

А что мешает вначале вызвать пакетник а потом ФМ?

Этот ФМ возвращает номер, который нужен для вызова пакетника.
sy-uname написал(а):
А узнать можно, особенно если изменения делаются через in update task а не напряую в таблицы, но, наверно это не нужно.

Как это можно узнаить? Какой-то ФМ для этого есть?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информация, которая добавится по COMMIT-у
СообщениеДобавлено: Чт, дек 21 2006, 17:36 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 304
Uukrul написал(а):
Валерка написал(а):
Или может есть более правильный метод?

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

Дело в том, что не я её гоняю. К тому же помимо вызова пакетника там ещё идут проверки какие-то, в которых разбираться особо не хочется.
Да и никто мне и не даст его ломать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информация, которая добавится по COMMIT-у
СообщениеДобавлено: Чт, дек 21 2006, 17:46 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Валерка написал(а):
Этот ФМ возвращает номер, который нужен для вызова пакетника.

Маниакальная идея нумерации без пропусков?
Цитата:
Как это можно узнаить? Какой-то ФМ для этого есть?

Может проще переделать вызываемый ФМ, чем грязными руками лазить в системные таблицы?

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Информация, которая добавится по COMMIT-у
СообщениеДобавлено: Чт, дек 21 2006, 17:52 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 21 2006, 16:38
Сообщения: 304
sy-uname написал(а):
Валерка написал(а):
Этот ФМ возвращает номер, который нужен для вызова пакетника.

Маниакальная идея нумерации без пропусков?
Цитата:
Как это можно узнаить? Какой-то ФМ для этого есть?

Может проще переделать вызываемый ФМ, чем грязными руками лазить в системные таблицы?


Нет. Это номер документа. Мне нужно удалить этот документ. Одно но, если я вызыву удаление перед ФМ-ом модификаций, а модицикации не пройдут, то документ как бы и не нцжно удалять. А он уже все, накрылся. Поэтому вызывать нужно после отработки ФМ-а с модификациями.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 21 2006, 18:06 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Когда-то давно, когда батчинпут был в большой популярности, делали так: на последнем экране транзакции не "нажимали" кнопку Сохранить, а "нажимали" кнопку Выход. А потом анализировали лог сообщений. Если не было красных сообщений, то запускался прогон с сохранением. Работает гораздо дольше, зато надёжно.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 21 2006, 18:20 
Специалист
Специалист

Зарегистрирован:
Пт, июн 16 2006, 11:39
Сообщения: 178
Откуда: Москва
2 EGF:
Смена экранов в батчимпуте не вызывает commit? :roll:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 21 2006, 18:45 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
<Yuri> написал(а):
2 EGF:
Смена экранов в батчимпуте не вызывает commit? :roll:

Возможно db-commit и выполняется, но не commit work.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 21 2006, 19:02 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Точно db-commit и точно не COMMIT WORK, если последнее не прописано специально.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Информация, которая добавится по COMMIT-у
СообщениеДобавлено: Пт, дек 22 2006, 17:49 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Валерка написал(а):
Вводная часть:
В программе вызывается ФМ, в котором вносятся изменения в БД, но без COMMIT-а. Вызов COMMIT-а стоит после того, как вышли из ФМ-а.

Задача:
После ФМ, но перед вызовом, COMMITA-а нужно вызвать пакетный файл. Если пакетник отработал успешно, то COMMIT выполнить, иначе откат изменений.
НО, при вызове пакетника, происходит автоматический COMMIT и я уже не могу откатиться в исходное состояние, если пакетник вернул ошибку.

sy-uname правильно заметил, что нужно сразу вызывать пакетник, а уже потом ФМ. Ведь по Вашим словам это ФМ удаления, а не создания данных...

Может напишете, какой ФМ должен вызываться на 1 шаге, чтобы не гадать? :wink:
Или просто поискать user-exit в этом ФМ, в котором вызывать batch-input?

_________________
С уважением,
Удав.


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

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


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

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


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

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