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...
ODPOWIEDZ
emil
Posty: 133
Rejestracja: pt gru 27, 2019 11:02 am
Has thanked: 29 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: 1058
Rejestracja: pt mar 14, 2008 12:51 pm
Has thanked: 71 times
Been thanked: 313 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: 133
Rejestracja: pt gru 27, 2019 11:02 am
Has thanked: 29 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: 135
Rejestracja: śr sie 24, 2022 11:50 am
Has thanked: 60 times
Been thanked: 86 times
Kontakt:

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
Bez tytułu.jpg (28.92 KiB) Przejrzano 1322 razy
SAP ABAP Certified Developer
emil
Posty: 133
Rejestracja: pt gru 27, 2019 11:02 am
Has thanked: 29 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: 135
Rejestracja: śr sie 24, 2022 11:50 am
Has thanked: 60 times
Been thanked: 86 times
Kontakt:

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: 133
Rejestracja: pt gru 27, 2019 11:02 am
Has thanked: 29 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
pasek.png (13.92 KiB) Przejrzano 1304 razy
Oczywiście, że DECWORD było ładnie wypełnione...
Następnym razem muszę oglądać takie rzeczy debuggerem...

Dziękuję za pomoc :)
K602
Posty: 135
Rejestracja: śr sie 24, 2022 11:50 am
Has thanked: 60 times
Been thanked: 86 times
Kontakt:

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
ODPOWIEDZ