Текущее время: Ср, июл 23 2025, 21:40

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Дублирование записей в CUVTLN
СообщениеДобавлено: Ср, мар 21 2012, 18:24 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 15 2009, 18:25
Сообщения: 28
Такая проблема. Всё так же, считываю записи из таблиц вариантов с помощью CARD_TABLE_READ_ENTRIES, удаляю с помощью CAMA_TABLE_MAINTAIN_ENTRIES, а затем вставляю новые с помощью него же.
Начал вылетать на второй таблице с ошибкой SAPSQL_ARRAY_INSERT_DUPREC. Вылетает в стандартном ФМ CUVT_UPDATE_TABLE_CONTENT в 156-ой строке (по памяти): INSERT CUVTLN FROM TABLE TAB_CUVTLN_I.
Раньше такие же записи проходили, в исходном файле дублирований нет. В процедуре скидывания таблиц модулю CAMA_TABLE_MAINTAIN_ENTRIES ничего не менял. Менял только считывание таблиц из файла (просмотр таблиц в отладке подтверждает, что данные считываются нормально, то есть, в MAINTAIN_ENTRIES подаются те же данные).
Что это может быть?

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

_________________
- What makes the grass grow?
- BLOOD! BLOOD! BLOOD! (c)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Дублирование записей в CUVTLN
СообщениеДобавлено: Ср, мар 21 2012, 19:06 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, фев 15 2010, 13:14
Сообщения: 46
Откуда: Минск
Пол: Женский
Значит вы действительно вставляете в таблицу данные, которые там уже есть.
Можно попробовать:
1) перед вставкой записей отсортировать таблицу и удалить в ней дубликаты через delete adjustent dublicates
2) возможно, вы удалили записи, но комита не было. а пытаетесь вставить такие же. попробуйте после удаления записей написать commit work.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Дублирование записей в CUVTLN
СообщениеДобавлено: Ср, мар 21 2012, 19:30 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 15 2009, 18:25
Сообщения: 28
Вообще, предыдущие действия должны удалять все записи (с текущим номером таблицы и номером изменения). Просмотр таблицы после действий по удалению подтверждает их отсутствие (завтра ещё раз пересмотрю лично, если доступ на просмотр получу). Комит происходит, он всегда происходил, и я его в коде не убирал. Я вообще не менял весь код по загрузке записей и до текущего момента он работал. Саму загрузку записей проводит стандартный ФМ CAMA_TABLE_MAINTAIN_ENTRIES, я ему только подставляю данные, и, видимо, в этом модуле какие-то проблемы (а может и нет).
Ключ в CUVTLN - номер таблицы, номер строки, и вспомогательный счётчик для архивации. Модуль сам формирует номера строк, сортируя подаваемые в него записи по sort string... и не справляется с этим?

_________________
- What makes the grass grow?
- BLOOD! BLOOD! BLOOD! (c)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Дублирование записей в CUVTLN
СообщениеДобавлено: Чт, мар 22 2012, 10:17 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, июл 23 2007, 08:49
Сообщения: 31
Откуда: Москва
Пол: Мужской
COMMIT WORK в коде стоит после CAMA_TABLE_MAINTAIN_ENTRIES, удаляющего записи? Или после удаления и вставки новых?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дублирование записей в CUVTLN
СообщениеДобавлено: Чт, мар 22 2012, 10:52 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, фев 15 2010, 13:14
Сообщения: 46
Откуда: Минск
Пол: Женский
Поставьте точку остановки перед вызовом ФМ CUVT_UPDATE_TABLE_CONTENT, и просмотрите таблицу TAB_CUVTLN_I.
В отладчике, по-моему, нельзя сделать сортировку таблицы. Но можно выгрузить данные таблицы в XLS - попробуйте это сделать, отсортировать таблицу и поискать дубликаты.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Дублирование записей в CUVTLN
СообщениеДобавлено: Чт, мар 22 2012, 15:01 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 15 2009, 18:25
Сообщения: 28
Вадим Вологжанин написал:
COMMIT WORK в коде стоит после CAMA_TABLE_MAINTAIN_ENTRIES, удаляющего записи? Или после удаления и вставки новых?

После удаления и после вставки. 2 коммита.

Only2611 написала:
Поставьте точку остановки перед вызовом ФМ CUVT_UPDATE_TABLE_CONTENT, и просмотрите таблицу TAB_CUVTLN_I.
В отладчике, по-моему, нельзя сделать сортировку таблицы. Но можно выгрузить данные таблицы в XLS - попробуйте это сделать, отсортировать таблицу и поискать дубликаты.

Проверяли, дубликатов не было.


В таблице 3 ключевых поля: вн. номер таблицы, номер строки и какой-то внутренний счётчик. Никто не знает, как он работает, генерируется, для чего он нужен, могут ли быть с ним какие-то проблемы?

_________________
- What makes the grass grow?
- BLOOD! BLOOD! BLOOD! (c)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Дублирование записей в CUVTLN
СообщениеДобавлено: Чт, мар 22 2012, 15:32 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Пн, июл 23 2007, 08:49
Сообщения: 31
Откуда: Москва
Пол: Мужской
Dragon27 написал(а):
После удаления и после вставки. 2 коммита.

Осмелюсь предположить, что ФМ CAMA_TABLE_MAINTAIN_ENTRIES отрабатывает асинхронно, и при попытке вставить запись удаление не успевает отработать. Попробуйте COMMIT WORK AND WAIT после удаления.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Дублирование записей в CUVTLN
СообщениеДобавлено: Чт, мар 22 2012, 15:42 
Ассистент
Ассистент

Зарегистрирован:
Вт, сен 15 2009, 18:25
Сообщения: 28
Вадим Вологжанин написал:
Осмелюсь предположить, что ФМ CAMA_TABLE_MAINTAIN_ENTRIES отрабатывает асинхронно, и при попытке вставить запись удаление не успевает отработать. Попробуйте COMMIT WORK AND WAIT после удаления.

Таблица уже пуста, так как удаление проводили неоднократно.

_________________
- What makes the grass grow?
- BLOOD! BLOOD! BLOOD! (c)


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

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


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

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


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

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