Текущее время: Чт, апр 25 2024, 13:26

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: BAPI Левенштайна
СообщениеДобавлено: Ср, апр 13 2016, 11:55 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
Привет, господа абаперы,
не подскажите BAPI-ки нет готовой с сабжем?
(CL_SIC_FM_FIELD_COMP_LEVSHT)

ps с заданием фамилии и дистанции, на выходе списочек

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI Левенштайна
СообщениеДобавлено: Ср, апр 13 2016, 13:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
несколько лет назад появился оператор distance


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI Левенштайна
СообщениеДобавлено: Чт, апр 14 2016, 09:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
trop написал(а):
несколько лет назад появился оператор distance

проехали - пришлось своим топором рубить :)

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI Левенштайна
СообщениеДобавлено: Чт, апр 14 2016, 09:53 
Почетный гуру
Почетный гуру
Аватара пользователя

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI Левенштайна
СообщениеДобавлено: Чт, апр 14 2016, 13:47 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
trop написал(а):
а как сравнили то в итоге?

.....
LOOP AT <pannnn> INTO out_0002.
if out_0002-nachn(1) <> lastname(1). continue.
endif.
clear: line2.
concatenate out_0002-nachn out_0002-vorna out_0002-midnm into line2.
line1 = to_upper( line1 ).
line2 = to_upper( line2 ).
IF strlen( line1 ) > strlen( line2 ).
max = strlen( line1 ).
ELSE.
max = strlen( line2 ).
ENDIF.
max = ( 100 - percent ) * max / 100 + 1.

dist = distance( val1 = line1 val2 = line2 max = max ).

IF dist < max.

clear i0290. REFRESH i0290.
.....

хотел использовать http://www.se80.co.uk/sapclasses/c/cl_s/cl_sic_fm_field_comp_levsht.htm, но там какой-то
ABAP code you do need to check if the attribute is public or private - не в курсе что это :?

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI Левенштайна
СообщениеДобавлено: Пт, апр 15 2016, 09:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Поделюсь. На каком блоге взял уже не помню

Code:
S1   TYPE CSEQUENCE
S2   TYPE CSEQUENCE
VALUE( RES )   TYPE I


data:
  ntab type table of i,
  otab type table of i,
  ls1 type i, ls2 type i,
  t1 type i, t2 type i,
  tt2 type i,
  x1 type i, x2 type i,
  x type i,
  inp type i.

  ls1 = strlen( s1 ) - 1.
  ls2 = strlen( s2 ) - 1.
  do.
    do.
      if s1+t1(1) = s2+t2(1).
        if t1 = 0.
          inp = t2.
        elseif t2 = 0.
          inp = t1.
        else.
          read table otab into inp index t2.
        endif.
        insert inp into table ntab.
      else.
        if t1 = 0.
          inp = t2 + 1.
        elseif t2 = 0.
          inp = t1 + 1.
        else.
          tt2 = t2 + 1.
          read table ntab into x index t2.
          read table otab into x1 index t2.
          read table otab into x2 index tt2.
          if x < x1.
            if x < x2.
              inp = x + 1.
            else.
              inp = x2 + 1.
            endif.
          else.
            if x1 < x2.
              inp = x1 + 1.
            else.
              inp = x2 + 1.
            endif.
          endif.
        endif.
        insert inp into table ntab.
      endif.
      if t2 = ls2.
        t2 = 0.
        exit.
      endif.
      t2 = t2 + 1.
    enddo.
    refresh otab.
    otab[] = ntab[].
    refresh ntab.
    if t1 = ls1.
      exit.
    endif.
    t1 = t1 + 1.
  enddo.
  res = inp.

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI Левенштайна
СообщениеДобавлено: Пт, апр 15 2016, 12:37 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
Kengur написал(а):
Поделюсь. На каком блоге взял уже не помню

это наверно когда distance не было ещё :)
а что насчёт "private"?

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI Левенштайна
СообщениеДобавлено: Пт, апр 15 2016, 13:44 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
imho, это общий шаблон документации (описания) любого класса. и просто указывают где и как можно использовать атрибуты класса.

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


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

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
ghost написал:
imho, это общий шаблон документации (описания) любого класса. и просто указывают где и как можно использовать атрибуты класса.

я попытался вставить приведённый там кусок в BAPI-ку, а она фигвам сказало :|

_________________
Нет сегодняшних проблем -
есть вчерашние ошибки
(с)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BAPI Левенштайна
СообщениеДобавлено: Пт, апр 15 2016, 14:32 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
а вы метод COMPARE_FIELDS использовали ? только его можно извне использовать

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: BAPI Левенштайна
СообщениеДобавлено: Пт, апр 15 2016, 14:46 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1246
Skif написал:
я попытался вставить приведённый там кусок в BAPI-ку, а она фигвам сказало :|

Из этого класса извне можно вызывать только 1 метод: IF_SIC_FM_FIELD_COMPARATOR~COMPARE_FIELDS
Все остальные методы - приватные (можно вызвать только внутри класса или внутри "друзей класса"). Т.е. даже экземпляр можно создать только внутри этого класса или внутри его друзей.

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


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

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


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

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


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

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