Posted: Tue Oct 20, 2009 5:22 pm Post subject: foreign key в insert
Всем доброго!
Есть такая замечательная вещь - foreign key. Создаешь, связываешь поля, и вводишь только значения, содержащиеся в соответствующем поле в другой табличке.
Если добавлять данные через se16 - недопустимые значения ввести не дает, ругается, всё замечательно.
А вот как бы это "прикрутить" к обычным SELECT или APPEND? Желаю, чтобы у меня код
Code:
INSERT ZNEWTABLE.
вылетал с Exception или выдавал sy-subrc <> 0 при попытке добавить некорректные данные ( несуществующие в поле foreign key для другой таблице), как это происходит в se16.
Спасибо всем откликнувшимся!
Если только создать специальный ФМ, для предварительной проверки, и затем только в случае su-subrc = 0 делать.
Спасибо за совет, видимо, так и придется делать.
Тогда возникает вопрос - где хранятся соответствующие внешнему ключу связи между таблицами? Как узнать, с каким полем какой таблицы связано нужное мне?
Или придется делать отдельную табличку и писать в нее что-то вроде:
Табл1 | Поле1 | Табл2 | Поле2 | 1:C
?
Спасибо за совет, видимо, так и придется делать.
Тогда возникает вопрос - где хранятся соответствующие внешнему ключу связи между таблицами? Как узнать, с каким полем какой таблицы связано нужное мне?
Информацию по внешним ключам можно получить с помощью ФМ BDL_DDIF_TABL_GET, таблицы DD05M_TAB и DD08V_TAB
Шамрик wrote:
Или придется делать отдельную табличку и писать в нее что-то вроде:
Табл1 | Поле1 | Табл2 | Поле2 | 1:C?
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.