Si alguna vez han querido cambiar la posición del signo negativo en ABAP (El standard es 100-) para que quede así -100, habrán buscado y encontrado la función CLOI_PUT_SIGN_IN_FRONT y claro, se habrán dado cuenta de que no sirve para todos los casos e inclusive no funciona en modo de test...Por eso, hice un pequeño form para solucionar los pequeños inconvenientes -;)
REPORT z_dummy_atg_3.
DATA: value TYPE p DECIMALS 2,
value_text(18) TYPE c,
text1(18) TYPE c.
value = '15.2-'.
WRITE value TO value_text.
PERFORM cambiar_signo CHANGING value_text.
WRITE:/ value_text.
*&--------------------------------------------------*
*& Form CAMBIAR_SIGNO
*&--------------------------------------------------*
* Cambia la posición del signo
*---------------------------------------------------*
FORM cambiar_signo CHANGING value_text.
SEARCH value_text FOR '-'.
IF sy-subrc = 0 AND sy-fdpos <> 0.
SPLIT value_text AT '-' INTO value_text text1.
CONDENSE value_text.
CONCATENATE '-' value_text INTO value_text.
ELSE.
CONDENSE value_text.
ENDIF.
ENDFORM. "CAMBIAR_SIGNO
Saludos,
Blag.
No comments:
Post a Comment