Текущее время: Сб, июл 26 2025, 11:05

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: ФМ для количества, аналог SPELL_AMOUNT?
СообщениеДобавлено: Пт, июн 18 2010, 07:57 
Ассистент
Ассистент

Зарегистрирован:
Вт, май 11 2010, 14:34
Сообщения: 44
Не подскажите ФМ? Нужно писать тонны и килограммы текстом. Или же придется писать свой велосипед?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ФМ для количества, аналог SPELL_AMOUNT?
СообщениеДобавлено: Пт, июн 18 2010, 07:59 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, июн 13 2007, 16:36
Сообщения: 585
Откуда: Belarus
Пол: Мужской
Имхо - велосипед.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для количества, аналог SPELL_AMOUNT?
СообщениеДобавлено: Пт, июн 18 2010, 08:22 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
ilya написал(а):
Не подскажите ФМ? Нужно писать тонны и килограммы текстом. Или же придется писать свой велосипед?

А в чем проблема вообще? есть прозрачная таблица T006A, там есть полное название ЕИ, хотите ФМ, вот T006A_SINGLE_READ и вот CY_T006A_READ... Или я Вас не правильно понял?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для количества, аналог SPELL_AMOUNT?
СообщениеДобавлено: Пт, июн 18 2010, 08:25 
Ассистент
Ассистент

Зарегистрирован:
Вт, май 11 2010, 14:34
Сообщения: 44
Besa написал:
А в чем проблема вообще? есть прозрачная таблица T006A, там есть полное название ЕИ, хотите ФМ, вот T006A_SINGLE_READ и вот CY_T006A_READ... Или я Вас не правильно понял?

Не совсем. Нужен ФМ которому можно скормить к примеру, 1,650 Т, а он выдаст "одна тонна шестьсот пятьдесят килограмм".


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ФМ для количества, аналог SPELL_AMOUNT?  Тема решена
СообщениеДобавлено: Пт, июн 18 2010, 08:41 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
В накладной делаю так:

Code:
CALL FUNCTION 'SPELL_AMOUNT'
  EXPORTING
    amount   = totals_data-all-net_weight
    currency = l_currency
  IMPORTING
    in_words = l_spell
  EXCEPTIONS
    OTHERS   = 9.
PERFORM Get_Spell_Massa
  USING
    l_spell
    head_data-meins
  CHANGING
    low_part-net_weight_word.


Где Get_Spell_Massa следующий:
Code:
FORM Get_Spell_Massa
  USING
    au_spell TYPE spell
    au_meins TYPE meins
  CHANGING
    ac_spell_massa TYPE string.

CONSTANTS: lc_tonna TYPE meins VALUE 'TO',
           lc_tonna_name_s TYPE string VALUE 'т',
           lc_tonna_name_l TYPE string VALUE 'тонн',
           lc_kilogramm TYPE meins VALUE 'КГ',
           lc_kilogramm_name_s TYPE string VALUE 'кг',
           lc_kilogramm_name_l TYPE string VALUE 'килограмм',
           lc_gramm TYPE meins VALUE 'G',
           lc_gramm_name_s TYPE string VALUE 'г',
           lc_gramm_name_l TYPE string VALUE 'грамм',
           lc_milligramm TYPE meins VALUE 'MG',
           lc_milligramm_name_s TYPE string VALUE 'мг',
           lc_milligramm_name_l TYPE string VALUE 'миллиграмм'.
DATA l_name_unit TYPE string.
DATA l_numeral TYPE n.
DATA l_num TYPE i.

CLEAR ac_spell_massa.

CHECK     ( au_spell-word IS NOT INITIAL )
      AND ( au_spell-decword IS NOT INITIAL ).

CASE au_meins.
WHEN lc_tonna.
  l_name_unit = lc_tonna_name_l.

  IF au_spell-number+14 = 1.
    CONCATENATE l_name_unit 'а' INTO l_name_unit.
    l_num = STRLEN( au_spell-word ) - 2.
    au_spell-word+l_num = 'на'.
  ELSEIF au_spell-number+14 >= 2 AND au_spell-number+14 <= 4.
    CONCATENATE l_name_unit 'ы' INTO l_name_unit.
  ENDIF.

  CONCATENATE au_spell-word l_name_unit
              au_spell-decimal lc_kilogramm_name_s
    INTO ac_spell_massa SEPARATED BY space.
WHEN lc_kilogramm.
  CONCATENATE au_spell-word lc_kilogramm_name_l
              au_spell-decimal lc_gramm_name_s
    INTO ac_spell_massa SEPARATED BY space.
WHEN lc_gramm.
  CONCATENATE au_spell-word lc_gramm_name_l
              au_spell-decimal lc_milligramm_name_s
    INTO ac_spell_massa SEPARATED BY space.
WHEN OTHERS.

ENDCASE.

ENDFORM. " Get_Spell_Massa

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Последний раз редактировалось Sergo Пт, июн 18 2010, 08:42, всего редактировалось 1 раз.

Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ФМ для количества, аналог SPELL_AMOUNT?
СообщениеДобавлено: Пт, июн 18 2010, 08:42 
Ассистент
Ассистент

Зарегистрирован:
Вт, май 11 2010, 14:34
Сообщения: 44
Sergo спасибо!


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

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


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

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


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

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