Текущее время: Ср, июл 23 2025, 08:27

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


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

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


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

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