MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   contar caracteres en variable (foro/showthread.php?t=63047)

Angela27 12/06/12 12:13:20

contar caracteres en variable
 
Buenos días a todos,
Necesito contar los caractares de una variable, para despùes, si no tiene una
cantidad determinada rellenar con ceros a la izquierda.
por ejemplo: variable(10) type c. tiene '1234' y yo necesito que si es menor a 6, como es este caso, que son 4 caracteres, que se quede así '001234'
Me dijeron de usar contador = strlen(variable)
pero no me funciona.:confused:
Por fi... alguien me puede ayudar?

Muchas graciassssss:)

mysmb2 12/06/12 13:25:21

Hola Angela, usando el contador de esta manera funciona.
Saludos.


kilysap 12/06/12 13:44:32

Hola Angela, te paso un ejemplo, no se si tus campos son tipo i. . . pero strln es para caracters

data: variable(6) TYPE c,
tamano(2) TYPE c,
aux(6) TYPE c.

variable = '1234'.

tamano = STRLEN( variable ).

IF tamano le 5 .
UNPACK variable to aux.
ENDIF.

WRITE aux.

Espero te ayude

Mauricio Hidalgo 12/06/12 18:37:28

Estimada lo más simple es que:

en lugar de declarar su variable tipo C:
data variable(10) type c

lo haga como tipo N, es decir :
data variable(10) type N

asi no importa que cantidad de digitos ingreses, siempre te quedara por la izquierda los ceros hasta completar el largo de la variable.

Saludos

Angela27 13/06/12 08:43:25

Muchas gracias a todos,
a si da gusto... tener compis así:)

amiretti 13/06/12 19:38:59

Conversion_exit_alpha_input
 
Existe una función standard para esto, es bien genérica y sirve para muchos casos...

DATA: lv_entrada type n.
DATA: lv_salida(5) type n.

ventrada = 10.

Call function 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = lv_entrada
IMPORTING
output = lv_salida.

* La variable lv_salida quedaría: 00010. Esta variable la podes declarar del tipo de dato que quieras, por lo que veo estas trabajando con algún tipo de documento, podes asignarle ese tipo...


Tambien existe una función para quitar los ceros, te comento por si alguna vez te hace falta... es la CONVERSION_EXIT_ALPHA_OUTPUT y trabaja de igual manera...

Espero te sirva! Saludos!

Onisap 30/08/17 09:07:01

Facil y rapido.
 
Para esto no hace falta contar los caracteres de la variable.

Este código deja los espacios a la izquierda y los cambia por ceros.

SHIFT variable RIGHT DELETING TRAILING space.
TRANSLATE variable using ' 0'.


Husos Horarios son GMT. La hora en este momento es 15:00:18.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web