Текущее время: Вт, май 13 2025, 18:31

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Перевод строки в транслит
СообщениеДобавлено: Чт, апр 07 2005, 11:13 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
кажется. такой функции в сап нет, может кто писал? поделитесь..

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод строки в транслит
СообщениеДобавлено: Пт, апр 08 2005, 17:35 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 08:36
Сообщения: 182
Откуда: Russia
Пол: Мужской
slash написал(а):
кажется. такой функции в сап нет, может кто писал? поделитесь..


Типа вот тебе текст ФМ:

str1 = 'БРШ'.
TRANSLATE str1 USING 'БBРR'.
REPLACE 'Ш' WITH 'SH' INTO str1.

В str1 получиться 'BRSH'
Допихай все варианты перевода и будет счастие :)

_________________
С Уважением Серега


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Перевод строки в транслит
СообщениеДобавлено: Пн, апр 11 2005, 12:00 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
R256 написал:
slash написал(а):
кажется. такой функции в сап нет, может кто писал? поделитесь..


Типа вот тебе текст ФМ:

str1 = 'БРШ'.
TRANSLATE str1 USING 'БBРR'.
REPLACE 'Ш' WITH 'SH' INTO str1.

В str1 получиться 'BRSH'
Допихай все варианты перевода и будет счастие :)

ага, как же, а буквы типа Ч Ш как транслетить будешь?
вообще для однобуквенных так и сделал, но без case не обойтись

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перевод строки в транслит
СообщениеДобавлено: Пн, апр 11 2005, 12:23 
Гость
slash написал(а):
кажется. такой функции в сап нет, может кто писал? поделитесь..


TRANSLATE char_field FROM CODE PAGE '1500' TO CODE PAGE '1146'.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 11 2005, 13:08 
Модератор
Модератор

Зарегистрирован:
Пт, ноя 12 2004, 11:40
Сообщения: 542
Откуда: Москва
Пол: Мужской
In the Unicode context, TRANSLATE... CODEPAGE/NUMBER FORMAT is not
allowed
:(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 11 2005, 13:11 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
В свойствах программы снимите галочку Проверки юникода акт. Хотя это сильно не рекомендуется SAP.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 11 2005, 13:35 
Модератор
Модератор

Зарегистрирован:
Пт, ноя 12 2004, 11:40
Сообщения: 542
Откуда: Москва
Пол: Мужской
Плохой транслит получается...

a b v gh d ie io zh z i i k l m n o p r s t u f h ts tsch sch schtsch b bl ! e yu ya


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 11 2005, 14:37 
Менеджер
Менеджер

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
Ich Will написал:
Плохой транслит получается...

a b v gh d ie io zh z i i k l m n o p r s t u f h ts tsch sch schtsch b bl ! e yu ya

фм пиши, могу код выложить ежели лень

_________________
полный SAPец


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 11 2005, 14:42 
Гость
DATA: RUS(66), S1(33), S2(33),
T1(32), T2(41), T11(32), T21(41), TC(146).
DATA: BEGIN OF TR OCCURS 0,
TB(2),
END OF TR,
I TYPE I, K TYPE I, L TYPE I, VR1(30), Y.

PARAMETERS: VR(30) LOWER CASE.

S1 = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ'.
S2 = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя'.
CONCATENATE S1 S2 INTO RUS.
T1 = 'A,B,V,G,D,E,YO,ZH,Z,I,Y,K,L,M,N,'.
T2 = 'O,P,R,S,T,U,F,H,C,CH,SH,SCH, ,I, ,E,YU,YA'.
T11 = 'a,b,v,g,d,e,yo,zh,z,i,y,k,l,m,n,'.
T21 = 'o,p,r,s,t,u,f,h,c,ch,sh,sch, ,i, ,e,yu,ya'.
CONCATENATE T1 T2 T11 T21 INTO TC.
SPLIT TC AT ',' INTO TABLE TR.
I = 0.
CONDENSE: VR.
CLEAR: Y.
L = STRLEN( VR ) - 1.
WHILE I <= L.
IF S1 CS VR+I(1) AND VR+I(1) NE SPACE.
K = SY-FDPOS + 1.
READ TABLE TR INDEX K.
IF SY-SUBRC = 0.
CONDENSE TR-TB.
IF NOT Y IS INITIAL.
CONCATENATE VR1 TR-TB INTO VR1 SEPARATED BY SPACE.
CLEAR: Y.
ELSE.
CONCATENATE VR1 TR-TB INTO VR1.
ENDIF.
ENDIF.
ELSE.
IF Y IS INITIAL AND VR+I(1) NE SPACE.
CONCATENATE VR1 VR+I(1) INTO VR1.
ENDIF.
IF NOT Y IS INITIAL.
CONCATENATE VR1 VR+I(1) INTO VR1 SEPARATED BY SPACE.
CLEAR: Y.
ENDIF.
ENDIF.
IF VR+I(1) = SPACE.
Y = 'X'.
ENDIF.
ADD 1 TO I.
ENDWHILE.
WRITE:/ VR.
WRITE:/ VR1.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 11 2005, 16:09 
Модератор
Модератор

Зарегистрирован:
Пт, ноя 12 2004, 11:40
Сообщения: 542
Откуда: Москва
Пол: Мужской
Щука - SCUKA :))


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 11 2005, 16:13 
Гость
Ich Will написал:
Щука - SCUKA :))


ну не придирайтесь :)

можно же поправить
DATA: BEGIN OF TR OCCURS 0,
TB(3),
END OF TR,


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, апр 11 2005, 16:19 
Гость
и еще - в конце запятую пропустили
T2 = 'O,P,R,S,T,U,F,H,C,CH,SH,SCH, ,I,'',E,YU,YA,'.


соответственно:
DATA: RUS(66), S1(33), S2(33),
T1(32), T2(42), T11(32), T21(41), TC(147).


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

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


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

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


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

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