#1
|
|||
|
|||
Fecha en letra
Hola.
Necesito poner una fecha (día y mes) en letra y me he encontrado con un problema. Para el día utilizo la función 'SPELL_AMOUNT', pero como su nombre indica está pensada para cantidades, y si quiero poner 31-01-2011 me escribe 'treinta y un' en lugar de 'treinta y uno'. ¿Sabéis cómo podía solucionarlo? ¿Sabéis alguna función que convierta números en letras aunque no sean cantidades? Muchas gracias. Marta. |
#2
|
||||
|
||||
Podrías utilizar la siguiente funcion para obtener el mes: ISP_GET_MONTH_NAME
Código: DATA: v_mes TYPE t247-mnr, v_texlargo TYPE t247-ltx, v_texcorto TYPE t247-ktx. v_mes = sy-datlo+4(2). CALL FUNCTION 'ISP_GET_MONTH_NAME' EXPORTING language = sy-langu month_number = v_mes IMPORTING langu_back = sy-langu longtext = v_texlargo shorttext = v_texcorto. WRITE: 'Fecha actual: ', sy-datlo. WRITE : / 'Mes: ', v_texlargo, v_texcorto. Y para solucionar lo del día, podrías identificar cuando es 1, 21 o 31 que son los que te derian problemas y le agregas la "o" al final. Espero te sirva... Hugo |
#3
|
|||
|
|||
Hola Hugo.
Muchas gracias pero no sé si me va a servir. Lo del mes ya lo tenía solucionado, de todas formas me apunto tu función que no la conocía. Lo del día, como comentaba lo hago con la función estándar SPELL_AMOUNT, con lo cual para controlar lo de los días 1, 21 y 31 tendría que hacerme una copia de la función, lo que me parece demasiado lío para lo que es. Aunque reconozco que si no encuentro otra función que haga lo que yo quiero, no me quedará más remedio. Muchas gracias de nuevo. Marta. |
#4
|
|||
|
|||
No te compliques, un mes no tiene mas de 31 dias. Toma el nombre directo de la tabla T015Z
De acuerdo que la spell_amount tiene ese ligero detalle al acortar el nombre del ultimo digito si es uno |
#5
|
|||
|
|||
Sí, tienes razón, me he creado una funcioncilla con el acceso a la tabla T015z
y ya está. Muchas gracias por todo. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|