Текущее время: Чт, июл 31 2025, 13:25

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Ссылка на таблицу
СообщениеДобавлено: Ср, фев 10 2010, 17:27 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, фев 16 2006, 15:46
Сообщения: 451
Откуда: Россия
Так, вопрос по синтаксису, глупый, но ответ найти не могу.

Если я получил ссылку на таблицу

Code:
STATICS: lt_conditions       LIKE ZKY_CONDITIONS OCCURS 1000000 WITH HEADER LINE.
DATA rf_conditions    LIKE REF TO lt_conditions.

GET REFERENCE OF lt_conditions    INTO rf_conditions.


То как прочитать теперь данные из этой таблицы? HELP подсказывает ->*, но такой код
Цитата:
READ TABLE rf_conditions->*
WITH KEY KSCHL = lr_kf.


"RF_CONDITIONS->*" is neither specified under "TABLES" nor is it defined as an internal table.

_________________
Ян Владимирович,
http://www.vladimirovich.net


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ссылка на таблицу
СообщениеДобавлено: Ср, фев 10 2010, 17:38 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, сен 13 2008, 08:50
Сообщения: 56
Добрый день.
Так не пойдет?

Code:
TYPES : typ_table TYPE TABLE OF ZKY_CONDITIONS.

FIELD-SYMBOLS : <fs_table> TYPE typ_table.

ASSIGN rf_conditions->* TO <fs_table>.
READ TABLE <fs_table> INTO ... WITH KEY KSCHL = ....
.........


Последний раз редактировалось abap.develop Ср, фев 10 2010, 18:00, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ссылка на таблицу
СообщениеДобавлено: Ср, фев 10 2010, 17:45 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, авг 18 2004, 09:17
Сообщения: 477
Откуда: Москва
Пол: Мужской
Code:
READ TABLE lt_conditions REFERENCE INTO rf_conditions WITH KEY KSCHL = lr_kf.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ссылка на таблицу
СообщениеДобавлено: Ср, фев 10 2010, 17:50 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, фев 16 2006, 15:46
Сообщения: 451
Откуда: Россия
Спасибо!

P.S. Да, а все в курсе, что название этого форума не "abap", а "авар", русскими буквами? Интересно, зачем так сделано.

_________________
Ян Владимирович,
http://www.vladimirovich.net


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ссылка на таблицу
СообщениеДобавлено: Ср, фев 10 2010, 17:57 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, фев 16 2006, 15:46
Сообщения: 451
Откуда: Россия
Так, стоп. Бред, простите.

Во варианте "REFERENCE INTO" читается ссылка на найденную строчку.
Вариант с <FS_CONDITIONS> не работает.

Code:
"<FS_CONDITIONS>" is neither specified under "TABLES" nor is it defined

_________________
Ян Владимирович,
http://www.vladimirovich.net


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ссылка на таблицу
СообщениеДобавлено: Ср, фев 10 2010, 18:03 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, сен 13 2008, 08:50
Сообщения: 56
А какая задача стоит?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ссылка на таблицу
СообщениеДобавлено: Ср, фев 10 2010, 18:05 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, сен 13 2008, 08:50
Сообщения: 56
Yanvladimirovich написал(а):
Вариант с <FS_CONDITIONS> не работает.

Подправил свой пост. Сейчас там рабочий вариант.


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

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Code:
STATICS: lt_conditions       LIKE ZKY_CONDITIONS OCCURS 1000000 WITH HEADER LINE.
DATA rf_conditions    LIKE REF TO lt_conditions.

field-symbols: <lt_conditions>   type table,
<ls_conditions>    type any.


GET REFERENCE OF lt_conditions    INTO rf_conditions.
ASSIGN rf_conditions->* to <lt_conditions>.
read table <lt_conditions> index 1 assigning <ls_conditions>.


типы указаны обощенные. При желании можно использовать конкретные

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ссылка на таблицу
СообщениеДобавлено: Ср, фев 10 2010, 18:17 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, фев 16 2006, 15:46
Сообщения: 451
Откуда: Россия
Цитата:
типы указаны обощенные. При желании можно использовать конкретные


На этом - "ZKY_CONDITIONS" and "<FS_CONDITIONS>" are type-incompatible.

Цитата:
А какая задача стоит?


Задача - есть две внутренних таблицы с идентичной структурой. Нужно сделать несколько запросов из первой, если не найдены данные - несколько таких же запросов из второй.

_________________
Ян Владимирович,
http://www.vladimirovich.net


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ссылка на таблицу
СообщениеДобавлено: Ср, фев 10 2010, 19:49 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, фев 16 2006, 15:46
Сообщения: 451
Откуда: Россия
Хм...

Похоже штука кроется - в "WITH HEADER LINE". Не выйдет создать field symbol на таблицу с header line, вот в этом всё дело.

_________________
Ян Владимирович,
http://www.vladimirovich.net


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ссылка на таблицу
СообщениеДобавлено: Чт, фев 11 2010, 10:14 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Yanvladimirovich написал(а):
Хм...

Похоже штука кроется - в "WITH HEADER LINE". Не выйдет создать field symbol на таблицу с header line, вот в этом всё дело.

для таких случаев в ABAP предусмотрено []

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ссылка на таблицу
СообщениеДобавлено: Чт, фев 11 2010, 12:05 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, фев 16 2006, 15:46
Сообщения: 451
Откуда: Россия
Цитата:
для таких случаев в ABAP предусмотрено []

А пример явно работающего кода - можно?

_________________
Ян Владимирович,
http://www.vladimirovich.net


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ссылка на таблицу
СообщениеДобавлено: Чт, фев 11 2010, 12:22 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
может так
Code:
    TYPES: BEGIN OF ts_main,
           idx TYPE sytabix,
           txt TYPE string,
         END OF ts_main,
         tt_main TYPE TABLE OF ts_main.

  DATA: lt_main TYPE tt_main WITH HEADER LINE.

  DATA: lref_t_main LIKE REF TO lt_main[],
        lref_s_smain LIKE REF TO lt_main.

  DO 5 TIMES.
    lt_main-idx = sy-index.
    lt_main-txt = sy-index.
    APPEND lt_main.
  ENDDO.

  GET REFERENCE OF lt_main[] INTO lref_t_main.

  READ TABLE lref_t_main->*
    WITH KEY idx = 1
    REFERENCE INTO lref_s_smain.

  IF  sy-subrc EQ 0
    AND NOT lref_s_smain IS INITIAL.

    WRITE: lref_s_smain->idx,
           lref_s_smain->txt.
  ENDIF.

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


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

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


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

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


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

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