SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Как сделать SELECT в таблицу?



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
Дэн
Участник
Участник



Joined: 14 Jan 2008
Posts: 13
Location: Израиль

PostPosted: Thu Jan 24, 2008 4:58 pm    Post subject: Как сделать SELECT в таблицу? Reply with quote

Подскажите пожалуйста.

Можно ли заполнить одно поле в каждой строке таблицы при помощи только одного селекта?
При этом не делая LOOP или SELECT END SELECT.

SELECT INTO CORRESPONDING FIELDS OF TABLE делает то что нужно, но при этом стирает остальные заполненные поля Sad
Back to top
View user's profile Send private message Send e-mail
Lord
Профессионал
Профессионал



Joined: 10 Sep 2007
Posts: 168

PostPosted: Thu Jan 24, 2008 5:13 pm    Post subject: Reply with quote

Если правильно понял, у вас есть уже заполненная таблица, Вы хотите по ключу выбрать еще несколько полей из другой таблице и изменить только их?

Если так, то нельзя. Нужно строить select сразу с объединением двух таблиц через JOIN.
Back to top
View user's profile Send private message
Дэн
Участник
Участник



Joined: 14 Jan 2008
Posts: 13
Location: Израиль

PostPosted: Thu Jan 24, 2008 5:18 pm    Post subject: Reply with quote

Ясно, спасибо.
Join сделать не смогу, т.к. получаю таблицу уже заполненой.
Back to top
View user's profile Send private message Send e-mail
-aim-
Участник
Участник



Joined: 24 Jan 2008
Posts: 8

PostPosted: Thu Jan 24, 2008 7:25 pm    Post subject: Reply with quote

Юзай дополнение FOR ALL ENTRIES IN

Вот пример реально работающего кода (см. второй селект)

SELECT *
FROM bkpf
INTO TABLE gtab_bkpf
WHERE bukrs = g_c_bukrs " BUKRS
AND blart = 'ZP'
AND bldat GE zsap2kb_period-begdat
AND bldat LE zsap2kb_period-enddat
.

SELECT *
FROM reguh
INTO TABLE gtab_docs
FOR ALL ENTRIES IN gtab_bkpf
WHERE xvorl = '' " Not test run.
AND zbukr = gtab_bkpf-bukrs " g_c_bukrs
AND vblnr = gtab_bkpf-belnr " Document Number of the Payment Document.
.

Тут, конечно не совсем так, как ты хочешь.
Но начал я именно с того, что хотел заполнить несколько полей, а остальные оставить нетронутыми...
более изящной альтернативы не придумал...
да и вроде не самый это плохой вариант...

Найдёшь способ красивей, пиши... Wink
Back to top
View user's profile Send private message
Дэн
Участник
Участник



Joined: 14 Jan 2008
Posts: 13
Location: Израиль

PostPosted: Mon Jan 28, 2008 11:42 am    Post subject: Reply with quote

-aim- wrote:
Юзай дополнение FOR ALL ENTRIES IN

Вот пример реально работающего кода (см. второй селект)

Тут, конечно не совсем так, как ты хочешь.
Но начал я именно с того, что хотел заполнить несколько полей, а остальные оставить нетронутыми...
более изящной альтернативы не придумал...
да и вроде не самый это плохой вариант...

Найдёшь способ красивей, пиши... Wink




Спасибо, но мне не подходит, так как в into все равно придется писать into corresponding fields а это сотрет все остальные данные.

Вообщем мне пришлось сделать select в отдельную таблицу, а из нее уже перенести данные в нужную таблицу.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
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.