quarta-feira, 27 de novembro de 2013

Verifica o status dos registros na fila EAI ( Datasul )


select /*sysdate DATA_HORA
     ,*/ ( CASE WHEN fila_eai.cod_tipo_transacao IN ('Position','Unions','Carries','Employee','Event','Situations','CalculatedTrans','WorkShift','RuralMovement') then
                   'HCM'
              ELSE 'EMS'
         END ) DATASUL
     , decode(fila_eai.cdn_tipo_fila, 1, '1 - Datasul -> PIMS'
                                    , 2, '2 - PIMS -> Datasul'
                                    , 'Indefinido'
             ) TIPO_FILA
     , fila_eai.cod_tipo_transacao TRANSACAO
     , count(*) QTD_REGISTROS
     , decode(fila_eai.num_estado,  0,' 0 - Não processado'
                                 ,  2,' 2 - Em processamento'
                                 , 97,'97 - Processado com erro'
                                 , 99,'99 - Processado com sucesso'
                                 , num_estado||' - Indefinido'
             ) estado
     , decode(fila_eai.cdn_tipo_mensagem, 0, '0 - Mensagem de Negócio'
                                        , 1, '1 - Mensagem retorno Erro'
                                        , 2, '2 - Mensagem retorno Sucesso'
                                        , 'Indefinido'
             ) TIPO_MENSAGEM
-- delete
  from EAIPORO8P964.fila_eai
 WHERE 0 = 0
   --AND fila_eai.cod_tipo_transacao = 'Employee'
   --AND fila_eai.cod_tipo_transacao = 'Item'
   --AND fila_eai.cod_tipo_transacao = 'RuralMovement'
   --AND fila_eai.cod_tipo_transacao in ('Employee','RuralMovement')
   --AND fila_eai.num_estado IN (0, 2) --' 0 - Não processado'
                                     --' 2 - Em processamento'
   --AND fila_eai.U##DTA_GERACAO < '2007/09/26 00:00:00'
   --AND fila_eai.DTA_GERACAO >= '2006/07/31 00:00:00'
   --AND fila_eai.cdn_tipo_mensagem = 0 --'0 - Mensagem de Negócio'
   --AND fila_eai.num_estado in (0, 2) -- ' 0 - Não processado'  -  '2 - Em processamento'
   /*
   AND (    fila_eai.num_estado =  0 -- ' 0 - Não processado'
         or fila_eai.num_estado =  2 -- ' 2 - Em processamento'
         or fila_eai.num_estado = 97 -- '97 - Processado com erro'
         or fila_eai.num_estado = 99 -- '99 - Processado com sucesso'
       )
   */
   /*
   AND not exists ( select 'x'
                      from EAIPORO8P964.fila_eai_rowid row_id
                     where row_id.row_id_tb_fila_eai = fila_eai.rowid )
   */
 group by fila_eai.cod_tipo_transacao
        , fila_eai.num_estado
        , fila_eai.cdn_tipo_fila
        , fila_eai.cdn_tipo_mensagem
 order by --1 desc
          6 desc, 3
        , fila_eai.cod_tipo_transacao
        , fila_eai.cdn_tipo_fila desc
        , fila_eai.num_estado
        --, fila_eai.cdn_tipo_fila
        , fila_eai.cdn_tipo_mensagem
/*
-- LIMPAR FILA EAI
-- ================
-- DELETE
SELECT COUNT(*)
  FROM EAIPORO8P964.FILA_EAI
 WHERE 0 = 0
   AND ROWNUM <= 10000
   AND FILA_EAI.U##DTA_GERACAO < '2009/09/26'
   AND FILA_EAI.NUM_ESTADO > 2
   AND FILA_EAI.CDN_TIPO_FILA > 0;
COMMIT;  
===
*/
/*
SELECT ROUND((((SUM(BYTES)/1024)/1024)/1024),4) TAMANHO_GB
     , DBA_SEGMENTS.OWNER
  FROM DBA_SEGMENTS
 WHERE 0 = 1
    OR DBA_SEGMENTS.OWNER LIKE 'HR%'
    --OR DBA_SEGMENTS.OWNER LIKE 'EMS%'
    --OR DBA_SEGMENTS.OWNER LIKE 'HCM%'
    --OR DBA_SEGMENTS.OWNER LIKE 'PIMS%'
 GROUP BY DBA_SEGMENTS.OWNER
 ORDER BY 1 DESC
*/
/*
select distinct(V$SESSION.OSUSER), count(*)
  FROM V$SESSION
  group by V$SESSION.OSUSER
*/

-- select sysdate, count(*) from EAIPORO8P964.fila_eai
/*
select decode(fila_eai.cdn_tipo_fila, 1, '1 - Datasul -> PIMS'
                                    , 2, '2 - PIMS -> Datasul'
                                    , 'Indefinido'
             ) TIPO_FILA
     , decode(fila_eai.cdn_tipo_mensagem, 0, '0 - Mensagem de Negócio'
                                        , 1, '1 - Mensagem retorno Erro'
                                        , 2, '2 - Mensagem retorno Sucesso'
                                        , 'Indefinido'
              ) TIPO_MENSAGEM
     , fila_eai.cod_tipo_transacao
     , count(*) TOTAL_REGISTROS
     --, FILA_EAI.PROGRESS_RECID
     --, LONG_TO_CHAR( ROWID -- IN_ROWID
     --              , 'EAIPORO8P964' -- IN_OWNER
     --              , 'FILA_EAI' -- IN_TABLE_NAME
     --              , 'DES_CONTEUDO' -- IN_COLUMN
     --              ) DES_CONTEUDO
     --, FILA_EAI.*
  from EAIPORO8P964.FILA_EAI where TRIM(FILA_EAI.U##DTA_GERACAO) IS NULL
 GROUP BY fila_eai.cdn_tipo_fila
        , fila_eai.cdn_tipo_mensagem
        , fila_eai.cod_tipo_transacao
 --ORDER BY FILA_EAI.PROGRESS_RECID
 ORDER BY fila_eai.cdn_tipo_fila
        , fila_eai.cdn_tipo_mensagem
        , fila_eai.cod_tipo_transacao
*/
-- select * from EAIPORO8P964.fila_eai where TRIM(FILA_EAI.U##DTA_GERACAO) >= '2006/08/08'
-- select * from EAIPORO8P964.fila_eai where FILA_EAI.PROGRESS_RECID >= 4697824 AND TRIM(FILA_EAI.U##DTA_GERACAO) IS NULL
/*
select count(*)
  from EAIPORO8P964.fila_eai
  where not exists ( select 'x'
                       from fila_eai_rowid row_id
                      where row_id.row_id_tb_fila_eai = fila_eai.rowid )

*/
/*
-- Verifica os registros de movimento agrícola a ser colocado na fila EAI
select '01 FILA EAI - RuralMovement' TABELA
     , count(*) QTD_REGISTROS
     , ' ' STATUS
-- Delete
  from EAIPORO8P964.fila_eai
 where cod_tipo_transacao = 'RuralMovement'
   and fila_eai.num_estado in (0, 2) -- ' 0 - Não processado'  -  '2 - Em processamento'
UNION
select  '01.' TABELA
     , 0 QTD_REGISTROS
     , ' ' STATUS
  from dual
UNION
select '02 BRG_BOLRUR_HE' TABELA
     , count(*) QTD_REGISTROS
     , DECODE(status,0,'0 -> A processar ...'
                      ,'1 -> Processando ...') STATUS
-- delete
  from pimsprd.brg_bolrur_he
 group by status
-- SELECT * FROM PIMSPRD.BRG_BOLRUR_HE
-- UPDATE PIMSPRD.BRG_BOLRUR_HE SET STATUS = 0 WHERE STATUS = 1
UNION
select  '02.' TABELA
     , 0 QTD_REGISTROS
     , ' ' STATUS
  from dual
UNION
select '03 BRG_BOLRUR_DE' TABELA
     , count(*) QTD_REGISTROS
     , ' ' STATUS
-- delete
  from pimsprd.brg_bolrur_de
-- SELECT * FROM PIMSPRD.BRG_BOLRUR_DE ORDER BY NO_SEQ_BOL
ORDER BY 1

*/
       
/*
-- Verifica se tem registros de movimentação de materiais a ser disponibilizado na
-- fila de integração EAI
SELECT DECODE(BRG_BXMATERIAL.STATUS, 0, '0 - A processar'
                                   , 1, '1 - Em processamento'
                                   , 2, '2 - Datasul processou com suscesso'
                                   , 3, '3 - Datasul processou com erro'
                                   , BRG_BXMATERIAL.STATUS
             ) BAIXA_MATERIAIS
     , COUNT(*) QTD_REGISTROS
  FROM PIMSPRD.BRG_BXMATERIAL
 GROUP BY BRG_BXMATERIAL.STATUS
 ORDER BY 1
-- update pimsprd.brg_bxmaterial set status=0
-- delete from pimsprd.brg_bxmaterial
*/
/*
select *
  from pimsprd.brg_bxmaterial
 where brg_bxmaterial.status = 3
*/

/*
SELECT FILA_EAI.DESREFERENCIACONTEUDO
     , FILA_EAI.*
-- DELETE
  FROM EAIPORO8P964.FILA_EAI
 WHERE 0 = 0
   --AND UPPER(COD_TIPO_TRANSACAO) = 'RURALMOVEMENT'
   --AND UPPER(COD_TIPO_TRANSACAO) = 'EMPLOYEE'
   --AND U##DTA_GERACAO >= '2006/06/20'
   --AND DESREFERENCIACONTEUDO = '2,201,6822'
   --AND NUM_ESTADO = 97
   AND DESREFERENCIACONTEUDO = '2,201,9048'
 
 ORDER BY FILA_EAI.DESREFERENCIACONTEUDO
*/

-- select * from EAIPORO8P964.fila_eai
-- SELECT count(*) from EAIPORO8P964.fila_eai
-- SELECT * from EAIPORO8P964.fila_eai WHERE cod_tipo_transacao = 'RuralMovement' AND fila_eai.U##DTA_GERACAO >= '2006/05/26 00:00:00' AND num_estado in (0)
-- DELETE from EAIPORO8P964.fila_eai WHERE cod_tipo_transacao = 'RuralMovement' AND fila_eai.U##DTA_GERACAO >= '2006/05/26 00:00:00' AND num_estado in (0)
-- SELECT * from EAIPORO8P964.fila_eai WHERE cod_tipo_transacao = 'Employee' /*AND num_estado not in (0)*/ and u##dta_geracao >= '2006/06/01'
-- SELECT * from EAIPORO8P964.fila_eai WHERE cod_tipo_transacao IN ('RuralMovement','PrivateCitizen') AND fila_eai.num_estado =  0 AND fila_eai.cdn_tipo_mensagem = 0 --'0 - Mensagem de Negócio'
-- DELETE from EAIPORO8P964.fila_eai WHERE cod_tipo_transacao IN ('RuralMovement','PrivateCitizen') AND fila_eai.num_estado =  0 AND fila_eai.cdn_tipo_mensagem = 0 --'0 - Mensagem de Negócio'
/*
SELECT COUNT(*)
  FROM EAIPORO8P964.fila_eai
 WHERE fila_eai.cod_tipo_transacao = 'Employee'
   AND fila_eai.num_estado = 2
*/
/*
select fila_eai.cod_tipo_transacao
     , fila_eai.NUM_ESTADO
     , fila_eai.cdn_tipo_mensagem
     , count(*)
-- DELETE
  from EAIPORO8P964.fila_eai
 where 0 = 0
   --AND fila_eai.NUM_ESTADO = 0
   --AND fila_eai.U##DTA_GERACAO <= '2006/09/05 00:00:00'
   --AND fila_eai.cdn_tipo_mensagem = 2
 
   --AND fila_eai.NUM_ESTADO = 99
   --AND fila_eai.U##DTA_GERACAO <= '2006/05/25 23:59:59'
 
   AND fila_eai.NUM_ESTADO IN (96,97)
   --AND fila_eai.U##DTA_GERACAO <= '2006/05/25 23:59:59'
   AND fila_eai.cod_tipo_transacao = 'RuralMovement'
   AND fila_eai.cdn_tipo_mensagem <> 1
 
   --AND fila_eai.NUM_ESTADO = 96
   --AND fila_eai.U##DTA_GERACAO >= '2006/05/26 00:00:00'
 group by fila_eai.cod_tipo_transacao
        , fila_eai.NUM_ESTADO
        , fila_eai.cdn_tipo_mensagem
*/

/*
-- Verifica as mensagens de erro do Datasul para o PIMS
select h.data_trans
     , d.identificador
     , d.de_msg
     , d.de_msg_det
     --, h.*
     --, d.*
  from PIMSPRD.transactionlog h
     , PIMSPRD.transactionlog_det d
 where h.num_trans = d.num_trans
   --and nome_objeto = 'RURALMOVEMENT'
   and nome_objeto = 'INVENTORYTRANSACTION'
   --AND ROWNUM <= 5
   --AND IDENTIFICADOR = 'CD_FUNC: 2010005872'
   --and h.data_trans between '2006/05/19 00:00:00' and '2006/05/19 23:59:59'
   and h.data_trans >= '2006/07/18'
   --AND d.identificador LIKE '%cdFuncPims=401%'
   --AND d.identificador LIKE '%cdFuncPims=501%'
 order by h.data_trans --desc
*/
/*
SELECT *
  FROM ALL_TABLES
 WHERE 0 = 0
   --AND USER_STATS <> 'NO'
   AND GLOBAL_STATS <> 'NO'
   AND OWNER LIKE 'EMS505BPORO8P930UNI%'
   --AND TABLE_NAME
 ORDER BY OWNER
        , TABLE_NAME

SELECT *
  FROM DBA_TABLES      
  WHERE TABLE_NAME IN ('TIP_FLUXO_FINANC','ESTRUT_TIP_FLUXO_FINANC')
*/

/*
-- Update em registros da FILA_EAI
select fila_eai.cod_tipo_transacao
     , count(*)
  from EAIPORO8P964.fila_eai
-- update EAIPORO8P964.fila_eai set num_estado = 0
 where num_estado = 97
   and fila_eai.cdn_tipo_mensagem = 0
   and fila_eai.cod_tipo_transacao = 'Employee'
 group by fila_eai.cod_tipo_transacao
*/

/*
-- Deletar registros na fila de integração
select fila_eai.cod_tipo_transacao
     , fila_eai.cdn_tipo_mensagem
     , fila_eai.NUM_ESTADO
     , count(*)
-- DELETE
  from EAIPORO8P964.fila_eai
 where 0 = 0
   --AND fila_eai.U##DTA_GERACAO <= '2006/09/01 00:00:00'
   AND fila_eai.NUM_ESTADO = 0 -- 0 - Não Processado
   AND fila_eai.cdn_tipo_mensagem = 1 -- 1 - Mensagem retorno Erro
   AND fila_eai.cod_tipo_transacao = 'RuralMovement'
   --AND ROWNUM < 10000
 group by fila_eai.cod_tipo_transacao
     , fila_eai.cdn_tipo_mensagem
     , fila_eai.NUM_ESTADO
*/
/*
DELETE
  from EAIPORO8P964.fila_eai
 where 0 = 0
   --AND fila_eai.U##DTA_GERACAO <= '2006/09/01 00:00:00'
   AND fila_eai.NUM_ESTADO = 0 -- 0 - Não Processado
   AND fila_eai.cdn_tipo_mensagem = 1 -- 1 - Mensagem retorno Erro
   AND fila_eai.cod_tipo_transacao = 'RuralMovement'
   AND ROWNUM <= 5000;
COMMIT;
DELETE
  from EAIPORO8P964.fila_eai
 where 0 = 0
   --AND fila_eai.U##DTA_GERACAO <= '2006/09/01 00:00:00'
   AND fila_eai.NUM_ESTADO = 0 -- 0 - Não Processado
   AND fila_eai.cdn_tipo_mensagem = 1 -- 1 - Mensagem retorno Erro
   AND fila_eai.cod_tipo_transacao = 'RuralMovement'
   AND ROWNUM <= 5000;
COMMIT;-
*/
/*
-- Owner/table: EAIPORO8P964.FILA_EAI
-- Tablespace: TS_EMS204PORO8P932

--Verifica o tamanho de uma tabela
select ((bytes/1024)/1024)/1024
 from dba_segments
 where owner = 'EAIPORO8P964'
 and segment_name = 'FILA_EAI'

*/
/*
UPDATE EAIPORO8P964.fila_eai SET fila_eai.num_estado = 0 WHERE fila_eai.num_estado = 2
*/

/*
-- VERIFICA RETORNO DO PROCESSAMENTO DO REGISTRO NA FILA EAI
--select h.data_trans, d.identificador, d.de_msg, d.de_msg_det from
PIMSPRD.transactionlog h, PIMSPRD.transactionlog_det d where h.num_trans = d.num_trans and
nome_objeto = 'EMPLOYEE'
GROUP BY d.de_msg_det
order by d.de_msg_det --h.data_trans desc
*/
/*
SELECT *
-- DELETE
    from EAIPORO8P964.fila_eai
 WHERE 0 = 0
   AND fila_eai.u##dta_geracao >= '2006/10/22'
   --AND fila_eai.cod_tipo_transacao = 'Situations'
   AND fila_eai.COD_ESTABELECIMENTO IN ('401','501')
   --AND fila_eai.num_estado in (0) -- ' 0 - Não processado'  -  '2 - Em processamento'
*/
/*
-- Verifica o status dos registros na fila EAI
select sysdate DATA_HORA
     , ( CASE WHEN fila_eai.cod_tipo_transacao IN ('Position','Unions','Carries','Employee','Event','Situations','CalculatedTrans','WorkShift','RuralMovement') then
                   'HCM'
              ELSE 'EMS'
         END ) DATASUL
     , decode(fila_eai.cdn_tipo_fila, 1, '1 - Datasul -> PIMS'
                                    , 2, '2 - PIMS -> Datasul'
                                    , 'Indefinido'
             ) TIPO_FILA
     , fila_eai.cod_tipo_transacao TRANSACAO
     --, count(*) QTD_REGISTROS
     , decode(fila_eai.num_estado,  0,' 0 - Não processado'
                                 ,  2,' 2 - Em processamento'
                                 , 97,'97 - Processado com erro'
                                 , 99,'99 - Processado com sucesso'
                                 , num_estado||' - Indefinido'
             ) estado
     , decode(fila_eai.cdn_tipo_mensagem, 0, '0 - Mensagem de Negócio'
                                        , 1, '1 - Mensagem retorno Erro'
                                        , 2, '2 - Mensagem retorno Sucesso'
                                        , 'Indefinido'
              ) TIPO_MENSAGEM
     , fila_eai.desreferenciaconteudo
     , fila_eai.*
  from EAIPORO8P964.fila_eai
 WHERE 0 = 0
   AND fila_eai.cod_tipo_transacao = 'Situations'
   --AND fila_eai.cod_tipo_transacao = 'Employee'
   --AND fila_eai.cod_tipo_transacao = 'Item'
   --AND fila_eai.cod_tipo_transacao = 'RuralMovement'
   --AND fila_eai.cod_tipo_transacao in ('Employee','RuralMovement')
   --AND fila_eai.num_estado IN (0, 2) --' 0 - Não processado'
                            --' 2 - Em processamento'
   --AND fila_eai.U##DTA_GERACAO >= '2006/06/26 00:00:00'
   --AND fila_eai.DTA_GERACAO >= '2006/07/31 00:00:00'
   --AND fila_eai.cdn_tipo_mensagem = 0 --'0 - Mensagem de Negócio'
   --AND fila_eai.num_estado in (0, 2) -- ' 0 - Não processado'  -  '2 - Em processamento'
   AND (    fila_eai.num_estado =  0 -- ' 0 - Não processado'
         or fila_eai.num_estado =  2 -- ' 2 - Em processamento'
         or fila_eai.num_estado = 97 -- '97 - Processado com erro'
         or fila_eai.num_estado = 99 -- '99 - Processado com sucesso'
       )
   AND fila_eai.u##dta_geracao >= '2006/11/21'
   AND fila_eai.desreferenciaconteudo like '401,1795%'
   --and fila_eai.tracking_id = 733700829
   --AND not exists ( select 'x'
   --                   from EAIPORO8P964.fila_eai_rowid row_id
   --                  where row_id.row_id_tb_fila_eai = fila_eai.rowid )
-- group by fila_eai.cod_tipo_transacao
--        , fila_eai.num_estado
--        , fila_eai.cdn_tipo_fila
--        , fila_eai.cdn_tipo_mensagem
 order by --1 desc
          6 desc, 3
        , fila_eai.cod_tipo_transacao
        , fila_eai.cdn_tipo_fila desc
        , fila_eai.num_estado
        --, fila_eai.cdn_tipo_fila
        , fila_eai.cdn_tipo_mensagem
*/
/*
SELECT FILA_EAI.DESREFERENCIACONTEUDO
     , FILA_EAI.*
  FROM EAIPORO8P964.FILA_EAI
 WHERE 0 = 0
   AND FILA_EAI.DESREFERENCIACONTEUDO LIKE '201,6821%'
   AND fila_eai.cod_tipo_transacao = 'Situations'
 ORDER BY 5
 
*/
/*
-- Limpar registro da fila EAI
------------------------------
-- SELECT COUNT(*) from EAIPORO8P964.fila_eai
---------------------------------------------
select sysdate DATA_HORA
     , ( CASE WHEN fila_eai.cod_tipo_transacao IN ('Position','Unions','Carries','Employee','Event','Situations','CalculatedTrans','WorkShift','RuralMovement') then
                   'HCM'
              ELSE 'EMS'
         END ) DATASUL
     , decode(fila_eai.cdn_tipo_fila, 1, '1 - Datasul -> PIMS'
                                    , 2, '2 - PIMS -> Datasul'
                                    , 'Indefinido'
             ) TIPO_FILA
     , fila_eai.cod_tipo_transacao TRANSACAO
     , count(*) QTD_REGISTROS
     , decode(fila_eai.num_estado,  0,' 0 - Não processado'
                                 ,  2,' 2 - Em processamento'
                                 , 97,'97 - Processado com erro'
                                 , 99,'99 - Processado com sucesso'
                                 , num_estado||' - Indefinido'
             ) estado
     , decode(fila_eai.cdn_tipo_mensagem, 0, '0 - Mensagem de Negócio'
                                        , 1, '1 - Mensagem retorno Erro'
                                        , 2, '2 - Mensagem retorno Sucesso'
                                        , 'Indefinido'
              ) TIPO_MENSAGEM
-- delete
  from EAIPORO8P964.fila_eai
 WHERE 0 = 0
   --AND ROWNUM <= 200000

   --AND fila_eai.cdn_tipo_fila = 1

   --AND fila_eai.cod_tipo_transacao = 'Employee'
   --AND fila_eai.cod_tipo_transacao = 'Item'
   AND fila_eai.cod_tipo_transacao = 'RuralMovement'
   --AND fila_eai.cod_tipo_transacao in ('Employee','RuralMovement')

   --AND fila_eai.num_estado IN (0, 2) --' 0 - Não processado' --' 2 - Em processamento'

   --AND fila_eai.U##DTA_GERACAO < '2007/09/26 00:00:00'

   --AND fila_eai.DTA_GERACAO >= '2006/07/31 00:00:00'

   --AND fila_eai.cdn_tipo_mensagem = 0 --'0 - Mensagem de Negócio'
   --AND fila_eai.cdn_tipo_mensagem = 1

   AND fila_eai.num_estado in (0, 2) -- ' 0 - Não processado'  -  '2 - Em processamento'
   --AND (    fila_eai.num_estado =  0 -- ' 0 - Não processado'
   --      or fila_eai.num_estado =  2 -- ' 2 - Em processamento'
   --      or fila_eai.num_estado = 97 -- '97 - Processado com erro'
   --      or fila_eai.num_estado = 99 -- '99 - Processado com sucesso'
   --    )
 group by fila_eai.cod_tipo_transacao
        , fila_eai.num_estado
        , fila_eai.cdn_tipo_fila
        , fila_eai.cdn_tipo_mensagem
 order by --1 desc
          6 desc, 3
        , fila_eai.cod_tipo_transacao
        , fila_eai.cdn_tipo_fila desc
        , fila_eai.num_estado
        --, fila_eai.cdn_tipo_fila
        , fila_eai.cdn_tipo_mensagem
*/

Nenhum comentário:

Postar um comentário