Variale Hora

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • DCErick
    Moderator
    • mar
    • 1090

    #1

    Variale Hora

    Hola tengo una variable de tipo sy-uzeit en el cual coloco la duración de una oepracion de fabricación.

    En sap la duración está en hrs Ej. 1.5 hrs yo lo paso a 01:30:00 y todos contentos, el problema me está cuando la operacion durá mas de 24 hrs.

    Ej.- 27.5 me lo pasa a 03:30:00 y yo quiero que sea 27:30:00 alguna idea de como puedo lograrlo?

    Ahorita uso el siguiente form para hacer ese calculo:

    Código:
    FORM dec_to_time USING p_dec TYPE afvv-bearz p_time TYPE sy-uzeit.
    
      DATA:l_segundos TYPE afvv-bearz.
      CLEAR p_time.
      l_segundos = p_dec * 3600.
    
      p_time = p_time + l_segundos.
    
    ENDFORM.
    ¿Alguien conoce alguna función que me ayude a hacer ese calculo?
    -------------------
    ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?
  • Isidorito
    Junior Member
    • ago
    • 9

    #2
    una variable auxiliar y un if que entre si el número es mayor a 24?

    Comentario

    • beltsoft
      Member
      • sep
      • 99

      #3
      Tal vez necesitas explicarte mejor puesto que en tu ejemplo:

      "Ej.- 27.5 me lo pasa a 03:30:00 y yo quiero que sea 27:30:00 alguna idea de como puedo lograrlo?"


      Necesitas pasar 27.5 a 27:30:00, luego entonces, haces el split; siempre vas a necesitar el entero (Son la horas) solo tienes que transformar el .5 en horas.

      27 siempre seran la horas = 27:
      .5 es multiplicado por 60 (60 min es una hr) = 30:00

      De tal forma que tienes 27:30:00

      Ahora bien, toma en cuenta que al hacer la multiplicación del decimal por los 60 minutos el valor debe ser hasta las decimas, de otra manera te pueden salir decimales, esos serian los segundos.

      Saludos.
      SSE BeltSoft México
      Your Business, our motivation ...

      Comentario

      • DCErick
        Moderator
        • mar
        • 1090

        #4
        Ok, la forma que proponen es la primera que se me ocurrió, pero está como que muy a pie, por eso pregunto por alguna función....

        Veamos, yo lo que hago ahorita es sacar los segundos y esos se los sumo a una variable de tipo uzeit la cual al pasar las 24 hrs inicia de nuevo porque el día solo tiene 24 hrs es por eso que me pone 03:30:00 osea me dice que la duración es de 1 día con 3 hrs y 30 minutos.

        Entonces ocupararía alguna función, que dando la cantidad de segundos me regrese la duración en hrs...

        En las tablas de PP los tiempos están en hrs y al leerlos me los regresa de esta forma 0.02300000000+E01, 12.023000003400+E00.

        Lo que busco es algo mas directo y no tener que calcularlo por partes, igual si no le encuentro pues ni pex tendré que hacerlo a la antigua y aparentemente unica forma.

        gracias
        -------------------
        ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

        Comentario

        • kibo
          Senior Member
          • may
          • 177

          #5
          Encontre una funcion que a partir de los segundos te trae la hora en formato tims... no se si es lo que buscas

          MONI_TIME_CONVERT
          http://diariotitular.com/contacto/

          Comentario

          • beltsoft
            Member
            • sep
            • 99

            #6
            Ves que fácil . . Un poco más de info y listo.

            Lo que tú necesitas es el FM:

            OIJ_LT_CONVERT_TIME

            Saludos.
            SSE BeltSoft México
            Your Business, our motivation ...

            Comentario

            • DCErick
              Moderator
              • mar
              • 1090

              #7
              Originalmente publicado por kibo
              Encontre una funcion que a partir de los segundos te trae la hora en formato tims... no se si es lo que buscas

              MONI_TIME_CONVERT
              Exacto kibo, está es la que busco.

              Gracias....

              Ahora a copiar el código y meterlo a un form xD.
              -------------------
              ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

              Comentario

              • DCErick
                Moderator
                • mar
                • 1090

                #8
                Originalmente publicado por beltsoft
                Ves que fácil . . Un poco más de info y listo.

                Lo que tú necesitas es el FM:

                OIJ_LT_CONVERT_TIME

                Saludos.
                Gracias beltsoft, auque no me regresa lo que busco, me ayudará para otra cosa....

                Maldita tabla de planificación xD.
                -------------------
                ¿Dudas para descargar manuales? Ver este tema -> Cómo descargar manuales de la sección "Descargas" ?

                Comentario

                Trabajando...