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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Commit work - не срабатывает
СообщениеДобавлено: Чт, май 14 2009, 13:55 
Председатель
Председатель

Зарегистрирован:
Чт, май 10 2007, 09:15
Сообщения: 1558
Господа подскажите.
Проблема следующая.
Имеется программа которая делает update или delete в табличке клиента Z*.
Программа работает при выполнении руками или при запланировании в фоновом однократном выполнении.
А вот в запланированном фоне - не осуществляется commit.
В чем может быть проблема?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Commit work - не срабатывает
СообщениеДобавлено: Чт, май 14 2009, 14:16 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Скорее всего причина в том, что в диалоге программу спасает неявный commit, которого в фоне нема.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Commit work - не срабатывает
СообщениеДобавлено: Чт, май 14 2009, 14:25 
Специалист
Специалист

Зарегистрирован:
Чт, июн 21 2007, 09:14
Сообщения: 166
Откуда: Москва
Пол: Мужской
Пономарев Артем написал:
Скорее всего причина в том, что в диалоге программу спасает неявный commit, которого в фоне нема.

но он же пишет "Commit work ", значит, вызывает явный...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Commit work - не срабатывает
СообщениеДобавлено: Чт, май 14 2009, 16:31 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
думаю еще лучше добавить wait чтобы наверняка конечно же IMHO

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Commit work - не срабатывает
СообщениеДобавлено: Чт, май 14 2009, 16:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
hub2002 написал(а):
Господа подскажите.
Проблема следующая.
Имеется программа которая делает update или delete в табличке клиента Z*.
Программа работает при выполнении руками или при запланировании в фоновом однократном выполнении.
А вот в запланированном фоне - не осуществляется commit.
В чем может быть проблема?

Текст в студию.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Commit work - не срабатывает
СообщениеДобавлено: Ср, сен 01 2010, 14:44 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, мар 13 2007, 22:57
Сообщения: 71
Удав написал(а):
hub2002 написал(а):
Господа подскажите.
Проблема следующая.
Имеется программа которая делает update или delete в табличке клиента Z*.
Программа работает при выполнении руками или при запланировании в фоновом однократном выполнении.
А вот в запланированном фоне - не осуществляется commit.
В чем может быть проблема?

Текст в студию.


Если не вдаваться в прочие подробности, то кусок программы, который не работает, выглядит так:
Code:
DELETE   ZTAB FROM TABLE LT_TAB.
  COMMIT WORK AND WAIT.

  INSERT ZTAB  FROM TABLE LT_TAB.


после COMMIT WORK AND WAIT.записи еще не удаляются, если же DELETE поставить в отдельную программу, которая будет только удалять и на том заканчивать работать, то все сработает и записи удаляться.

INSERT выпадает в ошибку. modify для данной программы использовать нельзя, ибо есть лишние записи, которые должны быть удалены.

как сделать так, чтобы DELETE сработал


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Commit work - не срабатывает
СообщениеДобавлено: Ср, сен 01 2010, 15:33 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
birds написал(а):
Code:
DELETE   ZTAB FROM TABLE LT_TAB.
  COMMIT WORK AND WAIT.

  INSERT ZTAB  FROM TABLE LT_TAB.
INSERT выпадает в ошибку. modify для данной программы использовать нельзя, ибо есть лишние записи, которые должны быть удалены.
INSERT выдает sy-subrc <> 0, или дамп?
А относительно modify, для меня вообще загадка. :? Вы сначала удаляете записи, а потом их же вставляете, и говорите про лишние записи.

_________________
В SAPе есть всё, просто вы чего-то не нашли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Commit work - не срабатывает
СообщениеДобавлено: Ср, сен 01 2010, 15:45 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, мар 13 2007, 22:57
Сообщения: 71
SYS написал(а):
birds написал(а):
Code:
DELETE   ZTAB FROM TABLE LT_TAB.
  COMMIT WORK AND WAIT.

  INSERT ZTAB  FROM TABLE LT_TAB1.
INSERT выпадает в ошибку. modify для данной программы использовать нельзя, ибо есть лишние записи, которые должны быть удалены.
INSERT выдает sy-subrc <> 0, или дамп?
А относительно modify, для меня вообще загадка. :? Вы сначала удаляете записи, а потом их же вставляете, и говорите про лишние записи.


выпадает в дамп.

я удаляю одни записи, а вставляю какие-то другие или возможно те же самые.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Commit work - не срабатывает
СообщениеДобавлено: Ср, сен 01 2010, 16:35 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
birds написал(а):
выпадает в дамп.

я удаляю одни записи, а вставляю какие-то другие или возможно те же самые.
Что и следовало ожидать. :)
У Вас в табличке LT_TAB1 есть записи с одинаковыми ключевыми полями. Используйте ACCEPTING DUPLICATE KEYS в команде INSERT, или проверяйте задвоение данных.
Цитата:
Addition 2
... ACCEPTING DUPLICATE KEYS

Effect
If a line cannot be inserted, the system does not
terminate with a runtime error but only sets the return value SY-SUBRC to 4. All other lines are inserted after the command is executed.

_________________
В SAPе есть всё, просто вы чего-то не нашли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Commit work - не срабатывает
СообщениеДобавлено: Ср, сен 01 2010, 16:40 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Стандартный код SAP, который работает (ФМ CLVF_VB_DELETE_CLASSIFICATION):
Code:
* Zuordnungen l³schen/ôndern
  describe table lkssk lines syst-tfill.
  if syst-tfill ne 0.
    delete kssk from table lkssk.
    if syst-subrc ne 0.
      message a587 with tabkssk.
    endif.
  endif.
*
  describe table v1kssk lines syst-tfill.
  if syst-tfill ne 0.
    perform find_kssk_max_adzhl using kreuz.
  endif.
*
  describe table hkssk lines syst-tfill.
  if syst-tfill ne 0.
    insert kssk from table hkssk.
    if syst-subrc ne 0.
      message a585 with tabkssk.
    endif.
  endif.
*
  describe table vkssk lines syst-tfill.
  if syst-tfill ne 0.
    update kssk from table vkssk.
    if syst-subrc ne 0.
      message a586 with tabkssk.
    endif.
  endif.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Commit work - не срабатывает
СообщениеДобавлено: Чт, сен 02 2010, 08:40 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, мар 13 2007, 22:57
Сообщения: 71
SYS написал(а):
birds написал(а):
выпадает в дамп.

я удаляю одни записи, а вставляю какие-то другие или возможно те же самые.
Что и следовало ожидать. :)
У Вас в табличке LT_TAB1 есть записи с одинаковыми ключевыми полями. Используйте ACCEPTING DUPLICATE KEYS в команде INSERT, или проверяйте задвоение данных.


допущение прекрасно, но не верно. я же описывала ранее, что если удалить записи самостоятельно, до запуска данной программы, то все срабатывает. дело как раз в том, что INSERT не успевает дождаться когда отработает удаление и пытается добавить записи. если поставить точку останова после COMMIT WORK, то все отрабатывается, если этого не делать, то вылетает в дамп


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Commit work - не срабатывает
СообщениеДобавлено: Чт, сен 02 2010, 09:05 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Ставьте commit work ПОСЛЕ insert :!:

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Commit work - не срабатывает
СообщениеДобавлено: Чт, сен 02 2010, 10:32 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Ключевые поля в таблице ZTAB можно посмотреть?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Commit work - не срабатывает
СообщениеДобавлено: Чт, сен 02 2010, 13:22 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
birds , тогда дамп в студию, пожалуйста! Ну не верю я, что COMMIT WORK AND WAIT не срабатывает.
Либо Вы не удаляете все необходимые строки перед вставкой.

_________________
В SAPе есть всё, просто вы чего-то не нашли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Commit work - не срабатывает
СообщениеДобавлено: Чт, сен 02 2010, 14:15 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, мар 16 2005, 09:37
Сообщения: 42
Откуда: Москва
SYS написал(а):
birds , тогда дамп в студию, пожалуйста! Ну не верю я, что COMMIT WORK AND WAIT не срабатывает.
Либо Вы не удаляете все необходимые строки перед вставкой.
Полностью поддерживаю!
Это должно работать:
Code:
DELETE   ZTAB FROM TABLE LT_TAB.
DELETE   ZTAB FROM TABLE LT_TAB1.

COMMIT WORK AND WAIT.

INSERT ZTAB  FROM TABLE LT_TAB1.


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

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


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

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


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

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