Текущее время: Ср, июл 30 2025, 17:35

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


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

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


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

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