Em uma primeira postagem de blog sobre conversões na Fundação SAP Gateway, discutimos sua relevância no contexto das diferenças entre o sistema de tipos ABAP e o sistema de tipos OData. Embora não diretamente relacionado às conversões, o manuseio de datas e horários se encaixa perfeitamente nesse tópico.
O ABAP conhece datas, horários e diferentes representações de carimbos de tempo. E, fornece funções de reutilização para executar cálculos de datas e horários. O OData possui suas próprias definições de datas e horários com funções que podem ser usadas em expressões
$filter
, por exemplo.
Muitas vezes, surgem perguntas sobre como as diferentes representações se mapeiam e como um provedor de dados precisa ser implementado para criar uma melhor correspondência entre ambos os mundos. Certamente não é possível mergulhar em todos os detalhes. Mas, vamos começar com alguns aspectos.
Data e Hora no OData
Para representar informações de data e hora, a especificação do OData na versão 2.0 conhece os três tipos primitivos
-
Edm.DateTime,
-
Edm.Time e
-
Edm.DateTimeOffset.
Como isso não é realmente suficiente para aplicações comerciais, a especificação da versão 4.0 muda para
-
Edm.Date,
-
Edm.TimeOfDay,
-
Edm.DateTimeOffset e
-
Edm.Duration.
Nos concentramos na especificação da versão 2.0 e restringimos a discussão a Edm.DateTime e Edm.DateTimeOffset. Detalhes sobre as representações podem ser encontrados na
especificação do OData
, no
padrão ISO 8601
e em
http://www.w3.org/TR/xmlschema-2
. Aqui, listamos rapidamente os diferentes formatos. Os literais são usados na URI, ou seja, em
$filter
, por exemplo. ATOM e JSON se referem ao tipo de conteúdo da carga da solicitação ou resposta. O número de casas decimais disponíveis para sub-segundos é definido pela faceta de precisão.
Edm.DateTime representa uma data e uma hora em
UTC
(anteriormente, Hora Média de Greenwich):
|
|
Representação
|
Exemplo
|
|
Literal
|
datetime'yyyy-mm-ddThh:mm[:ss[.fffffff]]'
|
datetime'2016-07-08T12:34:56'
|
|
ATOM
|
yyyy-mm-ddThh:mm[:ss[.fffffff]]
|
2016-07-08T12:34:56
|
|
JSON
|
"\/Date(<ticks>)\/"<ticks> = número de milissegundos desde a meia-noite de 1º de janeiro de 1970
|
"\/Date(1467981296000)\/"
|
Os ticks na representação JSON também podem ser negativos para descrever datas e horários anteriores a 1º de janeiro de 1970. "\/Date(-6847804800000)\/" é meia-noite de 1º de janeiro de 1753, por exemplo.
Edm.DateTimeOffset adiciona informações de fuso horário em relação ao UTC. As informações de data e hora são complementadas pela diferença padrão de tempo (offset) com o sinal
v
: +01:00 para Horário da Europa Central (CET) ou -05:00 para Horário Padrão do Leste (EST), por exemplo.
|
|
Representação
|
Exemplo
|
|
Literal
|
datetimeoffset'yyyy-mm-ddThh:mm:ss[.fffffff]Z|vii:nn'
|
datetimeoffset'1970-01-01T00:00:01+01:00'
|
|
ATOM
|
yyyy-mm-ddThh:mm:ss[.fffffff]Z|vii:nn
|
1970-01-01T00:00:01+01:00
|
Pedro Pascal
Se unió el 07/03/2018
Facebook
Pinterest
Telegram
Linkedin
Whatsapp
No hay respuestas para mostrar
Se el primero en responder
PARA MÁS INFORMACIÓN
INGRESA TUS DATOS
Preguntas más populares
-
Cálculos MTD, YTD e YTG em Relatórios de Análise para o Ano Atual: Funcionalidades e Exemplos
Como em outros cálculos, MTD, YTD e YTG (no caso de dados de previsão) são cálculos comumente necessários, especialmente quando temos que usar dimensões de tempo como Ano/Mês (Períodos Fiscais)....
01/03/2024 ·
9K+ Vistas ·
0 Respuestas
-
Cómo modificar un archivo .apk existente: Guía paso a paso
Hoy me gustaría compartir contigo mis descubrimientos sobre cómo se puede modificar un archivo .apk existente.
Un archivo .apk representa la aplicación móvil tal como está ins...
01/03/2024 ·
29K+ Vistas ·
1 Respuestas
-
Cómo evitar y solucionar java.lang.NullPointerException en Java
Hola a todos,
¿Alguien puede decirme sobre java.lang.NullPointerException?
Cuándo recibiremos este tipo de error y cómo solucionarlo.
Si obtenemos este error, ¿dónde debemo...
01/03/2024 ·
26K+ Vistas ·
4 Respuestas
-
Cómo crear una función web para activar un paquete de información en un entorno BPS y SEM-BCS
Hola,
En nuestro entorno de BPS solo estamos utilizando funcionalidades web para ingresar datos. Ahora tengo que crear una función web para activar un paquete de información, que coloca lo...
01/03/2024 ·
194 Vistas ·
3 Respuestas
-
¿Cómo verificar si mi sistema es de 32 bits o 64 bits? Métodos y consejos
Hola expertos,
¿Cómo puedo verificar si mi sistema es de 32 bits o de 64 bits?
Si tienen algún documento relacionado con esto, por favor proporcionenlo.
Gracias
01/03/2024 ·
15K+ Vistas ·
4 Respuestas
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2026 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute
Hola ¿Puedo ayudarte?