EXECUTE BLOCK
AS
DECLARE VARIABLE CODIGO DM_INTEIRO;
DECLARE VARIABLE DATAHORA_ULTIMO_PACOTE_TR TYPE OF COLUMN DISPOSITIVOS_INFO_MACROS.DATAHORA_ULTIMO_PACOTE_TR;
BEGIN
  FOR
    SELECT D.CODIGO
           --         , D.NUMERO_SERIE NUMERO_SERIE_MOB
         , DIM.DATAHORA_ULTIMO_PACOTE_TR MAIOR_DATA
      FROM DISPOSITIVOS D
      INNER JOIN TIPOS_DISPOSITIVOS TD ON D.CODIGOTIPODISPOSITIVO = TD.CODIGO
      LEFT JOIN DISPOSITIVOS_INFO_MACROS DIM ON D.CODIGO = DIM.CODIGODISPOSITIVO
      WHERE TD.IDENTIFICADOR = '11'
        AND D.APAGADO = 'F'
      ORDER BY D.NUMERO_SERIE
      INTO :CODIGO,
           DATAHORA_ULTIMO_PACOTE_TR
  DO
  BEGIN
    IF (DATAHORA_ULTIMO_PACOTE_TR IS NULL) THEN
      UPDATE OR INSERT INTO DISPOSITIVOS_INFO_MACROS (
          CODIGODISPOSITIVO,
          ULTIMO_PACOTE_TR,
          DATAHORA_ULTIMO_PACOTE_TR)
      VALUES (:CODIGO,
              99999,
              CURRENT_TIMESTAMP -7)
	  MATCHING(CODIGODISPOSITIVO);
  END
END
