Skip to Content

Formato tipo Hora

Hola, me pueden por favor ayudar a lograr darle formato hora (00:00) en donde pueda por ejemplo tomar la hora actual, restarle ese campo y muestre la cantidad de horas.

Gracias

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

1 Answer

  • author's profile photo Former Member
    Former Member
    Posted on Sep 23, 2015 at 08:20 AM

    Hola Oscar,

    Para añadir una hora en concreto (hh / mm / ss) puedes utilizar el módulo de funciones:

    CNV_ADD_TIME

    Para restar una hora en concreto, una opción es buscar un módulo de funciones que haga esto, o bien a partir del que yo te he dicho, hacer un "Z", modificándolo para que haga esa resta.

    Gracias,

    Saludos.

    Add a comment
    10|10000 characters needed characters exceeded

    • Hola Oscar. Revisemos si he logrado entenderte.

      En el campo SMALLINT tienes un valor entero que corresponde a la cantidad de horas de anticipación con la que tienes que generar la alarma.

      En otro campo de tipo Hora ( SY-UZEIT), tienes la hora en la cual debería generarse la alarma.

      Entonces, lo que necesitas hacer es restarle a la hora actual, la cantidad de horas del campo SMALLINT y eso te da una hora. Luego comparas esa hora con la actual y si es mayor o igual, generas la alarma. Es correcto?

      Si es así, puedes usar el FM IGN_TIMESTAMP_PLUSMINUS teniendo en cuenta los siguientes parámetros:

      VALUE(START_DATE) LIKE SY-DATUM --> Fecha Actual

      VALUE(START_TIME) LIKE SY-UZEIT --> Hora Actual

      VALUE(HOURS) TYPE INT4 DEFAULT '0' --> Cantidad de horas a sumar/restar (Entero)


      VALUE(FORWARD) TYPE BOOLE_D DEFAULT 'X' --> Sumar

      VALUE(BACKWARD) TYPE BOOLE_D DEFAULT ' ' --> Restar

      Tanto sumando como restando, el FM te devuelve dos salidas:

      VALUE(RESULT_DATE) LIKE SY-DATUM -->Fecha resultante

      VALUE(RESULT_TIME) LIKE SY-UZEIT -->Hora resultante

      Estos dos campos los puedes comparar con la fecha actual (Sy-datum) y Hora Actual (sy-uzeit) y generar la alarma si es procedente.

      Quedo pendiente de tus comentarios.

      Saludos,

      Dairo


Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.