Comparar campo relleno de ceros con campo sin ceros

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • andresf02
    Senior Member
    • nov
    • 190

    #1

    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
    Senior Member
    • ene
    • 406

    #2
    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
    Sebastián Chiavia
    http://www.programacionabap.com.ar

    Comentario

    • andresf02
      Senior Member
      • nov
      • 190

      #3
      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.

      Comentario

      • francesc
        Member
        • mar
        • 58

        #4
        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.

        Comentario

        • mysmb2
          Senior Member
          • ene
          • 406

          #5
          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
          Sebastián Chiavia
          http://www.programacionabap.com.ar

          Comentario

          Trabajando...