MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Comparar campo relleno de ceros con campo sin ceros (foro/showthread.php?t=35935)

andresf02 30/03/10 14:09:04

Comparar campo relleno de ceros con campo sin ceros
 
Buenos Dias

Por favor su ayuda con el siguiente problema que me he encontrado:

Estoy realizando un reporte que cruza informacion de 3 tablas:

1 - MARA
2 - MAKT
3 - ZEM_CAB (Tabla Z)

En la tabla ZEM_CAB existe el campo "SIGNI" que es de tipo "CHAR20" y se llena con codigos de materiales los cuales solo tienen 6 digitos para este ejemplo. Por ejemplo "700600" , "703350" , "700100" y al consultar la tabla por la transaccion SE16 los datos en el campo SIGNI no se rellenan con CEROS.


Caso contrario a lo que ocurre con el campo MATNR de la tabla MARA el cual es un CHAR18 con los mismos codigo de material pero llenandolos de ceros hasta completar los 18 caracteres. Por ejemplo: "000000000000703350"


Lo que necesito es hacer un reporte que me enlace la tabla ZEM_CAB con la MARA a traves de los campos SIGNI y MATNR respectivos, teniendo en cuenta que el MATNR se rellena de ceros y en el SIGNI se registra el codigo del material unicamente.


Les agradeceria un codigo de ejemplo completo ya que soy novato programando en ABAP.

mysmb2 30/03/10 14:19:16

hay varias soluciones la mas sencilla, de ser posible cambia el tipo de dato de ZEM_CAB-SIGN a MATNR(que ya tiene la exit de conversion).
De lo contrario vas a tener que usar variables auxiliares ya que no se puede comparar en un select distintos tipos de datos.

Saludos

andresf02 30/03/10 14:35:47

Gracias por tu respuesta.

La verdad es que la opcion de cambiar el tipo de datos de la tabla ZEM_CAB no es viable ya que esta tabla se esta usando para otros propositos. Tendria que ser la opcion de variables auxiliares.

Podrias por favor explicarme como lo deberia de hacer, ya que solo se comprar campos en un SELECT pero no sabria como hacer el tratamiento de estas variables dentro del SELECT.

francesc 30/03/10 14:39:59

Puedes usar la función "CONVERSION_EXIT_ALPHA_INPUT" cuando selecciones el campo de tu tabla Z. Lo que te hace esta función es añadirte ceros a la izquierda hasta completar la longitud total del campo. De este modo ya puedes comparar con los campos de la MARA.

mysmb2 30/03/10 14:54:37

Ademas de lo que dice francesc tene en cuenta las funciones CONVERSION_EXIT_MATN1_INPUT
CONVERSION_EXIT_MATN1_OUTPUT
para convertir el material en codigo largo o corto.

Saludos


Husos Horarios son GMT. La hora en este momento es 20:11:52.

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