Текущее время: Чт, мар 28 2024, 12:36

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Возможность JOIN-а в UPDATE-е (OpenSQL)
СообщениеДобавлено: Ср, май 23 2018, 15:25 
Специалист
Специалист

Зарегистрирован:
Ср, окт 07 2015, 12:36
Сообщения: 124
Коллеги, добрый день.

Насколько я понял после некоторого гугления, осуществить JOIN внутри UPDATE для Open SQL нет возможности?
Хотел бы спросить, есть ли какие то альтернативы? На одном форуме видел предложение создать ракурс под таблицы, которые джойнить и уже его апдейтить.
Проверил - не работает. Ругается: "Ракурс базы данных защищён от записи и, следовательно, не может быть изменён".
Посмотрел в настройках ракурса - судя по всему, любой ракурс, джойнящий 2 и более таблицы будет "защищён от записи".

Существует ли ещё какая то альтернатива кроме цикла по внутренней таблице после первого селекта?
Собственно, задача элементарная - обновить поле в kblk в зав-ти от значения поля в kblp по общему belnr.
Просто хотелось бы её решить наиболее производительным и красивым путём.
Думал ещё насчёт использования EXEC SQL. .... ENDEXEC, но никогда такого не делал - не уверен, что это хорошая идея.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Возможность JOIN-а в UPDATE-е (OpenSQL)
СообщениеДобавлено: Ср, май 23 2018, 15:55 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3074
Откуда: Москва
UPDATE - это изменение записей,
JOIN используется только при выборке данных.
Изменение данных в KBLK вообще нужно делать через BAPI или пакетный ввод, а не прямым UPDATE.
Правильно будет сначала выбрать нужные данные из KBLP, затем в цикле вызывать BAPI (мы используем ФМ FMFR_CHANGE_FROM_DATA) для каждого документа.

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


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

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


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

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


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

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