Текущее время: Вт, июл 22 2025, 21:51

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Как прочитать список файлов на сервере приложений
СообщениеДобавлено: Пн, июн 18 2012, 10:04 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 15 2005, 11:00
Сообщения: 288
С помощью какого ФМ можно прочитать список файлов на сервере приложений


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как прочитать список файлов на сервере приложений
СообщениеДобавлено: Пн, июн 18 2012, 10:13 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, окт 12 2011, 10:31
Сообщения: 10
Откуда: Москва
Пол: Мужской
EPS_GET_DIRECTORY_LISTING например


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как прочитать список файлов на сервере приложений
СообщениеДобавлено: Пн, июн 18 2012, 10:21 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 15 2005, 11:00
Сообщения: 288
Спасибо, но это только для /usr/sap/trans/EPS/in


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как прочитать список файлов на сервере приложений
СообщениеДобавлено: Пн, июн 18 2012, 10:34 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Ср, окт 12 2011, 10:31
Сообщения: 10
Откуда: Москва
Пол: Мужской
У меня она используется для чтения файлов в /usr/sap/tmp и некоторых других папках. Работает без проблем.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как прочитать список файлов на сервере приложений
СообщениеДобавлено: Пн, июн 18 2012, 11:17 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 15 2005, 11:00
Сообщения: 288
Для пустого DIR_NAME выдает список файлов в каталоге /usr/sap/trans/EPS/in, если указываю какое-либо другое имя каталога выдает Особую ситуацию READ_DIRECTORY_FAILED


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как прочитать список файлов на сервере приложений
СообщениеДобавлено: Пн, июн 18 2012, 11:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Может полномочий на указанные каталоги нет?

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как прочитать список файлов на сервере приложений
СообщениеДобавлено: Пн, июн 18 2012, 13:14 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
RZL_READ_DIR_LOCAL еще попробуйте
Если в SE37 запускаете, галку прописные/строчные не забыли поставить?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как прочитать список файлов на сервере приложений
СообщениеДобавлено: Чт, июн 21 2012, 08:04 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
Можно так:
Code:
  CALL 'C_DIR_READ_START' ID 'DIR'    FIELD filename
                          ID 'FILE'   FIELD i_pattern
                          ID 'ERRNO'  FIELD file-errno
                          ID 'ERRMSG' FIELD file-errmsg.
  DO.
...
    CALL 'C_DIR_READ_NEXT'
      ID 'TYPE'   FIELD file-type
      ID 'NAME'   FIELD file-name
      ID 'LEN'    FIELD file-len
      ID 'OWNER'  FIELD file-owner
      ID 'MTIME'  FIELD file-mtime
      ID 'MODE'   FIELD file-mode
      ID 'ERRNO'  FIELD file-errno
      ID 'ERRMSG' FIELD file-errmsg.
...
  ENDDO.

  CALL 'C_DIR_READ_FINISH'
      ID 'ERRNO'  FIELD file_list-errno
      ID 'ERRMSG' FIELD file_list-errmsg.


_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как прочитать список файлов на сервере приложений
СообщениеДобавлено: Чт, июн 21 2012, 08:19 
Ассистент
Ассистент

Зарегистрирован:
Ср, янв 18 2012, 07:36
Сообщения: 41
Откуда: Югорск
Пол: Мужской
можно поглядеть, как сделано в "браузере сервера приложений" - отчёт RN2LN205N


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как прочитать список файлов на сервере приложений
СообщениеДобавлено: Пт, апр 05 2013, 15:39 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 28 2008, 10:39
Сообщения: 86
Может не в ету тему, но у менія вопрос
как прочитать список файлов по сетевому пути

например: \\sapdev2.hq\cserver
C_DIR_READ_START возвращает opendir - доступ есть

C_DIR_READ_NEXT возвращает ошибку - 3 wrong order of calls

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как прочитать список файлов на сервере приложений
СообщениеДобавлено: Чт, июн 20 2013, 14:41 
Специалист
Специалист

Зарегистрирован:
Пн, июн 04 2012, 10:31
Сообщения: 125
nicky555 написал:
Можно так:
Code:
  CALL 'C_DIR_READ_START' ID 'DIR'    FIELD filename
                          ID 'FILE'   FIELD i_pattern
                          ID 'ERRNO'  FIELD file-errno
                          ID 'ERRMSG' FIELD file-errmsg.
  DO.
...
    CALL 'C_DIR_READ_NEXT'
      ID 'TYPE'   FIELD file-type
      ID 'NAME'   FIELD file-name
      ID 'LEN'    FIELD file-len
      ID 'OWNER'  FIELD file-owner
      ID 'MTIME'  FIELD file-mtime
      ID 'MODE'   FIELD file-mode
      ID 'ERRNO'  FIELD file-errno
      ID 'ERRMSG' FIELD file-errmsg.
...
  ENDDO.

  CALL 'C_DIR_READ_FINISH'
      ID 'ERRNO'  FIELD file_list-errno
      ID 'ERRMSG' FIELD file_list-errmsg.


Сделал ФМник по этому принципу, НО
почему-то постоянно выдает список файлов в /usr/sap/[Название системы]/DVEBMGS01/work/
Есть идеи почему так?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как прочитать список файлов на сервере приложений
СообщениеДобавлено: Пт, июн 21 2013, 14:02 
Специалист
Специалист

Зарегистрирован:
Пн, июн 04 2012, 10:31
Сообщения: 125
Code:
  CALL 'C_DIR_READ_FINISH'             "just to be sure    "#EC CI_CCALL
      ID 'ERRNO'  FIELD l_errno
      ID 'ERRMSG' FIELD l_errmsg.
  IF sy-subrc <> 0 AND sy-subrc <> 3.
     RAISE READ_FINISH_FAILED.
  ENDIF.
  CALL 'C_DIR_READ_START' ID 'DIR'    FIELD lv_dir
                          ID 'FILE'   FIELD i_file_mask
                          ID 'ERRNO'  FIELD l_errno
                          ID 'ERRMSG' FIELD l_errmsg.
  IF sy-subrc <> 0.
    RAISE READ_START_FAILED.
  ENDIF.
  CLEAR l_sum_error.
*  CLEAR gt_file_list.
*  REFRESH gt_file_list.
  DO.
    CLEAR ls_file_list.
    CLEAR file.
    CALL 'C_DIR_READ_NEXT'                                "#EC CI_CCALL
      ID 'TYPE'   FIELD file-type
      ID 'NAME'   FIELD file-name
      ID 'LEN'    FIELD file-len
      ID 'OWNER'  FIELD file-owner
      ID 'MTIME'  FIELD file-mtime
      ID 'MODE'   FIELD file-mode
      ID 'ERRNO'  FIELD l_errno
      ID 'ERRMSG' FIELD l_errmsg.
    CASE sy-subrc.
      WHEN 0.                                               " or 4.
        CLEAR: l_errno, l_errmsg.
        CHECK file-name <> '.' AND file-name <> '..' .
        CASE file-type(1).
          WHEN 'F' or 'f'.                      " normal file.
            MOVE 'F'                   TO ls_file_list-type.
          WHEN 'D' or 'd'.                      " directory
            MOVE 'D'                   TO ls_file_list-type.
          WHEN OTHERS.                   " device, fifo, socket,...
            MOVE 'S'                   TO ls_file_list-type.
        ENDCASE.

        PERFORM p6_to_date_time
          USING file-mtime g_timezone_sec
                file-mod_time
                file-mod_date.
        MOVE file-mode               TO ls_file_list-mode.
        MOVE file-owner              TO ls_file_list-owner.
        MOVE file-mod_date           TO ls_file_list-date.
        MOVE file-mod_time           TO ls_file_list-time.
        IF file-len > 9999999.
          MOVE '>10 MB'              TO ls_file_list-len.
        ELSE.
          WRITE file-len             TO ls_file_list-len.
        ENDIF.
        MOVE file-name               TO ls_file_list-name.
*        CONCATENATE i_dir
*                    file-name
*               INTO ls_file_list-full_name.
        APPEND ls_file_list TO t_files.

      WHEN 1.                          "End of List
        EXIT.                          "exit do loop
      WHEN OTHERS.
        ADD 1                          TO l_sum_error.
    ENDCASE.
  ENDDO.
  CALL 'C_DIR_READ_FINISH'                                "#EC CI_CCALL
      ID 'ERRNO'  FIELD l_errno
      ID 'ERRMSG' FIELD l_errmsg.
  IF sy-subrc <> 0 AND sy-subrc <> 4.
    RAISE READ_FINISH_FAILED.
  ENDIF.

на вход подаю "/[имя папки]"


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

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


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

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


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

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