Текущее время: Чт, июл 31 2025, 06:19

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 55 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 09:33 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
Сорри - вы правы, господа :oops: .
Просто от версии зависит.
Еще в 4.7 работало так, как я говорил.

В более поздних версиях по-вашему.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 09:58 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Витя, может у тебя неявный commit был, когда ты проверял?
В 4.6с rollback work откатывает, без вопросов.

_________________
С уважением, VGA
Мой блог


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 11:18 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, окт 21 2006, 20:34
Сообщения: 280
vga написал(а):
Витя, может у тебя неявный commit был, когда ты проверял?
В 4.6с rollback work откатывает, без вопросов.


вполне вероятно - если проверяли в отладчике - то сам режим отладчика вызывает неявные DB commit-ы, при обновлении экрана отладчика - внизу часто можно увидеть сообщение "db commit выполнен системой"

а по поводу вашего случая скажу еще - если у вас такой большой объем данных надо обработать - то кроме того что рекомендуется делать MODIFY пачками - то после каждой пачки надо COMMIT вставлять, иначе у вас REDOLOG переполнится и дамп будет - я уверен что ваша конструкция даже когда по записи работала еще на большом объеме не отрабатывала - иначе даже если по записи MODIFY делать но без COMMIT будет указанный выше дамп.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 11:26 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
vga написал(а):
Витя, может у тебя неявный commit был, когда ты проверял?
В 4.6с rollback work откатывает, без вопросов.


Нет, проверялось на коде типа

Code:
REPORT  zrollback_test.

DATA: ls_makt TYPE makt .

ls_makt-mandt = sy-mandt .
ls_makt-matnr = 'XXXXXXXXXXXXXXXXXX'.
ls_makt-spras = sy-langu .
ls_makt-maktx = 'Полный левак'.

modify makt FROM ls_makt .
*DELETE makt FROM ls_makt .

*commit WORK .
ROLLBACK WORK .


Результат проверялся по завершению проги, не в отладке (потому что в отладке происходил неявный комит). Настаиваю, что это учитывалось.
Валер, ты уверен? Можешь проверить на старой версии?
Потому что если это был глюк моего сознания – то он был не только у меня, а коллективный (у других 4-х разработчиков тоже).

Дело было так.
Года три назад участвовал в проекте на Нетвивере. Версия ядра не то 6.00, не то 6.40 .
ПМ-ом был ораклоид, очень дотошный товарищ, и заставлял нас все проверять на практике.
Тогда мы открыли для себя много интересного, о чем раньше даже не задумывались.
Например, до этого те же комиты-роллбэки лепили, особо не задумываясь (правда, прямые апдейты и делать приходилось не часто).
И в хелпах, кроме воздействия комитов и роллбэков на LUW’ы (CALL FUNCTION … IN UPDATE TASK), не было ничего больше сказано.
После этого, все критичные обновления БД делал через LUW-ы (понятно, что с комитами-роллбэками).

Мда, век живи, век учись – а помрешь все равно дураком.

Кстати говоря – программа обновления, о которой идет речь выше – делалась не мной, и комит там все равно есть (это уж мне просто поспорить захотелось) .
Так шта, MODIFY по-любому не отрабатывал. Да и UPDATE выдавал SY-SUBRC = 4, хотя в любом случае, адпейтились существующие записи (внутри SELECT…ENDSELECT, ключ не менялся).

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 11:56 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Витя, проверил конечно, но думается, ты сомневаешься в фундаментальных вещах.

Версия 4.6с.
Code:
REPORT Z_VGA_TEST NO STANDARD PAGE HEADING .

DATA: l_xblnr TYPE bkpf-xblnr.

DATA: it TYPE TABLE of bkpf WITH HEADER LINE.
SELECT * FROM bkpf INTO TABLE it UP TO 1 ROWS WHERE xblnr NE SPACE.

IF NOT sy-subrc IS INITIAL.
  WRITE: / 'Nothing found, exit.'.
  EXIT.
ENDIF.

READ TABLE it INDEX 1.

l_xblnr = it-xblnr.
WRITE: / 'Before modify, xblnr=', it-xblnr.

it-xblnr = '1234567890'.
MODIFY BKPF FROM TABLE it.
ROLLBACK WORK.

SELECT * FROM bkpf INTO TABLE it
WHERE bukrs = it-bukrs
  AND belnr = it-belnr
  AND gjahr = it-gjahr.

READ TABLE it INDEX 1.
WRITE: / 'After rollback, xblnr=', it-xblnr.

l_xblnr = it-xblnr.

it-xblnr = '1234567890'.
MODIFY BKPF FROM TABLE it.
COMMIT WORK AND WAIT.

SELECT * FROM bkpf INTO TABLE it
WHERE bukrs = it-bukrs
  AND belnr = it-belnr
  AND gjahr = it-gjahr.

WRITE: / 'After commit, xblnr=', it-xblnr.

it-xblnr = l_xblnr.
MODIFY BKPF FROM TABLE it.
COMMIT WORK AND WAIT.
IF sy-subrc IS INITIAL.
WRITE: / 'Xblnr restored'.
ENDIF.


Result:

Before modify, xblnr= 1111
After rollback, xblnr= 1111
After commit, xblnr= 1234567890
Xblnr restored

_________________
С уважением, VGA
Мой блог


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 12:09 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Я, кончено, не знаю, что было в версии 2.0, но уверен, что всех версиях ROLLBACK WORK откатывал BD LUW. О другом поведении даже подумать страшно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 12:11 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
vga написал(а):
Витя, проверил конечно,


Тада фик знает. Наверное, на пенсию мне пора :) .

vga написал(а):
но думается, ты сомневаешься в фундаментальных вещах.


Иногда такое бывает, что начнешь сомневаться.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Последний раз редактировалось 111 Ср, ноя 07 2007, 14:47, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 12:13 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
sibrin написал:
Я, кончено, не знаю, что было в версии 2.0, но уверен, что всех версиях ROLLBACK WORK откатывал BD LUW. О другом поведении даже подумать страшно.


Откатывал, конечно, всегда, то что через
CALL FUNCTION ... IN UPDATE TASK .

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 13:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
111 написал(а):
Откатывал, конечно, всегда, то что через
CALL FUNCTION ... IN UPDATE TASK .

Это SAP LUW. Но и DB LUW тем более!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 07 2007, 14:41 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
sibrin написал:
111 написал(а):
Откатывал, конечно, всегда, то что через
CALL FUNCTION ... IN UPDATE TASK .

Это SAP LUW. Но и DB LUW тем более!


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

Ну и сами понимаете, как оно бывает - сделаешь определенные выводы, закроешь для себя вопрос, и больше не пересматриваешь.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


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

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


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

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


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

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