Текущее время: Пн, июл 21 2025, 18:59

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Обращение к полям таблицы через номер или переменную.
СообщениеДобавлено: Пт, июн 27 2008, 12:10 
Специалист
Специалист

Зарегистрирован:
Пт, фев 16 2007, 09:49
Сообщения: 157
Привет всем!
Кто подскажет как получить значение таблицы через номер поля или через переменную содержащую имя поля?

Типа этого:

Code:
перем1 = имя поля.
write таблица-(перем1).
write таблица (4).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обращение к полям таблицы через номер или переменную.
СообщениеДобавлено: Пт, июн 27 2008, 12:18 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Damir написал(а):
Привет всем!
Кто подскажет как получить значение таблицы через номер поля или через переменную содержащую имя поля?

Типа этого:

перем1 = имя поля.
write таблица-(перем1).
write таблица (4).

Читать хелп на предмет а) что такое таблица, структура и пр. типы данных; б) как ратает оператор ASSIGN

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 27 2008, 12:59 
Специалист
Специалист

Зарегистрирован:
Пт, фев 16 2007, 09:49
Сообщения: 157
Пример:
Code:
TYPES: BEGIN OF human,
         name(20)       TYPE c,
         sname(30) TYPE c,
         age  TYPE n,
         zarpl type i,
       END OF human.


data: intab type table of human with header line,
outtab like intab.
......
нужно не так: write intab-zarpl.
А что-то вроде этого:
Code:
data: str type string.
str = 'zarpl'.
write intab-(str).

ASSIGN не помогает. так как он делает ссылку на конкретное поле таблицы. А какое поле пользователь выберет неизвестно.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 27 2008, 13:05 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Damir написал(а):
...
ASSIGN не помогает. так как он делает ссылку на конкретное поле таблицы. А какое поле пользователь выберет неизвестно.

Помогает.
Внимательно, вдумчимо читать справку, особо обратить внимание на различные варианты данного оператора.

_________________
"После" - не значит "вследствие"


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

Зарегистрирован:
Пн, фев 11 2008, 11:54
Сообщения: 359
Откуда: Воронеж
Пол: Мужской
Плохо читаете хелп
Code:
DATA spfli_wa TYPE spfli.

FIELD-SYMBOLS: <wa>   TYPE ANY,
               <comp> TYPE ANY.

ASSIGN spfli_wa TO <wa>.

SELECT SINGLE *
       FROM spfli
       INTO spfli_wa
       WHERE carrid = 'LH' AND
             connid = '400'.

WHILE sy-subrc = 0.
  ASSIGN COMPONENT sy-index OF STRUCTURE <wa> TO <comp>.
  WRITE / <comp>.
ENDWHILE.

_________________
Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 27 2008, 14:39 
Специалист
Специалист

Зарегистрирован:
Пт, фев 16 2007, 09:49
Сообщения: 157
Спасибо, все заработало! :wink:
Мне помогло выражение ..component of structure.. Интересно оно работает без assign?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 27 2008, 14:43 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Damir написал(а):
Спасибо, все заработало! :wink:
Мне помогло выражение ..component of structure.. Интересно оно работает без assign?
Нет, без assign оно работает скучно.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 27 2008, 14:44 
Специалист
Специалист

Зарегистрирован:
Пт, фев 16 2007, 09:49
Сообщения: 157
:lol:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 27 2008, 18:52 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
На SDN есть отличный класс (eLearning) на эту тему:
https://www.sdn.sap.com/irj/sdn/go/port ... 3da2025704

Слайды тут:

https://www.sdn.sap.com/irj/servlet/prt ... 35e96fe0ae


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 30 2008, 12:07 
Специалист
Специалист

Зарегистрирован:
Пт, фев 16 2007, 09:49
Сообщения: 157
Может кто подскажет как преобразовать символ в байт или 2 байта (для unicode)?
То есть, 'H' в 48, 'T' в 54. Пойдет преобразование в кодовой странице по умолчанию.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 30 2008, 12:43 
Специалист
Специалист

Зарегистрирован:
Пн, янв 14 2008, 10:33
Сообщения: 163
Damir написал(а):
Может кто подскажет как преобразовать символ в байт или 2 байта (для unicode)?
То есть, 'H' в 48, 'T' в 54. Пойдет преобразование в кодовой странице по умолчанию.


посмотрите группу ф-ий: SCMS_CONV


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 30 2008, 12:45 
Специалист
Специалист

Зарегистрирован:
Пт, фев 16 2007, 09:49
Сообщения: 157
Спасибо большое! Посмотрим.. :wink:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 30 2008, 12:49 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Класс CL_ABAP_CONV_OUT_CE.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 07 2008, 13:14 
Специалист
Специалист

Зарегистрирован:
Пт, фев 16 2007, 09:49
Сообщения: 157
Задача усложняется: как прочитать поле из таблицы, причем ни имя поля, ни имя таблицы заранее неизвестны :lol:

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 07 2008, 14:03 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Damir написал(а):
Задача усложняется: как прочитать поле из таблицы, причем ни имя поля, ни имя таблицы заранее неизвестны :lol:

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

Задача попрежднему остаётся неизменной - научиться читать help и пользоваться поиском!!!
По ключевым словам SELECT;CREATE DATA; и немногим другим, составляющим язык ABAP.

Это полько в части "считать".

А уж в целом постановка - Вы что, пишите ухудшенный вариант SE16?

_________________
"После" - не значит "вследствие"


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

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


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

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


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

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