Quer receber um alerta ou ter um procedimento de aprovação que seja aplicado quando um novo documento de marketing for adicionado ao SAP Business One,
para fazer isso, executaremos a seguinte consulta como exemplo;
SELECT docnum, cardcode, doctime, createdate FROM OINV
WHERE createdate = getdate() AND
doctime >= REPLACE(CONVERT(nvarchar(5),GetDate(),108),'+', '')-2
O que significa a consulta acima?
Estamos selecionando o Número do Documento, o Número do Cartão do Cliente, a Hora de Adição do Documento, a Data de Criação do Documento da tabela OINV (Tabela de Faturas de AR),
Onde temos duas condições aqui;
-
A data de criação do documento = a data atual (no SQL Server é utilizada a cláusula getdate())
-
A hora de adição do documento será representada por 4 dígitos (1311, 1408, ...)
-
no nosso caso de consulta aqui, queremos ser notificados depois que o documento for adicionado ao sistema em 3 minutos,
-
de acordo com isso, devemos comparar a data atual com a hora atual com a hora de adição do documento (horas e minutos) e então subtrair 2 minutos
-
para fazer isso, primeiro de tudo, devemos converter a data atual para a hora atual com 4 dígitos de acordo com isso estamos usando a cláusula CONVERT
-
na cláusula de conversão para mudar o tipo de data para hora (horas e minutos), diremos; converter para nvarchar(5) a partir da data GateDate(), com o tipo de conversão 108, para obter o formato de horas (horas:minutos)
-
usamos o tipo de dados nvarchar porque nenhum número específico será armazenado nas células de data,
-
de acordo com este código CONVERT(nvarchar(5),GetDate(),108) estamos obtendo a hora do documento que está sendo adicionado como 13:11
-
agora precisamos substituir os ':' por nada, para poder compará-lo com a hora de adição do documento no sistema, de acordo com isso precisamos usar a cláusula REPLACE da seguinte maneira: REPLACE(CONVERT(nvarchar(5),GetDate(),108),':', '')
-
Para obter as faturas que foram adicionadas ao sistema nos últimos 2 minutos, dizemos que; se a hora de adição do documento (horas:minutos) for maior ou igual à hora atual há 2 minutos, então executar e nos dar o resultado.
A hora atual agora é 10:46 da manhã.