¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como formatar a hora (00:00) e exibir a quantidade de horas - Guia passo a passo

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 1 Vistas
0
Cargando...

Olá, poderiam me ajudar, por favor, a formatar a hora (00:00) de forma que eu possa, por exemplo, pegar a hora atual, subtrair esse valor e exibir a quantidade de horas?

Obrigado

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá Oscar. Vamos verificar se consegui te entender.

No campo SMALLINT, você tem um valor inteiro que corresponde à quantidade de horas de antecedência com que deve gerar o alarme.

Em outro campo do tipo Hora ( SY - UZEIT), você tem a hora em que o alarme deve ser gerado.

Então, o que você precisa fazer é subtrair da hora atual a quantidade de horas do campo SMALLINT e isso lhe dará uma hora. Em seguida, compare essa hora com a atual e, se for maior ou igual, gere o alarme. Está correto?

Se for o caso, você pode usar o FM IGN_TIMESTAMP_PLUSMINUS levando em consideração os seguintes parâmetros:

VALUE ( START_DATE ) LIKE SY - DATUM†††† --> Data Atual

VALUE ( START_TIME ) LIKE SY - UZEIT††††††† --> Hora Atual

VALUE ( HOURS ) TYPE INT4 DEFAULT '0'†† --> Quantidade de horas a somar/subtrair (Inteiro)


VALUE(FORWARD) TYPE† BOOLE_D DEFAULT 'X'† --> Somar

VALUE(BACKWARD) TYPE† BOOLE_D DEFAULT ' ' --> Subtrair

Tanto somando quanto subtraindo, o FM te devolve duas saídas:

VALUE(RESULT_DATE) LIKE† SY-DATUM†††††††† --> Data resultante

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

Esses dois campos podem ser comparados com a data atual (Sy-datum) e a Hora Atual (sy-uzeit) para gerar o alarme, se necessário.

Fico aguardando seus comentários.

Saudações,

Dairo


Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Dairo, obrigado pela sua resposta. O problema é que o campo é do tipo smallint, preciso convertê-lo para o tipo hora para poder usar a hora do sistema e gerar um alarme no SAP B1.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Oscar.

Use o módulo de função IGN_TIMESTAMP_PLUSMINUS. Serve tanto para somar como para subtrair.

Simplesmente, use a flag apropriada: Forward para somar e Backward para subtrair.

Espero que esta resposta seja útil para você.

Em sua pergunta anterior, também respondi. Funcionou para você?

Ficamos aguardando seu feedback.

Saudações,

Dairo

Scr_197.jpg Scr_199.jpg
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Oscar,

Para adicionar uma hora específica (hh / mm / ss), você pode usar o módulo de funções:

CNV_ADD_TIME

Para subtrair uma hora específica, você pode procurar um módulo de funções que realize essa operação, ou modificar o mencionado anteriormente para realizar a subtração.

Obrigado,

Cumprimentos.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?