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

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


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

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


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

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