Текущее время: Вс, июл 20 2025, 00:47

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


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

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


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

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