Вы находитесь на странице: 1из 4

OPERANDO CON LA VARIABLE DE SISTEMA sy-datum

• Las variables de sistema están guardadas en la estructua del


Dictionary llamada SYST. Todas las variables de esta estructura
tienen sólo permiso de lectura, es decir no podemos modificarlas a
voluntad.

• SAP crea dinámicamente (en tiempo de ejecución) una estructura


llamada sy que almacena en la memoria RAM del sistema el valor
que tienen las variables de la estructura del dictionary SYST.

• La variable sy-datum guarda la fecha del sistema en el formato


año(4 posiciones)/mes(2 posiciones)/dia(2 posiciones) y podemos
operar con ella del mismo modo que con cualquier otra variable de
tipo carácter.

• Por ejemplo podemos guardar el año, mes y el día en tres variables


distintas

DATA: año(4) TYPE c VALUE sy-datum(4).


mes(2) TYPE c VALUE sy-datum+4(2).
dia(2) TYPE c VALUE sy-datum+6(2)

• En realidad la variable sy-datum guarda el número de días que han


transcurrido desde el 01/01/0001 hasta la fecha actual. Este es el
número que se guardará en una variable de tipo entero si le
asignamos

DATA x TYPE i VALUE sy-datum.

• Al contrario, cuando se asigna un número a una variable tipo d el


sistema lo convierte a la fecha que corresponde al número de días
transcurridos desde el 01/01/0001 al número asignado

DATA: x TYPE i VALUE 4058157891.

1
fecha TYPE d.
fecha = x.

• También podemos operar con dos variables tipo d, por ejemplo

DATA: fecha TYPE d VALUE '20090101'.


hoy TYPE d VALUE sy-datum.
fecha = hoy - fecha.

• Si asignamos una fecha que no es válida el sistema asigna un 0,


por ejemplo en el siguiente ejemplo se guardaría un cero ya que la
fecha que queremos guardar tiene demasiados dígitos (no puede
tener más de ocho).

DATA fecha TYPE d VALUE '200100101'.

TIMESTAMPS

• Timestamps (originalmente diseñado para Unix) es el número de


segundos transcurridos desde una fecha determinada (en Unix es
las cero horas del uno de enero de 1970). Se utilizan para
identificar eventos de forma única, tal como los logs del registro del
sistema operativo.

• En ABAP TIMESTAMP es un tipo de variable que guarda en memoria


la hora universal de Greenwich (UTC), lo que nos permite comparar
datos de fecha y hora almacenados en lugares con distinta zona
horaria.

• En ABAP se puede obtener el timestamp actual y guardarla en un


campo mediante la instrucción

DATA f TYPE timestamp.


GET TIME STAMP FIELD f.

2
• Podemos convertir el timestamp a la fecha y hora correspondiente
mediante la instrucción

DATA fecha TYPE d.


CONVERT TIME STAMP f INTO DATE fecha.

• Y a la inversa, también podemos convertir una fecha en un


timestamp.

LA VARIABLE DE SISTEMA sy-uzeit

• La variable sy-uzeit guarda la hora actual del sistema de la


siguiente manera hora(2 posiciones)/minutos(2 posiciones)/
segundos(2 posiciones).

• Al igual que con la variable sy-datum, también podemos acceder a


los distintos campos de la varialbe sy-uzeit.

DATA: hora(2) TYPE c VALUE sy-uzeit(2)


minuto(2) TYPE c VALUE sy-uzeit+2(2)
segundo(2) TYPE c VALUE sy-uzeit+4(2)

• Podemos asignar el valor almacenado en esta variable de la


siguiente forma

DATA hora TYPE t VALUE sy-uzeit.

• La instrucción GET TIME actualiza el valor almacenado en la


variable sy-uzeit.

• La variable sy-uzeit en realidad guarda el número de segudos que


han transcurrido desde las 00:00:00 horas y los transforma en la
hora actual. Si asignamos la variable sy-uzeit a una variable de tipo
entero este será el valor que nos dará.

3
DATA x TYPE i VALUE sy-uzeit.

Вам также может понравиться