Текущее время: Сб, июл 19 2025, 10:40

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Вывод "неизвестной" таблицы данных
СообщениеДобавлено: Чт, фев 16 2006, 14:53 
Гость
Опять к разговору о динамических таблицах данных... так и не могу уловить суть работы с заведомо незивестным сткрутурами :(

Наваял вот такого монстра. Пользователь вводит имя ТД, выводим её содержимое...

Не выводит ничего :\
Code:
REPORT  Z_TBL_TEST_REPORT.

DATA: VR TYPE REF TO DATA.
PARAMETERS: TABNAM(16) MATCHCODE OBJECT DD_DBTB_16.

FIELD-SYMBOLS: <record>,
               <cell>,
               <tab> TYPE STANDARD TABLE.

TABLES: DD02L.

START-OF-SELECTION.

CLEAR DD02L.
SELECT SINGLE * FROM DD02L WHERE TABNAME = TABNAM.

IF NOT DD02L-TABNAME IS INITIAL.
  CREATE DATA VR TYPE STANDARD TABLE OF (TABNAM).
  ASSIGN VR->* TO <tab>.
  LOOP AT <tab> ASSIGNING <record>.
     do 3 times.
      assign component sy-index of structure <record> to <cell>.
      write <cell>.
     enddo.
  ENDLOOP.
ELSE.
  WRITE:/ 'Неправильное имя таблицы'.
ENDIF.


Где-то вот здесь вру сильно
Code:
  ASSIGN VR->* TO <tab>.
  LOOP AT <tab> ASSIGNING <record>.
     do 3 times.
      assign component sy-index of structure <record> to <cell>.
      write <cell>.
     enddo.
  ENDLOOP.


очень жду какие-нибудь комментарий от abap-сообщества :)


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 16 2006, 15:08 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Вообще-то не вижу оператора SELECT, который бы <tab> наполнил.
Что-то вроде SELECT * FROM (tabname) INTO TABLE <tab>.

Offtopic: Вот зачем переписывать SE16? Или ради самосовершенствования? Честно сказать, никакого практического смысла не вижу...

_________________
С уважением, Сергей Королев


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вывод "неизвестной" таблицы данных  Тема решена
СообщениеДобавлено: Чт, фев 16 2006, 15:10 
Гость
Bagroff написал(а):
Наваял вот такого монстра.


Сам наваял? :lol: Или оригинал дать? :wink:


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 16 2006, 15:25 
Гость
Цитата:
Сам наваял? Или оригинал дать?


Никто не говорит, что авторство мне принадлежит. Наваял из нескольких идей в форуме. А претендовать на ориганльные идеи решения поставленных задач в r3 мне есче очень рано... :)

Цитата:
Offtopic: Вот зачем переписывать SE16? Или ради самосовершенствования? Честно сказать, никакого практического смысла не вижу...

Чтобы вникнуть в идею "динамичности" abap`a и только, никакого практического значения нет.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 16 2006, 15:30 
Гость
Code:
REPORT  ZTESTTAB                                 .


DATA:   VR TYPE REF TO DATA,
        PRN TYPE SY-REPID.

PARAMETERS: TABNAM(16) MATCHCODE OBJECT DD_DBTB_16, "Имя таблицы
            MAXENTR TYPE I DEFAULT 200.   "Макс.кол-во записей

FIELD-SYMBOLS: <WA>, <P> TYPE STANDARD TABLE.

TABLES: DD02L.

START-OF-SELECTION.

  CLEAR DD02L.

  SELECT SINGLE * FROM DD02L
      WHERE TABNAME = TABNAM.

  IF  NOT DD02L-TABNAME IS INITIAL.
    CREATE DATA VR TYPE STANDARD TABLE OF (TABNAM).
    ASSIGN VR->* TO <P>.
    PERFORM VALV.
  ELSE.
    WRITE:/ 'Неправильное имя таблицы'.
  ENDIF.

FORM VALV.
  DATA: SNAME LIKE DD02L-TABNAME.
  SNAME = TABNAM.
  PRN = SY-REPID.
  CLEAR <P>. REFRESH <P>.
  SELECT * FROM (TABNAM)
          APPENDING TABLE <P>
          UP TO MAXENTR ROWS.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM       = PRN
      I_STRUCTURE_NAME         = SNAME
      I_SAVE                   = 'A'
    TABLES
      T_OUTTAB                 = <P>.

ENDFORM.


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

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


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

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


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

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