Текущее время: Пн, июл 28 2025, 18:34

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Поиск имени файла в заданном пути
СообщениеДобавлено: Ср, апр 18 2007, 11:24 
Специалист
Специалист

Зарегистрирован:
Пн, дек 06 2004, 11:36
Сообщения: 151
Всем привет.

Используя какой оператор, можно выделить имя файла в заданном пути? Т.е. последнюю подстроку, отделенную символом '\'.

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, апр 18 2007, 11:33 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, сен 22 2004, 08:42
Сообщения: 1079
Откуда: Москва
Пол: Мужской
фм PC_SPLIT_COMPLETE_FILENAME.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, апр 18 2007, 13:05 
Специалист
Специалист

Зарегистрирован:
Пн, дек 06 2004, 11:36
Сообщения: 151
Функция классная, спасибо.

Тока если в пути есть папка с русскими буквами, то ФМ ругается на неправильный путь...
Оказывается, что при проверке каждой папки пути делается вот такое сравнение:
IF LEXT CO
'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_^$~!##%&-{}()'.
ENDIF.
IF SY-FDPOS <> OFFSET.
RAISE INVALID_PATH.
ENDIF.

В общем ладно, сделаю поиск имени файла ручками...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, апр 18 2007, 13:16 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, сен 22 2004, 08:42
Сообщения: 1079
Откуда: Москва
Пол: Мужской
можно использовать метод SPLIT_PATH_FILENAME класса CL_REPORT_VIEWER.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, апр 18 2007, 13:28 
Специалист
Специалист

Зарегистрирован:
Пн, дек 06 2004, 11:36
Сообщения: 151
Да вот так прям :wink:

SPLIT p_name AT '\' INTO TABLE lt_dirs.

DESCRIBE TABLE lt_dirs LINES fnam_index.
READ TABLE lt_dirs INDEX fnam_index.
l_f_name = lt_dirs-name.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, апр 18 2007, 15:13 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
Geolog написал(а):
Да вот так прям :wink:

SPLIT p_name AT '\' INTO TABLE lt_dirs.

DESCRIBE TABLE lt_dirs LINES fnam_index.
READ TABLE lt_dirs INDEX fnam_index.
l_f_name = lt_dirs-name.

DESCRIBE TABLE lt_dirs LINES fnam_index.
=
fnam_index = LINES( lt_dirs ).
эвалюция, блин :lol:

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, апр 18 2007, 15:35 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, сен 22 2004, 08:42
Сообщения: 1079
Откуда: Москва
Пол: Мужской
slash написал(а):
DESCRIBE TABLE lt_dirs LINES fnam_index.
=
fnam_index = LINES( lt_dirs ).
эвалюция, блин :lol:

А что быстрее работает не замеряли?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, апр 18 2007, 15:42 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
Mike1 написал:
slash написал(а):
DESCRIBE TABLE lt_dirs LINES fnam_index.
=
fnam_index = LINES( lt_dirs ).
эвалюция, блин :lol:

А что быстрее работает не замеряли?

нет :oops:

а сильно большая разница?

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: re
СообщениеДобавлено: Ср, апр 18 2007, 15:49 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
замерил :oops:

конструкция lines быстрее чем describe table .. lines
в среднем на 9% при количестве строк 2400 в простейшей таблице,
количество строк на время выполнения не влияет.

offtopic:
конструкция assign ('dnam-fnam') to <f>
быстрее чем assign component fnam of structure dnam to <f>
насколько не помню.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: re
СообщениеДобавлено: Ср, апр 18 2007, 15:56 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
trop написал(а):
в среднем на 9%

Вообще говоря, при таких прецизионных измерениях неплохо бы статистическую погрешность оценивать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: ку
СообщениеДобавлено: Ср, апр 18 2007, 16:02 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
5000 итераций, среднеквадртическое отклонение 1,2%
если вы настаиваете

и предупреждая очередной вопрос, среднее время в микросекундах 5 и 6 соотв :mrgreen:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: re
СообщениеДобавлено: Ср, апр 18 2007, 16:36 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
trop написал(а):
в среднем на 9%


уфф, а я то испугался уже
даже если бы lines() работал медленнее, учитывая то что его писать на ~30% быстрее пользовал бы его=))))

_________________
полный SAPец


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

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


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

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


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

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