| ******************************************************************************** * 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. |
Mostrando entradas con la etiqueta TEXTO. Mostrar todas las entradas
Mostrando entradas con la etiqueta TEXTO. Mostrar todas las entradas
sábado, 12 de marzo de 2016
Funciones útiles - Números
Funciones útiles - Fechas y Hora
| ******************************************************************************** * INFORMACIÓN GENERAL - GENERAL INFORMATION ******************************************************************************** *^ Autor - Author : José Manrique Valderrama *^ Objetivo - Objetive : Funciones útiles para fechas *^ Website : abapejemplos.blogspot.com ******************************************************************************** REPORT zjm_demo_funciones. DATA: ld_datum TYPE sy-datum, ls_dat08 TYPE char8, ls_dat10 TYPE char10, lt_uzeit TYPE sy-uzeit, ls_dia TYPE ish_daytxt, ls_mes TYPE fcltx. START-OF-SELECTION. * Suma días, meses y años a una fecha. CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL' EXPORTING date = sy-datum days = 3 months = 1 signum = '+' years = 0 IMPORTING calc_date = ld_datum. WRITE: / 'Hoy es', sy-datum, 'dentro de 1 mes y 3 días será', ld_datum. * Resta días, meses y años a una fecha. CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL' EXPORTING date = sy-datum days = 3 months = 1 signum = '-' years = 0 IMPORTING calc_date = ld_datum. WRITE: / 'Hoy es', sy-datum, 'hace 1 mes y 3 días fue', ld_datum. * Se cualquier cantidad de tiempo a una fecha y hora CALL FUNCTION 'END_TIME_DETERMINE' EXPORTING duration = 456 *Minutos = MIN, Segundos = 'S', Horas = STD, etc. unit = 'MIN' IMPORTING end_date = ld_datum end_time = lt_uzeit CHANGING start_date = sy-datum start_time = sy-uzeit EXCEPTIONS factory_calendar_not_found = 1 date_out_of_calendar_range = 2 date_not_valid = 3 unit_conversion_error = 4 si_unit_missing = 5 parameters_no_valid = 6 OTHERS = 7. IF sy-subrc EQ 0. WRITE: / 'Hoy es', sy-datum, 'hora', sy-uzeit, ', dentro de 456 minutos será', ld_datum, 'hora', lt_uzeit. ENDIF. *Convierte una fecha de formato externo a interno CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL' EXPORTING date_external = '10.10.2016' IMPORTING date_internal = ls_dat08 EXCEPTIONS date_external_is_invalid = 1 OTHERS = 2. IF sy-subrc EQ 0. WRITE: / 'La fecha 10.10.2016 se representa internamente en SAP como', ls_dat08. ENDIF. *Convierte una fecha de formato interno a externo CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL' EXPORTING date_internal = '20151009' IMPORTING date_external = ls_dat10 EXCEPTIONS date_internal_is_invalid = 1 OTHERS = 2. IF sy-subrc EQ 0. WRITE: / 'La fecha interna 20151009 se visualiza como:', ls_dat10. ENDIF. *Obtiene el nombre del día en el que cae una fecha CALL FUNCTION 'ISH_GET_DAY_OF_WEEK' EXPORTING date = '19850123' IMPORTING day_txt = ls_dia. WRITE: / 'El 23 de enero de 1985 fue un día', ls_dia. *Obtiene el último día del mes CALL FUNCTION 'FKK_LAST_DAY_OF_MONTH' EXPORTING day_in = sy-datum IMPORTING last_day_of_month = ld_datum EXCEPTIONS day_in_no_date = 1 OTHERS = 2. IF sy-subrc EQ 0. WRITE: / 'El último día de este mes es:', ld_datum. ENDIF. *Obtiene el nombre de un mes CALL FUNCTION 'ISP_GET_MONTH_NAME' EXPORTING date = sy-datum language = sy-langu IMPORTING longtext = ls_mes EXCEPTIONS calendar_id = 1 date_error = 2 not_found = 3 wrong_input = 4 OTHERS = 5. IF sy-subrc EQ 0. WRITE: / 'Hoy', sy-datum, 'estamos en el mes de', ls_mes. ENDIF. |
Suscribirse a:
Entradas (Atom)