Текущее время: Вс, авг 03 2025, 12:19

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Динамический SELECT
СообщениеДобавлено: Пн, авг 06 2007, 09:11 
Ассистент
Ассистент

Зарегистрирован:
Ср, июл 11 2007, 17:06
Сообщения: 47
Подскажите как менять имена полей выбираемых в SELECT. Дело в том что в таблице есть 12 полей каждое соответствует своему месяцу. В зависимости от выбора пользователя нужно выбрать только одно из них.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический SELECT
СообщениеДобавлено: Пн, авг 06 2007, 09:34 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
gallek написал(а):
Подскажите как менять имена полей выбираемых в SELECT. Дело в том что в таблице есть 12 полей каждое соответствует своему месяцу. В зависимости от выбора пользователя нужно выбрать только одно из них.


вроде так, точно не помню

DATA : FIELDNAME TYPE STRING.

select (FIELDNAME) from ....

покрайней мере имена таблиц можно так. проверь можно ли поля.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 09:37 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
data: wa_where_tab(80) type c.
data: lt_where_tab like table of wa_where_tab.

concatenate 'field_name = ' user_number into wa_where_tab separated by space.
append wa_where_tab to lt_where_tab.

select...
from ...
into...
where (lt_where_tab).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 10:05 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Надеюсь, Вы не хотите делать 12 селектов, чтобы динамически заполнять поля структуры по одному (см. http://sapboard.ru/forum/viewtopic.php?t=28039)?

В любом случае, может быть проще и эффективнее считывать сразу 12 полей из БД во всю структуру, а потом уже обрабатывать нужные.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 14:05 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, май 27 2005, 14:20
Сообщения: 310
Пол: Мужской
Вариант для... гурманов :) - можно динамически наваять код подпрограммы и тут же ее выполнить (GENERATE SUBROUTINE POOL...)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, авг 06 2007, 21:53 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
Надо сказать, что на ABAP такое сплошь и рядом, ибо делается просто.
Настоящие гурманы такое на С++ пишут)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамический SELECT
СообщениеДобавлено: Вт, авг 07 2007, 11:21 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
gallek написал(а):
Подскажите как менять имена полей выбираемых в SELECT. Дело в том что в таблице есть 12 полей каждое соответствует своему месяцу. В зависимости от выбора пользователя нужно выбрать только одно из них.


Нашли на чем экономить. ;-) Многие не задумываясь * из bseg тянут, а у вас наверно таблица итогов, в ней обычно не очень много записей.
Может стоит к sibrin прислушаться, хотя судя по всему алгоритм наоборот упроститься, если собирать имя поля динамически, как name + month.


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

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


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

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


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

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