Function 'SPELL_AMOUNT'

sap-abap
sapscript
Etiquetas: #<Tag:0x00007f10e75d9b80> #<Tag:0x00007f10e75d97c0>

#1

Hola a ver si me peudes ayudar en este caso: Al imprimir en un sapscript el monto en letras usando la function ‘SPELL_AMOUNT’ me coloca el monto con un espacio:

Dodne dice en letras seiscientos me esta colocando SEISCIENTO S deja un espacio en blanco en esa palabra si imprimo otra queda asi:

Deja un espacio en la palabra nueve (NU EVE). revise el programa que envia el monto en letra:

FORM zm_letras TABLES zin STRUCTURE itcsy
                    zout STRUCTURE itcsy.
  DATA: monto(20),
        letras    LIKE spell,
        m         LIKE spell-number,
        f         TYPE p DECIMALS 2.
  READ TABLE zin WITH KEY name = 'ZMONTO'.
  monto = zin-value.
  REPLACE ALL OCCURRENCES OF ',' IN monto WITH '*'.
  REPLACE ALL OCCURRENCES OF '.' IN monto WITH ' '.
  REPLACE ALL OCCURRENCES OF '*' IN monto WITH '.'.
  CONDENSE monto.
  m = monto.
  sy-waers = 'VEB'.
  CLEAR letras.
  CALL FUNCTION 'SPELL_AMOUNT'
    EXPORTING
      amount    = m
      currency  = sy-waers
*     FILLER    = ' '
      language  = sy-langu
    IMPORTING
      in_words  = letras
    EXCEPTIONS
      not_found = 1
      too_large = 2
      OTHERS    = 3.
  IF sy-subrc = 0.
  ENDIF.
  READ TABLE zout WITH KEY name = 'ZLETRAS'.
  zout-value = letras-word(80).
  MODIFY zout INDEX sy-tabix.
  READ TABLE zout WITH KEY name = 'ZLETRAS2'.
  zout-value = letras-word+80(80).  
  MODIFY zout INDEX sy-tabix.
  READ TABLE zout WITH KEY name = 'ZDEC'.
  CONCATENATE 'CON' letras-decword 'CENTIMOS'
  INTO zout-value SEPARATED BY space.
  MODIFY zout INDEX sy-tabix.
ENDFORM.                    "ZM_LETRAS

Y observo que el toma los valores asi:

Le amplie a 83 en vez de 80 y queda todo en la linea ZLETRAS pero igual al imprimir sale mal.

Y visualizo asi en el debuger:
image
Se ve bien pero al llegar al Sapscript

En el sapscript la impresion de estos montos letras esta asi:
image

Revise la tabla T015Z a ver si los montos en letras estaban con algún detalle pero se ven correctos.

Que puedo revisar?

Muchas Gracias

Saludos

Ana


#2

Hola buenas tardes, revisaste si tienes alguna justificación o alineación en el párrafo que tienes en el sapscript ?


#3

Hola, el utiliza el parrafo ZA y tiene alineacion :LEFT


#5

QUE BRINQUE 81 EN LUGAR DE 80 (zout-value = letras-word+81(80).)

zout-value = letras-word+80(80).
QUE BRINQUE 79 EN LUGAR DE 80, PERO ES EN ESTE CÓDIGO EL PROBLEMA


#6

Ya resolvi, en el Sapscript imprimia &zletras©& &zletras2©& &zdesc©& deja en elprograma todo igual zout-value = letras-word+80(80). y uni en el sapscript &zletras©&&zletras2©& con eso ya no deja el espacio en el monto letra.

Muchas Gracias

Saludos

Ana


#7

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.