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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Странности передачи параметров в формах
СообщениеДобавлено: Пт, июл 10 2009, 07:45 
Начинающий
Начинающий

Зарегистрирован:
Пт, июл 10 2009, 07:32
Сообщения: 11
Пол: Мужской
Для получения списка файлов директории есть стандартный метод: cl_gui_frontend_services=>directory_list_files
Чтобы не заморачиваться лишними буквами, обернул вызов этого метода в форму. Вот таким кодом:

Code:
form GET_DIR_LIST tables FTABLE  "type FILE_INFO
                              using  DIRNAME.

  data: count TYPE i, S_DIRNAME type STRING.
  S_DIRNAME = DIRNAME. "согласуем типы

  call method CL_GUI_FRONTEND_SERVICES=>DIRECTORY_LIST_FILES
    exporting DIRECTORY  = S_DIRNAME
                  FILES_ONLY   = 'X'
                  DIRECTORIES_ONLY = ' '
    changing  FILE_TABLE   = FTABLE
                   COUNT         = COUNT.
endform.


Вызываем форму вот таким образом:
Code:
  data: DIRFILES type standard table of FILE_INFO.
  perform GET_DIR_LIST tables DIRFILES using  'D:\'.


Компилируем - всё ОК, но при вызове получаем дамп про несоответствие типов между FILE_TABLE и FTABLE.
Ладно. Убираем обертку ввиде формы и вызываем непосредственно код внутри формы. Всё прекрасно работает.
Т.е. такое впечатление, что передача таблицы через форму искажает её тип..((((
Эксперименты с приделыванием хвостов с типом к определению формы ничего не дали..((
Есть у кого какие мнения насчет борьбы с этой вот странностью?

Пономарев Артем: пользуйтесь тэгами для оформления кода, пожалуйста.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Странности передачи параметров в формах
СообщениеДобавлено: Пт, июл 10 2009, 07:56 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Внутри формы таблицу типизируйте.
Code:
FORM get_dir_list TABLES ftable STRUCTURE file_info
USING dirname.

  DATA: count TYPE i, s_dirname TYPE string.
  s_dirname = dirname. "ñîãëàñóåì òèïû

  CALL METHOD cl_gui_frontend_services=>directory_list_files
    EXPORTING
      directory        = s_dirname
      files_only       = 'X'
      directories_only = ' '
    CHANGING
      file_table       = ftable[]
      count            = count.
ENDFORM.                    "GET_DIR_LIST


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странности передачи параметров в формах
СообщениеДобавлено: Пт, июл 10 2009, 08:18 
Начинающий
Начинающий

Зарегистрирован:
Пт, июл 10 2009, 07:32
Сообщения: 11
Пол: Мужской
Thank за идею. На самом деле, даже типизировать не пришлось.
Фишка оказалась в добавке хвоста [] к имени таблицы: FTABLE[]. Т.е. вызов метода должен быть таким:
Code:
call method CL_GUI_FRONTEND_SERVICES=>DIRECTORY_LIST_FILES
    exporting DIRECTORY        = S_DIRNAME
              FILES_ONLY       = 'X'
              DIRECTORIES_ONLY = ' '
    changing  FILE_TABLE       = FTABLE[color=#BF0040][b][][/b][/color]
              COUNT            = COUNT.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Странности передачи параметров в формах
СообщениеДобавлено: Пт, июл 10 2009, 10:11 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
Insect, пожалуйста, используй тег code для оформления ABAP-кода.

_________________
/nex


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

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


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

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


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

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