Текущее время: Вт, июн 24 2025, 22:28

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Использование функций из ораклов.пакета UTL_MATCH в Abap
СообщениеДобавлено: Вт, июл 17 2012, 07:16 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 17 2012, 06:54
Сообщения: 13
Для вывода дублей материала, я планирую использовать функцию utl_match.edit_distance_similarity. Возникли проблемы с адаптацией под abap.
Есть ли какой-нибудь рабочий пример применения пакета utl_match в абапе?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Использование функций из ораклов.пакета UTL_MATCH в Abap
СообщениеДобавлено: Вт, июл 17 2012, 09:15 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
SAP R/3 задумывался как платформо-независимая среда и использование функциональных особенностей БД в нем не особо приветствуется, хотя такая возможность есть.
А что, для определения и вывода дублей материалов необходимо использовать сложные алгоритмы? :?

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Использование функций из ораклов.пакета UTL_MATCH в Abap
СообщениеДобавлено: Вт, июл 17 2012, 11:41 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 17 2012, 06:54
Сообщения: 13
Удав написал(а):
SAP R/3 задумывался как платформо-независимая среда и использование функциональных особенностей БД в нем не особо приветствуется, хотя такая возможность есть.
А что, для определения и вывода дублей материалов необходимо использовать сложные алгоритмы? :?



Использование данной функции позволило бы снизить трудозатраты по реализации поиска дублей к минимуму, т.к. необходимые алгоритмы она уже содержит.
По-моему слишком трудоемко искать вручную и достичь при этом наиболее точных результатов.
Посоветуете что-нибудь, методы, способы, подходы? с примером желательно :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Использование функций из ораклов.пакета UTL_MATCH в Abap
СообщениеДобавлено: Вт, июл 17 2012, 13:31 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
2 BYA: если у вас система версии 7.02 и выше, то аналогичная функция уже есть в абапе. Называется distance.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Использование функций из ораклов.пакета UTL_MATCH в Abap
СообщениеДобавлено: Вт, июл 17 2012, 14:01 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 17 2012, 06:54
Сообщения: 13
Кодер написал(а):
2 BYA: если у вас система версии 7.02 и выше, то аналогичная функция уже есть в абапе. Называется distance.


А по-конкретнее? ФМ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Использование функций из ораклов.пакета UTL_MATCH в Abap
СообщениеДобавлено: Вт, июл 17 2012, 21:36 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Куда уж конкретнее. Новая функция языка. Вообще, очень рекомендую хелп на изменения языка в зависимости от релиза. В абап -редакторе ф1 а далее в первом уровне веток ищете.

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Использование функций из ораклов.пакета UTL_MATCH в Abap
СообщениеДобавлено: Вт, июл 31 2012, 11:29 
Начинающий
Начинающий

Зарегистрирован:
Вт, июл 17 2012, 06:54
Сообщения: 13
Кодер написал(а):
В абап -редакторе ф1 а далее в первом уровне веток ищете.


Код есть, помогите, пожалуйста, довести до ума:

REPORT demo_string_distance.

PARAMETERS: word TYPE c LENGTH 30 DEFAULT 'CALL METHOD' OBLIGATORY,
percent TYPE i DEFAULT 50 OBLIGATORY.

CLASS demo DEFINITION.
PUBLIC SECTION.
CLASS-METHODS main.
ENDCLASS.

CLASS demo IMPLEMENTATION.
METHOD main.
DATA: index_tab TYPE REF TO cl_abap_docu=>man_index_tab,
langu TYPE sy-langu,
dist TYPE i,
max TYPE i,
str1 TYPE string,
str2 TYPE string,
BEGIN OF result,
dist TYPE i,
text TYPE string,
END OF result,
result_tab LIKE SORTED TABLE OF result
WITH NON-UNIQUE KEY dist,
output TYPE string.
FIELD-SYMBOLS: <index_tab> TYPE cl_abap_docu=>man_index_tab,
<index> TYPE LINE OF cl_abap_docu=>man_index_tab.
IF sy-langu <> 'D'.
langu = 'E'.
ELSE.
langu = 'D'.
ENDIF.
index_tab = cl_abap_docu=>get_abap_index( langu ).
ASSIGN index_tab->* TO <index_tab>.
LOOP AT <index_tab> ASSIGNING <index>.
str1 = to_upper( val = <index>-key1 ).
str2 = to_upper( val = word ).
IF strlen( str1 ) > strlen( str2 ).
max = strlen( str1 ).
ELSE.
max = strlen( str2 ).
ENDIF.
max = ( 100 - percent ) * max / 100 + 1.
dist = distance( val1 = str1 val2 = str2 max = max ).
IF dist < max.
result-dist = dist.
result-text = str1.
INSERT result INTO TABLE result_tab.
ENDIF.
ENDLOOP.
LOOP AT result_tab INTO result.
output = |{ result-text WIDTH = 40 }({ result-dist })|.
WRITE: / output.
ENDLOOP.
ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
demo=>main( ).

AT SELECTION-SCREEN ON percent.
IF percent NOT BETWEEN 0 AND 100.
MESSAGE 'Enter a value between 0 and 100' TYPE 'E'.
ENDIF.


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

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


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

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


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

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