Duvida Dentro De Um Dashboard

Tenho um dashboard que faz algumas verificações e preciso criar um parâmetro que, quando for ‘S’, verifique se vários campos são diferentes de ‘VALIDAÇÃO OK’ e retorne somente essas linhas. Já tentei várias formas de configurar esse parâmetro, mas infelizmente não dá certo. O nome do parâmetro é :apenaserros.
Esse é select e a forma que eu estou tentando fazer o parametro mas ele retorna que não existe os campos
SELECT

     T."CODEMP"
    ,
    T."RAZAOEMP"
    ,
    T."TIPO_OPERACAO"
    ,
    T."NUNOTA"
    ,
    T."DTEMISSAO"
    ,
    T."DTENTSAI"
    ,
    T."NUMNOTA"
    ,
    T."CHAVENFE"
    ,
    T."VLRDESTAQUE"
    ,
    T."VLROUTROS"
    ,
    T."VLRFRETE"
    ,
    T."TIPFRETE"
    ,
    T."VLRNOTA"
    ,
    T."BASEICMS"
    ,
    T."VLRICMS"
    ,
    T."BASESUBSTIT"
    ,
    T."VLRSUBST"
    ,
    T."BASEIPI"
    ,
    T."VLRIPI"
    ,
    T."CODPARC"
    ,
    T."INSCSTATUAL_PARC"
    ,
    T."CGC_CPF"
    ,
    T."RAZAOPARC"
    ,
    T."TIPPESSOA"
    ,
    T."TRIBUTACAO"
    ,
    T."CODPROD"
    ,
    T."DESCRPROD"
    ,
    T."NCM"
    ,
    T."BASEICMS_ITEM"
    ,
    T."ALIQICMS_ITEM"
    ,
    T."VLRICMS_ITEM"
    ,
    T."BASEICMS_ST_ITEM"
    ,
    T."VLRICMS_ST_ITEM"
    ,
    T."BASEICMS_FCP_ST_ITEM"
    ,
    T."VLRICMS_FCP_ST_ITEM"
    ,
    T."SEQUENCIA"
    ,
    T."CFOP"
    ,
    T."QTDNEG"
    ,
    T."VLRUNIT"
    ,
    T."VLRTOT"
    ,
    T."VLRTOTLIQ"
    ,
    T."NUMNOTA_XML"
    ,
    T."INSCSTATUAL_PARC_XML"
    ,
    T."NCM_XML"
    ,
    T."CFOP_XML"
    ,
    T."EAN_XML"
    ,
    T."CODVOL_XML"
    ,
    T."QTDNEG_XML"
    ,
    T."VLRUNIT_XML"
    ,
    T."VLRTOT_XML"
    ,
    T."VLRTOT_NOTA_XML"
    ,
    T."BASEICMS_XML"
    ,
    T."VLRICMS_XML"
    ,
    T."BASEICMS_ST_XML"
    ,
    T."VLRICMS_ST_XML"
    ,
    T."BASEIPI_XML"
    ,
    T."VLRIPI_XML"
    ,
    T."VLR_CONTABIL"
    ,
    T."ANTECIPADO"
    ,
    T."VLRRATFRETE"
,
    CASE
        
    WHEN T.NUMNOTA_XML IS NULL THEN 'Sem XML'
        
    ELSE 'XML OK'
    
END AS VERXML
,
CASE 
        
    WHEN T.NUMNOTA = T.NUMNOTA_XML THEN 'Validação OK'
        
    ELSE 'Divergencia Nro.Nota: [' || TO_CHAR(T.NUMNOTA) || ' ] Nro. Nota XML: [ ' || t.NUMNOTA_XML || ' ] '
    
END AS VALIDACAO_NUMNOTA
,
CASE 
        
    WHEN T.VLRNOTA = T.VLRTOT_NOTA_XML THEN 'VALIDAÇÃO OK'
        
    ELSE 'Divergencia Valor Nota: [ ' || TO_CHAR(T.VLRNOTA) || ' ] Valor XML: [ ' || T.VLRTOT_NOTA_XML || ' ] '
    
END VALIDACAO_VALOR_NOTA
,
CASE 
        
    WHEN AD_FC_VERIFDIFRELENT(T.BASEICMS,
    T.BASEICMS_xml,
    T.DECIMALACEITADIF) = 1 THEN 'Validação OK'
        
    ELSE 'Divergencia BC: [ ' || to_char(T.BASEICMS) || ' ] BC_XML: [ ' || T.BASEICMS_xml  || ' ]'
    
END AS VALIDACAO_BC_ICMS
,
CASE 
        
    WHEN AD_FC_VERIFDIFRELENT(T.VLRICMS,
    T.VLRICMS_XML,
    T.DECIMALACEITADIF) = 1 THEN 'VALIDAÇÃO OK'
        
    ELSE 'Divergencia Vlr.ICMS: [ ' || TO_CHAR(T.VLRICMS) || ' ] Vlr.ICMS XML: [ ' || T.VLRICMS_XML || ' ] '
    
END AS VALIDACAO_VALOR_ICMS
,
CASE 
        
    WHEN AD_FC_VERIFDIFRELENT(T.BASESUBSTIT,
    T.BASEICMS_ST_XML,
    T.DECIMALACEITADIF) = 1 THEN 'VALIDAÇÃO OK'
        
    WHEN T.CODOBSPADRAO = 6 
    AND T.BASESUBSTIT > 0 THEN 'VALIDAÇÃO OK (POR OBS 6)'
        
    ELSE 'Divergencia BC_ST: [ ' || TO_CHAR(T.BASESUBSTIT) || ' ] BC_ST XML: [ ' || T.BASEICMS_ST_XML || ' ] '
    
END AS VALIDACAO_BASE_ICMS_ST
,
CASE 
        
    WHEN AD_FC_VERIFDIFRELENT(T.VLRSUBST,
    T.VLRICMS_ST_XML,
    T.DECIMALACEITADIF) = 1 THEN 'VALIDAÇÃO OK'
        
    WHEN T.CODOBSPADRAO = 6 
    AND T.BASESUBSTIT > 0 THEN 'VALIDAÇÃO OK (POR OBS 6)'
        
    ELSE 'Divergencia Vlr.ICMS ST: [ ' || TO_CHAR(T.VLRSUBST) || ' ] Vlr.ICMS ST XML: [ ' || T.VLRICMS_ST_XML || ' ] '
    
END AS VALIDACAO_VALOR_ICMS_ST
,
CASE 
        
    WHEN AD_FC_VERIFDIFRELENT(T.BASEIPI,
    T.BASEIPI_XML,
    T.DECIMALACEITADIF) = 1 THEN 'VALIDAÇÃO OK'
        
    ELSE 'Divergencia BC_IPI: [ ' || TO_CHAR(T.BASEIPI) || ' ] BC_IPI XML: [ ' || T.BASEIPI_XML || ' ] '
    
END AS VALIDACAO_BASE_IPI
,
CASE
        
WHEN AD_FC_VERIFDIFRELENT(T.VLRIPI,
T.VLRIPI_XML,
T.DECIMALACEITADIF) = 1 THEN 'VALIDAÇÃO OK'
        
ELSE 'Divergencia Vlr.IPI: [ ' || TO_CHAR(T.VLRIPI) || ' ] Vlr.IPI XML: [ ' || T.VLRIPI_XML || ' ] '

END AS VALIDACAO_VALOR_IPI
,
CASE

WHEN T.VLRTOT = T.VLRTOT_XML THEN 'VALIDAÇÃO OK'
        
ELSE 'Divergencia Vlr.total item: [ ' || TO_CHAR(T.VLRTOT) || ' ] Vlr.total item XML: [ ' || T.VLRTOT_XML || ' ] '

END AS VALIDACAO_VALOR_TOTAL_ITEM
,
CASE

WHEN T.INSCSTATUAL_PARC = LTRIM(T.INSCSTATUAL_PARC_XML,
‘0’) THEN ‘VALIDACAO OK’

ELSE 'Divergencia IE: [ ’ || T.INSCSTATUAL_PARC || ’ ] IE XML: [ ’ ||T.INSCSTATUAL_PARC_XML || ’ ] ’

END AS VALIDACAO_IE_PARCEIRO
FROM
(
SELECT
EMP.CODEMP
,
EMP.NOMEFANTASIA AS RAZAOEMP
,
TO_CHAR(TOP.CODTIPOPER) || ’ - ’ || TOP.DESCROPER AS TIPO_OPERACAO
,
CAB.NUNOTA
,
CAB.DTNEG AS DTEMISSAO
,
CAB.DTENTSAI
,
CAB.NUMNOTA
,
CAB.CHAVENFE
,
CAB.VLRNOTA
,
CAB.VLRDESTAQUE
,
CAB.VLRFRETE
,
CAB.VLROUTROS
,
OPTION_LABEL(‘TGFCAB’,
‘TIPFRETE’,
CAB.TIPFRETE) AS TIPFRETE
,
ITE.BASEICMS
,
ITE.VLRICMS
,
ITE.BASESUBSTIT
,
ITE.VLRSUBST
,
ITE.BASEIPI
,
ITE.VLRIPI
,
PAR.CODPARC
,
PAR.IDENTINSCESTAD AS INSCSTATUAL_PARC
,
FSP_Formatar_CPF_CNPJ(PAR.CGC_CPF) AS CGC_CPF
,
PAR.RAZAOSOCIAL AS RAZAOPARC
,
F_DESCROPC(‘TGFPAR’,
‘TIPPESSOA’,
PAR.TIPPESSOA) AS TIPPESSOA
,
F_DESCROPC(‘TGFITE’,
‘CODTRIB’,
ITE.CODTRIB) as TRIBUTACAO
,
ITE.CODPROD
,
PRO.DESCRPROD
,
PRO.NCM
,
ITE.BASEICMS AS BASEICMS_ITEM
,
ITE.ALIQICMS AS ALIQICMS_ITEM
,
ITE.VLRICMS AS VLRICMS_ITEM
,
NVL(ITE.BASESUBSTIT,
0) AS BASEICMS_ST_ITEM
,
NVL(ITE.VLRSUBST,
0) AS VLRICMS_ST_ITEM
,
NVL(ITE.BASESTFCPINTANT,
0) AS BASEICMS_FCP_ST_ITEM
,
NVL(ITE.VLRSTFCPINTANT,
0) AS VLRICMS_FCP_ST_ITEM
,
ITE.SEQUENCIA
,
ITE.CODCFO AS CFOP
,
ITE.QTDNEG
,
ITE.VLRUNIT
,
ITE.VLRTOT
,
ITE.CODOBSPADRAO
,
TSI.NUMDEC AS DECIMALACEITADIF
,
SNK_GET_VLRLIQUIDO(ITE.NUNOTA,
ITE.SEQUENCIA) AS VLRTOTLIQ

            ,

EXTRACTVALUE(XMLType(nvl(NFE.XML,
‘ ’)),
‘/nfeProc/NFe/infNFe/ide/nNF’) AS NUMNOTA_XML
,
EXTRACTVALUE(XMLType(nvl(NFE.XML,
‘ ’)),
‘/nfeProc/NFe/infNFe/emit/IE’) AS INSCSTATUAL_PARC_XML
,
NVL(CAST(REPLACE(EXTRACTVALUE(XMLType(nvl(NFE.XML,
‘ ’)),
‘/nfeProc/NFe/infNFe/total/ICMSTot/vNF’),
‘.’,
‘,’) AS FLOAT),
0 ) AS VLRTOT_NOTA_XML

            ,

EXTRACTVALUE(XML_PRO.PRODUTOS,
‘/det/prod/NCM’) AS NCM_XML
,
EXTRACTVALUE(XML_PRO.PRODUTOS,
‘/det/prod/CFOP’) AS CFOP_XML
,
EXTRACTVALUE(XML_PRO.PRODUTOS,
‘/det/prod/cEAN’) AS EAN_XML
,
EXTRACTVALUE(XML_PRO.PRODUTOS,
‘/det/prod/uCom’) AS CODVOL_XML
,
NVL(CAST(REPLACE(EXTRACTVALUE(XML_PRO.PRODUTOS,
‘/det/prod/qCom’),
‘.’,
‘,’) AS FLOAT),
0 ) AS QTDNEG_XML
,
NVL(CAST(REPLACE(EXTRACTVALUE(XML_PRO.PRODUTOS,
‘/det/prod/vUnCom’),
‘.’,
‘,’) AS FLOAT),
0 ) AS VLRUNIT_XML
,
NVL(CAST(REPLACE(EXTRACTVALUE(XML_PRO.PRODUTOS,
‘/det/prod/vProd’),
‘.’,
‘,’) AS FLOAT),
0 ) AS VLRTOT_XML
,
NVL(CAST(REPLACE(EXTRACTVALUE(XML_PRO.PRODUTOS,
‘/det/imposto/ICMS/ICMS’|| LPAD(NVL(ITE.CODTRIB,
‘0’),
2,
‘0’) ||‘/vBC’),
‘.’,
‘,’) AS FLOAT),
0 ) AS BASEICMS_xml
,
NVL(CAST(REPLACE(EXTRACTVALUE(XML_PRO.PRODUTOS,
‘/det/imposto/ICMS/ICMS’|| LPAD(NVL(ITE.CODTRIB,
‘0’),
2,
‘0’) ||‘/vICMS’),
‘.’,
‘,’) AS FLOAT),
0 ) AS VLRICMS_XML
,
NVL(CAST(REPLACE(EXTRACTVALUE(XML_PRO.PRODUTOS,
‘/det/imposto/ICMS/ICMS’|| LPAD(NVL(ITE.CODTRIB,
‘0’),
2,
‘0’) ||‘/vBCST’),
‘.’,
‘,’) AS FLOAT),
0 ) AS BASEICMS_ST_XML
,
NVL(CAST(REPLACE(EXTRACTVALUE(XML_PRO.PRODUTOS,
‘/det/imposto/ICMS/ICMS’|| LPAD(NVL(ITE.CODTRIB,
‘0’),
2,
‘0’) ||‘/vICMSST’),
‘.’,
‘,’) AS FLOAT),
0 ) AS VLRICMS_ST_XML
,
NVL(CAST(REPLACE(EXTRACTVALUE(XML_PRO.PRODUTOS,
‘/det/imposto/IPI/IPITrib/vBC’) ,
‘.’,
‘,’) AS FLOAT),
0 ) AS BASEIPI_XML
,
NVL(CAST(REPLACE(EXTRACTVALUE(XML_PRO.PRODUTOS,
‘/det/imposto/IPI/IPITrib/vIPI’) ,
‘.’,
‘,’) AS FLOAT),
0 ) AS VLRIPI_XML

            ,

SNK_GET_VLRLIQUIDO(ITE.NUNOTA,
ITE.SEQUENCIA) AS VLR_CONTABIL
,
CASE

WHEN ITE.VLRSUBST > 0 THEN ‘S’

ELSE ‘N’

END AS ANTECIPADO
,
SNK_DIVIDIR(ITE.VLRTOT,
(CAB.VLRNOTA - CAB.VLRFRETE)) * CAB.VLRFRETE AS VLRRATFRETE

FROM
TGFCAB CAB

JOIN
TGFITE ITE
ON ITE.NUNOTA = CAB.NUNOTA

JOIN
TGFTOP TOP
ON TOP.CODTIPOPER = CAB.CODTIPOPER
AND TOP.DHALTER = CAB.DHTIPOPER

JOIN
TGFPRO PRO
ON PRO.CODPROD = ITE.CODPROD

JOIN
TSIEMP EMP
ON EMP.CODEMP = CAB.CODEMP

JOIN
TGFPAR PAR
ON PAR.CODPARC = CAB.CODPARC

LEFT JOIN
(
SELECT
NUNOTA,
CHAVEACESSO AS CHAVENFE,
XML
FROM
TGFIXN
UNION
ALL SELECT
N.NUNOTA,
N.CHAVENFE,
N.XML
FROM
TGFNFE N
JOIN
TGFCAB C
ON C.NUNOTA = N.NUNOTA
WHERE
C.TIPMOV <> ‘V’
) NFE
ON (
(
NFE.NUNOTA = CAB.NUNOTA
)
OR (
NFE.CHAVENFE = CAB.CHAVENFE
)
)

LEFT JOIN
TSIPAR TSI
ON TSI.CHAVE = ‘AD_CENTDIFREL’
AND TSI.CODUSU = 0

LEFT JOIN
XMLTable(‘/nfeProc/NFe/infNFe/det’ PASSING XMLType(nvl(NFE.XML, ‘ ’)) COLUMNS PRODUTOS XMLType PATH ‘.’) XML_PRO
on EXTRACTVALUE(XML_PRO.PRODUTOS,
‘/det/@nItem’) = NVL(ITE.SEQUENCIAFISCAL,
ITE.SEQUENCIA)

        WHERE
            CAB.TIPMOV  IN ( 'C' )

AND CAB.STATUSNOTA = ‘L’

AND TOP.ATUALLIVFIS IN (‘A’,
‘E’)

) T
WHERE
T.CODEMP = NVL(:P_CODEMP, T.CODEMP)
AND T.CODPARC= NVL(:P_CODPARC, T.CODPARC)
AND TRUNC(T.DTENTSAI) BETWEEN :DTENTSAI.INI AND :DTENTSAI.FIN
AND (TRUNC(T.DTEMISSAO) BETWEEN :PERIODO.INI AND :PERIODO.FIN OR :PERIODO.INI IS NULL)
AND (:apenaserros = ‘N’ OR (
:apenaserros = ‘S’
AND (T.VALIDACAO_VALOR_NOTA != ‘VALIDACAO OK’
OR T.VALIDACAO_NUMNOTA != ‘VALIDACAO OK’
OR T.VALIDACAO_BC_ICMS != ‘VALIDACAO OK’
OR T.VALIDACAO_VALOR_ICMS != ‘VALIDACAO OK’)))

3 respostas