MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 04/09/07, 22:15:01
zavarmi zavarmi is offline
Senior Member
 
Fecha de Ingreso: ene 2007
Localización: Monterrey, México.
Mensajes: 221
Question Concatenar Tres Campos Y Que Uno De Ellos Muestre La Edicion 0

Hola a todos,

Tengo el siguiente caso. esto imprimiendo un cod. de Barra (sapscript) el cúal esta compuesto por tres campos: Material + Cantidad + Lote, el cuál lo generó por medio de concatenación, todo OK.
el caso es que el campo cantidad es char de 8 Posiciones, y quiero que este se muestre con los ZEROS que van delante de él : ejemplo cantidad = 115 como el campo es de 8 char, que muestre 00000115..ya que necesito todas las posiciones ocupadas e impresas para que el lector pueda hacer lo que deseamos (por configuaración de este).

gracias por al ayuda.
Responder Con Cita
  #2  
Viejo 05/09/07, 10:13:29
bktr bktr is offline
Junior Member
 
Fecha de Ingreso: feb 2007
Mensajes: 9
mira esta funcion a ver si te sirve: CONVERSION_EXIT_ALPHA_INPUT
Responder Con Cita
  #3  
Viejo 06/09/07, 01:34:40
Gregoryg Gregoryg is offline
Senior Member
 
Fecha de Ingreso: abr 2006
Localización: Caracas, Venezuela
Mensajes: 115
Concatenar

Hola

Chequeate estas funciones
CONVERSION_EXIT_ALPHA_INPUT
CONVERSION_EXIT_ALPHA_OUTPUT
Una te sirve para completar de ceros a la izquierda y otra para eliminanrlos

Saludos
Gregory
__________________
GregoryG
Responder Con Cita
  #4  
Viejo 07/09/07, 11:25:30
Avatar de melerogalan
melerogalan melerogalan is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Murcia
Mensajes: 142
Lightbulb Alternativa

tambien existe las sentencias pack y unpack, que quita los ceros o los elimina por la izquierda respectivamente(o al reves, no me acuerdo, ). Ejemplo:

pack variable_inicial to variable_final.

Con una sola linea lo tienes.

Variable inicial y fianl puede ser la misma sin problemas.

Espero que te sirva.

Saludos
Responder Con Cita
  #5  
Viejo 07/09/07, 20:17:30
zavarmi zavarmi is offline
Senior Member
 
Fecha de Ingreso: ene 2007
Localización: Monterrey, México.
Mensajes: 221
No funciona ni el PACK UNPACK ni la función..Alguna otra manera??
Responder Con Cita
  #6  
Viejo 10/09/07, 19:25:28
Avatar de prendtorff
prendtorff prendtorff is offline
Junior Member
 
Fecha de Ingreso: ago 2006
Mensajes: 24
la funcion CONVERSION_EXIT_ALPHA_INPUT tiene que funcionar, si lo qeu hace es llenar de 0 ( ceros ) del lado izq una variable.

no debes haberla usado bien.

probala en se37 y vas aver...

saludos y suerte resolviendo tu problema.
Responder Con Cita
  #7  
Viejo 11/09/07, 04:42:13
caparase
 
Mensajes: n/a
no sé si sea posible, pero ¿puedes cambiar el tipo de dato de texto a numérico?...si puedes hacer eso, el campo númérico solo te muestra los ceros a la izquierda y lo puedes concatenar sin problemas.

de no ser posible el cambio de tipo, puedes utilizar el comando STRLEN, con el que puedes calcular el largo del texto dentro del campo CANTIDAD y le concatenas los ceros que te hagan falta. Esto es, si tienes 115 en CANTIDAD:

largo = strlen( cantidad ).

* el valor que toma LARGO es 3.

* después le restas el 3 a 8 y te da 5:

largo = 8 - largo.

do largo times.

concatenate '0' cantidad to cantidad.
condense cantidad no-gaps. "elimina los espacios que pueden quedar con
el concatenar
enddo.

espero te sirva.

saludos.
Responder Con Cita
  #8  
Viejo 11/09/07, 16:47:40
zavarmi zavarmi is offline
Senior Member
 
Fecha de Ingreso: ene 2007
Localización: Monterrey, México.
Mensajes: 221
Listo ya quedo Muchas gracias...
Responder Con Cita
  #9  
Viejo 11/09/07, 18:24:22
caparase
 
Mensajes: n/a
...y cómo lo resolviste?
Responder Con Cita
  #10  
Viejo 11/09/07, 22:17:38
zavarmi zavarmi is offline
Senior Member
 
Fecha de Ingreso: ene 2007
Localización: Monterrey, México.
Mensajes: 221
de la siguiente manera: declare una variable de la long. que necesito con valor inicial '0'. Luego de asignar el valor del campo a mi variable 2 (v_qtyc), realice un OVERLAY a mi variable v_qtyc con la variable v_ceros, y luego concateno los campos que quiero (v_matnr V_QTYC p_lote )

DATA: v_ceros(8) VALUE '00000000'.

v_qtyc = mseg-erfmg.

OVERLAY v_qtyc WITH v_ceros.

CONCATENATE v_matnr v_qtyc p_lote INTO v_cblar IN CHARACTER MODE.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 08:48:19.


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