Текущее время: Пн, июл 21 2025, 05:26

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


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

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


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

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