Текущее время: Вс, июл 27 2025, 16:06

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


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

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


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

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