sábado, 12 de marzo de 2016

Funciones útiles - Números

******************************************************************************** * INFORMACIÓN GENERAL - GENERAL INFORMATION ******************************************************************************** *^ Autor - Author : José Manrique Valderrama *^ Objetivo - Objetive : Funciones útiles para números *^ Website : abapejemplos.blogspot.com ******************************************************************************** REPORT zjm_demo_funciones. START-OF-SELECTION. DATA: lwa_words TYPE spell. DATA: ls_docum TYPE char10 VALUE '12453', li_int TYPE i VALUE -35626, ls_int TYPE char10, li_numer TYPE i, li_denom TYPE i. *Completa un texto con números con ceros a la izquierda. WRITE: / 'El valor', ls_docum, 'después de completar con ceros a la izquierda:'. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = ls_docum IMPORTING output = ls_docum. WRITE ls_docum. *Elimina los ceros a la izquierda de una cadena con números. WRITE: / 'El valor', ls_docum, 'después de quitar los ceros a la izquierda:'. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = ls_docum IMPORTING output = ls_docum. WRITE ls_docum. ls_int = li_int. *Coloca el signo a la izquierda de un número negativo WRITE: / 'El número', ls_int, 'con el signo al inicio es:'. CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT' CHANGING value = ls_int. WRITE: ls_int. *Obtiene un número en letras y sus dígitos individualmente CALL FUNCTION 'SPELL_AMOUNT' EXPORTING amount = 1135414 IMPORTING in_words = lwa_words EXCEPTIONS not_found = 1 too_large = 2 OTHERS = 3. IF sy-subrc EQ 0. WRITE: / '1135414 en palabras es:', lwa_words-word. ENDIF. *Convierte un número en fracción ( numerador y denominador ) CALL FUNCTION 'CONVERT_TO_FRACTION' EXPORTING input = '1245.56' IMPORTING nominator = li_numer denominator = li_denom EXCEPTIONS conversion_overflow = 1 OTHERS = 2. IF sy-subrc EQ 0. WRITE: / '1245.56 =', li_numer, '/', li_denom. ENDIF.
Resultado

No hay comentarios:

Publicar un comentario