Текущее время: Вс, июл 20 2025, 16:06

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Пакетный ввод на транзакцию AS11
СообщениеДобавлено: Ср, июн 29 2011, 10:17 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, авг 14 2009, 09:17
Сообщения: 91
Добрый день, Коллеги !

Подскажите, пожалуйста. Столкнулся со следующей ситуацией, которая возникает периодически. В системе пытаюсь через пакетный ввод на основании уже существующего субномера (например, 2) ОС №1110006454 создать карточку на следующий по порядку новый субномер (3) ОС №1110006454 при помощи транзакции AS11(Создание субномера ОснСредства). При запуске транзакции AS11 и после ввода ОС, БЕ, Число субномеров одного вида(1) на экране появляется карточка на новый субномер ОС, в которой в качестве нового субномера ОС опять фигурирует уже существующий предыдущий субномер (как я уже указал выше, взяв для примера 2 вместо 3). В итоге создать карточку на следующий по порядку новый субномер ОС №1110006454 при помощи транзакции AS11 у меня не получается. Система уведомляет меня: Обновление прервано. Подскажите, пожалуйста, с чем это может быть связано? В чём проблема?

Заранее всем спасибо.

С уважением, Козымаев С.В.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Пакетный ввод на транзакцию AS11
СообщениеДобавлено: Ср, июн 29 2011, 16:14 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Сложно по тому что Вы написали однозначно ответить. Правильно ли я понял, что при ручном вводе таких проблем не возникает? Вы пакетником пытаетесь, скажем так "расширить" ОС на несколько субномеров подряд? Есть подозрение что система не успевает создать ОС с субномером X, и заходит уже на создание следующего субномера для этой ОС, тем более что Вы пишите якобы это бывает периодически... Обновление прервано это дамп, что там написано?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакетный ввод на транзакцию AS11
СообщениеДобавлено: Чт, июн 30 2011, 10:37 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, авг 14 2009, 09:17
Сообщения: 91
Ответ на 1 вопрос (Правильно ли я понял, что при ручном вводе таких проблем не возникает?):
С такой проблемой я столкнулся при пакетном вводе. Настораживает то, что такая ситуация возникает не по всем основным средствам. По каким то основным средствам, у которых более 2 субномеров (например, 19 субномеров), на их основании благополучно создаются новые карточки через транзакцию AS11. Хочу обратить ваше внимание на такой ещё факт. Когда у меня случается такая ситуация при пакетном вводе, то я пытаюсь в ручном режиме на основании того же основном средства, на котором случилась данная ситуация, создать следующий по порядку новый субномер (как я уже описывал в верху последний был создан субномер 2 на ОС №1110006454, а я пытаюсь через тр AS11 создать новую карточку с новым субномером 3), то при запуске транзакции AS11 и после ввода ОС, БЕ, Число субномеров одного вида(1) на экране появляется карточка на новый субномер ОС, в которой в качестве нового субномера (3) ОС опять фигурирует уже существующий предыдущий субномер(2). Получается и в ручном режиме я столкнулся с аналогичной ситуацией по данному основному средству №1110006454.

Ответ на 2 вопрос (Вы пакетником пытаетесь, скажем так "расширить" ОС на несколько субномеров подряд?):
Да. Я программно выполняю перенос карточек основных средств из балансовой единицы «3000» в балансовую единицу «2000». Основное средство с нулевым субномером в балансовой единице «2000» я создаю при помощи тр AS01 на основании считанных данных с основного средства из балансовой единице «3000». Тогда, как субномера основных средств я переношу из балансовой единице «3000» в балансовую единицу «2000» через тр AS11.

Уточнение по вашему высказыванию (Есть подозрение что система не успевает создать ОС с субномером X, и заходит уже на создание следующего субномера для этой ОС, тем более что Вы пишите якобы это бывает периодически...):
Под словом «периодически» я предполагаю, что данная ситуация возникает на некоторых основных средствах. Я думаю, что система создаёт новый субномер ОС, но система ПОЧЕМУ ТО НЕ ПРОПИСЫВАЕТ вновь созданный субномер в том месте, откуда система считывает его для определения нового следующего субномера (например, если взять выше описанную ситуацию, то был создан субномер 2, но по каким то причинам в том месте остался субномер 1, а должен был быть уже субномер 2 для определения следующего нового субномера 3 в момент его создания). Скорее всего система не не успевает, потому что по прохождению времени ситуация не исправляется и я также в ручном режиме через тр AS11 не могу создать карточку на ОС № 1110006454 с новым субномером (3) следующим по порядку за уже существующим субномером (2).

Ответ на 3 вопрос (Обновление прервано это дамп, что там написано?):
Когда я сохраняю предлагаемую мне карточку в тр AS11, система в строке статуса пишет что основное средство №1110006454 с субномером 2 создано. НО в этот же момент у меня во входящей почте (Рабочее место) появляется письмо, в теле которого написано:
Обновление прервано

Ид. системы.. DEV
Мандант...... 520
Пользователь WOLF
Транзакция... AS11
Ключ обновления 4E0A2FD9B0650A6CE10000000A010392
Создано...... 30.06.2011, 13:52:08Выполнено.... 30.06.2011, 13:52:08


Через транзакцию ST22 нахожу сформированный дамп «ABAP-динамич. ошибка SAPSQL_ARRAY_INSERT_DUPREC», в котором говорится следующее:

The ABAP/4 Open SQL array insert results in duplicate database records.


Анализ ошибки


If you use an ABAP/4 Open SQL array insert to insert a record in
the database and that record already exists with the same key,
this results in a termination.

(With an ABAP/4 Open SQL single record insert in the same error
situation, processing does not terminate, but SY-SUBRC is set to 4.)

Из анализа дампа по приведённому фрагменту программного кода видно, что ошибка возникает в момент вставки записи в таблицу «ANLA». Эта ситуация понятна, в таблице ANLA ключ : БЕ, № ОС, Субномер, а т.к. через тр AS11 у нас для новой карточки в качестве субномера опять указан существующий (2) вместо 3, то при сохранении данных система отказывает сохранить данные с уже существующим ключом: БЕ 2000, № ОС 1110006454, Субномер 2. НО это следствие, а в чём причина? Не понятно.

Из дампа взял предлагаемые фрагменты для поиска нот:
"SAPSQL_ARRAY_INSERT_DUPREC"
"SAPLA02S " or "LA02SF00 "
"INSERT_ENTRIES"

По фрагменту "SAPSQL_ARRAY_INSERT_DUPREC" нашёл две: 99029, 118731 более менее близкие. Но из текста этих нот я пока не могу сказать, что эта именно в этом проблема. Надо проверять.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Пакетный ввод на транзакцию AS11  Тема решена
СообщениеДобавлено: Чт, июн 30 2011, 11:07 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
wolf_sv написал(а):
Ответ на 1 вопрос (Правильно ли я понял, что при ручном вводе таких проблем не возникает?):
С такой проблемой я столкнулся при пакетном вводе. Настораживает то, что такая ситуация возникает не по всем основным средствам. По каким то основным средствам, у которых более 2 субномеров (например, 19 субномеров), на их основании благополучно создаются новые карточки через транзакцию AS11. Хочу обратить ваше внимание на такой ещё факт. Когда у меня случается такая ситуация при пакетном вводе, то я пытаюсь в ручном режиме на основании того же основном средства, на котором случилась данная ситуация, создать следующий по порядку новый субномер (как я уже описывал в верху последний был создан субномер 2 на ОС №1110006454, а я пытаюсь через тр AS11 создать новую карточку с новым субномером 3), то при запуске транзакции AS11 и после ввода ОС, БЕ, Число субномеров одного вида(1) на экране появляется карточка на новый субномер ОС, в которой в качестве нового субномера (3) ОС опять фигурирует уже существующий предыдущий субномер(2). Получается и в ручном режиме я столкнулся с аналогичной ситуацией по данному основному средству №1110006454.

Уточнение по вашему высказыванию (Есть подозрение что система не успевает создать ОС с субномером X, и заходит уже на создание следующего субномера для этой ОС, тем более что Вы пишите якобы это бывает периодически...):
Под словом «периодически» я предполагаю, что данная ситуация возникает на некоторых основных средствах. Я думаю, что система создаёт новый субномер ОС, но система ПОЧЕМУ ТО НЕ ПРОПИСЫВАЕТ вновь созданный субномер в том месте, откуда система считывает его для определения нового следующего субномера (например, если взять выше описанную ситуацию, то был создан субномер 2, но по каким то причинам в том месте остался субномер 1, а должен был быть уже субномер 2 для определения следующего нового субномера 3 в момент его создания). Скорее всего система не не успевает, потому что по прохождению времени ситуация не исправляется и я также в ручном режиме через тр AS11 не могу создать карточку на ОС № 1110006454 с новым субномером (3) следующим по порядку за уже существующим субномером (2).



В ручном режиме этого же прогона пакетника, без перезапуска тр AS11? Опять таки, сколько времени не жди, а старый номер весит в глобальной переменной... На счет числа субномеров, я не владею особенностями этой транзакции, но то что там единица, это нормально? Принцип работы получения нового субномера заключается в том что система выбирает последний ОС по субномеру и увеличивает его номер. ФМ NUMBER_GET_NEXT не используется... В следствие чего вопрос? Вы смотрели и пробовали ли ссылку которую я указал в посте выше?

Цитата:
Ответ на 3 вопрос (Обновление прервано это дамп, что там написано?):
Когда я сохраняю предлагаемую мне карточку в тр AS11, система в строке статуса пишет что основное средство №1110006454 с субномером 2 создано. НО в этот же момент у меня во входящей почте (Рабочее место) появляется письмо, в теле которого написано:
[i]Обновление прервано

Из анализа дампа по приведённому фрагменту программного кода видно, что ошибка возникает в момент вставки записи в таблицу «ANLA». Эта ситуация понятна, в таблице ANLA ключ : БЕ, № ОС, Субномер, а т.к. через тр AS11 у нас для новой карточки в качестве субномера опять указан существующий (2) вместо 3, то при сохранении данных система отказывает сохранить данные с уже существующим ключом: БЕ 2000, № ОС 1110006454, Субномер 2. НО это следствие, а в чём причина? Не понятно.

Из дампа взял предлагаемые фрагменты для поиска нот:
"SAPSQL_ARRAY_INSERT_DUPREC"
"SAPLA02S " or "LA02SF00 "
"INSERT_ENTRIES"

По фрагменту "SAPSQL_ARRAY_INSERT_DUPREC" нашёл две: 99029, 118731 более менее близкие. Но из текста этих нот я пока не могу сказать, что эта именно в этом проблема. Надо проверять.


Это все нормально, на самом деле ничего не сохранилось конечно, потому что в очереди ФМов обновления произошел дамп и весь LUW откатился. Ноты конечно проверьте.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пакетный ввод на транзакцию AS11
СообщениеДобавлено: Чт, июн 30 2011, 12:47 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, авг 14 2009, 09:17
Сообщения: 91
Спасибо большое, Besa за помощь. Нашёл ответ в нотах: 546848, 632401.


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

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


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

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


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

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