|
#1
|
||||
|
||||
Esto es sólo para el caso de ceros a la izquerda en campos numéricos y enteros.
v_numero type i, (o like sy-index) v_nummero_n(15) type n, v_num_char(15) type c. v_numero = 1234. v_numero_n = v_numero. ( move: v_numero to v_numero_n.) write v_numero_n to v_num_char. Ahora v_numero_char es '000000000001234'. puedes presentar este en pantalla o transferirlo, si lo presentas en pantalla tambien puedes usar como salida v_numero_n. |
#2
|
||||
|
||||
report zprue_.
data: matriz(15) type N value '0'. data: begin of itab occurs 0, numero(15) type n, end of itab. start-of-selection. move '12' to itab-numero. append itab. clear itab. move '1234' to itab-numero. append itab. clear itab. move '123456' to itab-numero. append itab. clear itab. move '123456789' to itab-numero. append itab. clear itab. loop at itab. move itab-numero to matriz. Write:/ matriz. endloop. SALIDA ------------------------> 000000000000012 000000000001234 000000000123456 000000123456789 salud !!!!!!
__________________
|
#3
|
||||
|
||||
Horale, ya salieron varias formas de hacerlo, vere cual es la mejor .
|
#4
|
|||
|
|||
una explicación
Hola DCErick,
como bien lo comenta 'tomasm' en mi punto de vista la mejor forma de hacer lo que necesitas es asi como el te sugiere, ya que los datos tipo n se rellenan automaticamente con ceros a la izquierda, si de antemano sabes que tu campo o numero debe ser de logitud 15, declaras una variable tipo n de logitud 15 y despues asignas el valor que desees. data: num(15) type n, num_string type string. MOVE num_string TO num. con esto automáticamente conviertes num_string en un numero de 15 posiciones quedando este valor en num, pudes imprimir el valor para verlo. espero que te sea de ayuda. Saludos |
Herramientas | Buscar en Tema |
Desplegado | |
|
|