Kwota słownie (SPELL_AMOUNT, HR_IN_CHG_INR_WRDS)

Jeśli programujesz, administrujesz, integrujesz i masz wątpliwość lub obawę, to właśnie najlepsze miejsce dla Ciebie. Pisz śmiało...
emil
Posty: 128
Rejestracja: pt gru 27, 2019 11:02 am
Has thanked: 27 times
Been thanked: 42 times

Kwota słownie (SPELL_AMOUNT, HR_IN_CHG_INR_WRDS)

Post autor: emil »

Mam kwotę w formacie 12,35 zł.
Chcę to zmienić na zapis słowny.

Idealnie by było mieć coś w stylu HR_IN_CHG_INR_WRDS dla naszego języka/waluty, ale z tego, co widzę, to raczej nie uświadczy się takich dobroci ;)
SPELL_AMOUNT pomija znak dziesiętny i całą kwotę traktuje jako liczbę całkowitą, czyli 1235 zł.
Czy nadal nie ma gotowego FM, który ogarnia kwoty z groszami?
Jestem skazany na rozbicie kwoty na złotówki i grosze i oddzielne puszczenie FM dla każdego z nich?
wojtas7
Posty: 1041
Rejestracja: pt mar 14, 2008 12:51 pm
Has thanked: 70 times
Been thanked: 305 times

Re: Kwota słownie (SPELL_AMOUNT, HR_IN_CHG_INR_WRDS)

Post autor: wojtas7 »

W Polsce przyjęło się że grosze można oznaczać ułamkowo, typu 45/100 na końcu kwoty słownie, więc nie trzeba słownie groszy pisać.
emil
Posty: 128
Rejestracja: pt gru 27, 2019 11:02 am
Has thanked: 27 times
Been thanked: 42 times

Re: Kwota słownie (SPELL_AMOUNT, HR_IN_CHG_INR_WRDS)

Post autor: emil »

wojtas7 pisze: czw sie 18, 2022 9:40 am W Polsce przyjęło się że grosze można oznaczać ułamkowo, typu 45/100 na końcu kwoty słownie, więc nie trzeba słownie groszy pisać.
Nie wiedziałem o tym :D Ale racja, Biznes potwierdził, sporo ułatwiło to pracę ;)
Dzięki za info.
DenzelWaszyngton
Posty: 57
Rejestracja: czw maja 23, 2013 6:49 pm
Has thanked: 21 times
Been thanked: 14 times

Re: Kwota słownie (SPELL_AMOUNT, HR_IN_CHG_INR_WRDS)

Post autor: DenzelWaszyngton »

emil pisze: czw sie 18, 2022 8:01 am Mam kwotę w formacie 12,35 zł. [...]
SPELL_AMOUNT pomija znak dziesiętny i całą kwotę traktuje jako liczbę całkowitą, czyli 1235 zł.
czy dobrze przekazujesz kwotę do FM? parametrem wejściowym jest kwota w formacie P(8) DECIMALS 2 (przykład 1724.07). w takim przypadku parametr eksportowy in_words wypełniany jest prawidłowymi wartościami.

EDIT:
jednak parametr wejściowy nie jest określony - nie spojrzałem dobrze.
przetestuj sobie ten FM.
gdy np. nie podasz waluty to nie otrzymasz miejsc dziesiętnych
K602
Posty: 101
Rejestracja: śr sie 24, 2022 11:50 am
Has thanked: 51 times
Been thanked: 71 times

Re: Kwota słownie (SPELL_AMOUNT, HR_IN_CHG_INR_WRDS)

Post autor: K602 »

Ta kwota działa. Zarówno z , jak i . I taj podajemy w '...', więc system robi koercję (en. coercion).
Bez tytułu.jpg
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
SAP ABAP Certified Developer
emil
Posty: 128
Rejestracja: pt gru 27, 2019 11:02 am
Has thanked: 27 times
Been thanked: 42 times

Re: Kwota słownie (SPELL_AMOUNT, HR_IN_CHG_INR_WRDS)

Post autor: emil »

K602 pisze: pn sie 29, 2022 8:36 am Ta kwota działa. Zarówno z , jak i . I taj podajemy w '...', więc system robi koercję (en. coercion).

Bez tytułu.jpg
Teraz to zbaraniałem...
Jakie dokładnie wartości podałeś dla
AMOUNT
CURRENCY
FILLER
LANGUAGE
w powyższym przykładzie?
K602
Posty: 101
Rejestracja: śr sie 24, 2022 11:50 am
Has thanked: 51 times
Been thanked: 71 times

Re: Kwota słownie (SPELL_AMOUNT, HR_IN_CHG_INR_WRDS)

Post autor: K602 »

Kod: Zaznacz cały

CALL FUNCTION 'SPELL_AMOUNT'
  EXPORTING
    amount    = '12,35'
    currency  = 'PLN'
*   FILLER    = ' '
    language  = sy-langu
  IMPORTING
    in_words  = in_words
  EXCEPTIONS
    not_found = 1
    too_large = 2
    OTHERS    = 3.
SAP ABAP Certified Developer
emil
Posty: 128
Rejestracja: pt gru 27, 2019 11:02 am
Has thanked: 27 times
Been thanked: 42 times

Re: Kwota słownie (SPELL_AMOUNT, HR_IN_CHG_INR_WRDS)

Post autor: emil »

Dramat.
Zerkając w zawartość IN_WORDSa z poziomu se37, nie zwróciłem uwagi na dłuuuuuuuuuuugi pasek przwijania.
pasek.png
Oczywiście, że DECWORD było ładnie wypełnione...
Następnym razem muszę oglądać takie rzeczy debuggerem...

Dziękuję za pomoc :)
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
K602
Posty: 101
Rejestracja: śr sie 24, 2022 11:50 am
Has thanked: 51 times
Been thanked: 71 times

Re: Kwota słownie (SPELL_AMOUNT, HR_IN_CHG_INR_WRDS)

Post autor: K602 »

Zdecydowanie lepiej, choć i tam zdarzają się rozsunięcia przy typach znakowych :) Ale jak się wklikasz, to widać.
SAP ABAP Certified Developer