necesito una funcion para agregar ceros a izquierda a un char

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • matiaspostay
    Junior Member
    • ene
    • 5

    #1

    necesito una funcion para agregar ceros a izquierda a un char

    Hola, necesito una funcion para agregar ceros a izquierda a un char y otra para quitar ceros a izquierda a un char (MATNR). Espero me puedan ayudar, muchas gracias
  • gcid
    Junior Member
    • jun
    • 8

    #2
    existen estas funciones.
    CONVERSION_EXIT_ALPHA_INPUT: llena con 0 la izq. '000000001'.
    CONVERSION_EXIT_ALPHA_OUTPUT: borra 0 a la izq.
    ojala te sirvan.
    salu2.
    Atte.,
    Gcid.

    Comentario

    • matiaspostay
      Junior Member
      • ene
      • 5

      #3
      Originalmente publicado por gcid
      existen estas funciones.
      CONVERSION_EXIT_ALPHA_INPUT: llena con 0 la izq. '000000001'.
      CONVERSION_EXIT_ALPHA_OUTPUT: borra 0 a la izq.
      ojala te sirvan.
      salu2.
      No me sirve ya que es un char y cuando pongo una letra no me quita/agrega los ceros. Ej: 00067U3064

      Comentario

      • robert_milan
        Senior Member
        • jun
        • 315

        #4
        dale un:

        loop at it_File.
        SHIFT it_file-matnr RIGHT DELETING TRAILING SPACE.
        Do.
        replace space with '0 ' into it_file-matnr.
        if sy-subrc <> 0.
        exit.
        endif.
        enddo.
        endloop.

        espero te sirva
        Un Huevon No Inútil


        Solo di lo que piensas, a la mejor tienes la mejor respuesta....

        Si alguien ya lo hizo, copialo y cambiale las variables total es un codigo nuevo.....

        Si SAP lo hace se puede hacer, no me pidas hacer algo que SAP no ha hecho.....

        Consultor FI jr/ABAP Sr.

        Comentario

        • conrad10ar
          Banned
          • mar
          • 296

          #5
          La manera más fácil es haciendo un UNPACK nombredevariable, para que te agregue los 0, y un PACK para que los elimine.

          Saludos

          Comentario

          • jgeonas
            Junior Member
            • dic
            • 6

            #6
            WRITE im_data_new-bednr TO l_kostl RIGHT-JUSTIFIED.
            TRANSLATE l_kostl USING ' 0'.

            Comentario

            • jflinaj
              Junior Member
              • oct
              • 16

              #7
              si el problema para usar las funciones que te ha dicho gcid por que es un texto no tienes mas convertirlo a integer y luego aplicar la funcion.
              MOVE STRCLAVE(char3) TO INTCLAVE(int).
              lo de las parentesis no creo que es necesario ponerlo pero cada variable si que tiene del tipo correspondiente.
              y luego aplicar la funcion con la variable integer.

              Comentario

              • abapconsultoria
                Senior Member
                • ene
                • 101

                #8
                Que tal con la funcion instruccion OVERLAY

                OVERLAY text1 WITH text2 [ONLY pattern].


                Saludos.
                ABAPCONSULTORIA@GMAIL.COM

                www.consultoriaabap.blogspot.com

                Lo importante no es saber sino saber quien es el que sabe

                Comentario

                • zonanet
                  Senior Member
                  • mar
                  • 195

                  #9
                  Saludos a todo el foro:

                  Yo necesité hacer lo mismo (quitar los ceros) y la manera más sencilla y rápida fue con el PACK, gracias a conrad10ar por la información.

                  No he utilizado el unpack, pero les haré llegar mis resultados..


                  Comentario

                  Trabajando...