Separador miles ,

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • goyleo
    Senior Member
    • sep
    • 102

    #1

    Separador miles ,

    Hola que tal gente les comento mi problema.
    Estoy haciendo un formulario SAPSCRIPT el cual llama a un pool de subrutinas, a una de las mismas le paso datos por medio de la tabla IN, este dato es un numero que tiene separador de miles con coma pero lo pasa como string (creo), mi pregunta es como paso a un entero esa string a un numero entero para poder trabajarlo como tal, ya que al leer el dato me tira DUMP

    DATA: TOT_TARAG TYPE F,
    TOT_BRGEW TYPE F.


    TABLA IN
    -----------------
    Pos__VALUE
    1---> 746,000
    2---> 7,460
    -----------------

    READ TABLE in INDEX 3.
    TOT_TARAG = in-value. >>>>>>>> DUMP al asignar el valor....

    HAy alguna funcion que me resuelva el problema ???

    Muchas Gracias .
  • DavidXD_XD
    Moderator
    • ago
    • 1255

    #2
    Hola, podrias imprimir el texto que arroja el DUMP en la parte "Analisis de Error", asi se podria saber un poco mas del supuesto error ....
    David Carballido Córdova

    Comentario

    • goyleo
      Senior Member
      • sep
      • 102

      #3
      Descripcion del DUMP

      Esta es la descripcion del DUMP.


      Texto breve
      Unable to interpret "746,000 " as a number.


      Anál.errores
      An exception occurred that is explained in detail below.
      The exception, which is assigned to class 'CX_SY_CONVERSION_NO_NUMBER', was not
      caught in
      procedure "SUM_TOT" "(FORM)", nor was it propagated by a RAISING clause.
      Since the caller of the procedure could not have anticipated that the
      exception would occur, the current program is terminated.
      The reason for the exception is:
      The program attempted to interpret the value "746,000 " as a number, but
      since the value contravenes the rules for correct number formats,
      this was not possible.

      Comentario

      • DavidXD_XD
        Moderator
        • ago
        • 1255

        #4
        Tengo un compañero al cual le salio el mismo problema, al parecer estan igualando una cadena a un entero ... me explico

        data: frac(10) TYPE p decimals 2,
        cadena TYPE string,
        frac2 TYPE resb-bdmng. "2 decimales

        fracc = 10000 / 7. " fracc = 1428.57

        write fracc TO cadena.
        "cadena = 1,428.57 -> dependiendo de la configuracion de usuario para decimales

        frac2 = cadena. ->DUMP frac2 no puede ser 1,428.57

        Tal vez eso sea el problema, el de asignar doble ....
        David Carballido Córdova

        Comentario

        • m@ry@net
          Junior Member
          • mar
          • 2

          #5
          conversiones de p a c o de c a p

          hola

          hay dos funciones

          conversion de tipo p a c
          unpack <p_num> to <string>
          desempaqueta p_num en la variable string colocando ceros a la izquierda

          conversion de tipo c a p
          pack <string> to <p_num>
          es el caso contario

          donde p es de tipo packet y puedes definirlo para que contenga los decimales que deseas.

          saludos

          Comentario

          • goyleo
            Senior Member
            • sep
            • 102

            #6
            gracias

            muchas gracias gente ya me funciono, fueron de gran ayuda

            Comentario

            • Ariel-StaFe
              Senior Member
              • nov
              • 321

              #7
              Punto decimal en prog y coma decimal en formulario

              Estimados:
              perdon que me sume a esta conversacion cerrada hace un tiempo.
              pero el problema que tengo yo es que en el programa de control, esta ok, como lo necesito. con . decimal.. x ej (1234.56)
              pero al momento de imprimir esa variable en el formulario, la imprime como 1.234,56
              A que se debe ?

              He probado de mover esas variables a string y me convierte a coma decimal (ej. 1.234,56) y al imprimir sale igual..

              No logro imprimir con el punto (.) decimal.

              Ya tengo seteado el parametro del usuario como 1,234.56 y nada.

              Alguien me podria dar una mano?
              Ariel-StaFe
              Analista Programador Abap Senior
              Santa Fe Capital
              Pcia de Santa Fe
              Argentina

              Comentario

              • sconoredhot
                Senior Member
                • feb
                • 341

                #8
                hola

                Sap a las variables de precio (NETWR) siempre intenta imprimirlas con este formato, 1.234,56, en realidad, al formato que tenga seteado el usuario en la SU01.

                Si lo que necesitas es que se muestre asi: 1234.56, tienes que mover ese valor a una variable tipo char, e imprimir esa en lugar de la que este declarada como NETWR.

                Saludos
                Sebas

                Desarrollador ABAP.

                Comentario

                • Ariel-StaFe
                  Senior Member
                  • nov
                  • 321

                  #9
                  Sebas:
                  Es como dijiste. Gracias.
                  Ahora, no habra manera de que se muestren los separadores de miles ?
                  1,234.56 ?
                  en lugar de 1234.56 ?
                  Ya es mucho pedir.. con tipo char no lo veo posible.. tendre que trabajar sobre la variable char como una cadena y hacer yo el separado x codigo ?. no habra algo mas directo ?.
                  Gracias desde ya.
                  Ariel-StaFe
                  Analista Programador Abap Senior
                  Santa Fe Capital
                  Pcia de Santa Fe
                  Argentina

                  Comentario

                  • Ariel-StaFe
                    Senior Member
                    • nov
                    • 321

                    #10
                    Bueno. Lo resolvi teniendo el valor final en una variable Char y haciendo TRANSLATE.
                    Gracias
                    Saludos
                    Ariel-StaFe
                    Analista Programador Abap Senior
                    Santa Fe Capital
                    Pcia de Santa Fe
                    Argentina

                    Comentario

                    • FFARRO
                      Junior Member
                      • nov
                      • 11

                      #11
                      El separador de miles se visualiza según esté configurado el usuario en la SU01.

                      Saludos,

                      Freddy Farro
                      Programador ABAP
                      ________________________

                      Saludos,

                      Freddy Farro
                      Desarrollador ABAP

                      Comentario

                      Trabajando...