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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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