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

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


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

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


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

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