Текущее время: Пн, авг 04 2025, 04:46

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Получение названия поля таблицы по значению
СообщениеДобавлено: Пн, сен 22 2008, 16:54 
Начинающий
Начинающий

Зарегистрирован:
Вт, мар 25 2008, 16:04
Сообщения: 10
Добрый день.

Столкнулся с такой вот задачкой.
Есть таблица БД, содержит однотипные поля. Каждая строка таблицы содержит некоторые данные в каждом из столбцов.
Как получить названия столбцов данной таблицы, значения которых для некоторой строки равны определенному значению.

Например:

#|AA|BB|CC|DD
---------------------
1 | 0 | 2 | 3 | 2
---------------------
2 | 4 | 1 | 4 | 2
---------------------
3 | 1 | 0 | 0 | 6

Например, для строки 1, где значение равно 2: это столбцы BB и DD.

Интересует решение через филд символы(FIELD-SYMBOL), если, конечно, таковое существует.

Заранее спасибо !


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 22 2008, 17:31 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
DESCRIBE FIELD INTO ... попробуйте.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 22 2008, 18:44 
Начинающий
Начинающий

Зарегистрирован:
Вт, мар 25 2008, 16:04
Сообщения: 10
Спасибо ! То что надо !
*thumbs up*


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 23 2008, 11:41 
Начинающий
Начинающий

Зарегистрирован:
Вт, мар 25 2008, 16:04
Сообщения: 10
Оказалось, что всё-таки, это не совсем то, что нужно ! Хотя в виду текущей реализации таблицы, данное решение помогло.

У меня столбцы были реализованы следующим образом:
название / тип
AA / zxxxx_AA
BB / zxxxx_BB
CC / zxxxx_CC

В данном случае, возвращается всё-таки не имя столбца, а тип, на который он ссылается. А поскольку искомое название столбца содержится в типе, то получить его труда не составило.

Так что, оператор DESCRIBE FIELD в данном случае не дает название столбца.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 23 2008, 12:04 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Можно такой подход пользовать


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 23 2008, 12:21 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
Да можно сделать вообще тупо, типа

Code:
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE gs_data TO <l_f>.
IF sy-subrc > 0 .
   EXIT .
ENDIF.
IF <LF> = l_value .
    ....
ENDIF.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 23 2008, 13:25 
Начинающий
Начинающий

Зарегистрирован:
Вт, мар 25 2008, 16:04
Сообщения: 10
111 написал(а):
Да можно сделать вообще тупо, типа

Code:
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE gs_data TO <l_f>.
IF sy-subrc > 0 .
   EXIT .
ENDIF.
IF <LF> = l_value .
    ....
ENDIF.


таким образом и делал, и describe field в таком случае, в соответствующей переменной, в компоненте name содержит имя типа столбца, а не его название.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 23 2008, 13:26 
Начинающий
Начинающий

Зарегистрирован:
Вт, мар 25 2008, 16:04
Сообщения: 10
Пономарев Артем написал:


Это уже поинтересней ! спасибо ! попробую в ближайшем времени !


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 23 2008, 13:39 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
Kostin Yuriy написал(а):
таким образом и делал, и describe field в таком случае, в соответствующей переменной, в компоненте name содержит имя типа столбца, а не его название.

Я имел ввиду, можно было тупо сделать что-нибудь вроде
Code:
CASE sy-index .
...
ENDCASE.

внутри
Code:
IF <LF> = l_value .
    ....
ENDIF.

Хотя это не очень красиво.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 23 2008, 13:42 
Начинающий
Начинающий

Зарегистрирован:
Вт, мар 25 2008, 16:04
Сообщения: 10
111 написал(а):
Kostin Yuriy написал(а):
таким образом и делал, и describe field в таком случае, в соответствующей переменной, в компоненте name содержит имя типа столбца, а не его название.

Я имел ввиду, можно было тупо сделать что-нибудь вроде
Code:
CASE sy-index .
...
ENDCASE.

внутри
Code:
IF <LF> = l_value .
    ....
ENDIF.

Хотя это не очень красиво.


Ок, теперь понял, но подобный вариант рассматривался )) Это, да, не очень красиво. Не очень динамически !


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 23 2008, 17:01 
Начинающий
Начинающий

Зарегистрирован:
Вт, мар 25 2008, 16:04
Сообщения: 10
Пономарев Артем написал:


Вот это просто идеально ! Спасибо ! Метод взят на заметку ! 8)


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

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


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

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


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

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