Introdução
Como identifico processos de B2B com falha via banco de dados?
Passo a passo
Abaixo os scripts para identificar B2B que não foram enviados, primeiro em SQL, e depois em ORACLE.
SQL
(SELECT DISTINCT CAST(T1.DOCUMENTNUMBER AS VARCHAR) + CHAR(9) +' : ' + T2.JOBNAME FROM TBLOGDOCUMENT T1, TBNDDJOB T2, TBLOGDOCMESSAGE T3 WHERE T1.JOBID = T2.ID AND T3.LOGDOCID = T1.LOGDOCID AND T3.MSGCODE = 56 AND T3.MSGDATE > GETDATE()-120 AND NOT EXISTS(SELECT 1 FROM TBLOGDOCMESSAGE T4 WHERE T4.LOGDOCID = T1.LOGDOCID AND T4.MSGCODE = 55))
PL/SQL-ORACLE
SELECT T1.DOCUMENTNUMBER, T2.JOBNAME FROM TBLOGDOCUMENT T1 INNER JOIN TBNDDJOB T2 ON T1.JOBID = T2.ID INNER JOIN TBLOGDOCMESSAGE T3 ON T1.LOGDOCID = T3.LOGDOCID WHERE T1.JOBID = T2.ID AND T3.LOGDOCID = T1.LOGDOCID AND T3.MSGCODE = 56 AND T3.MSGDATE >= '01-MAR-15 12.00.00.000000 AM' –Essa data deve ser ajustada AND T3.LOGDOCID NOT IN(SELECT LOGDOCID FROM TBLOGDOCMESSAGE T4 WHERE T4.MSGCODE = 55) GROUP BY T1.DOCUMENTNUMBER,T2.JOBNAME
Outras informações
Fonte: Maicon Vilvert dos Anjos