SET TERM ^ ;

create or alter procedure SPU_CFE_ITEM_FISCAL (
    DATA_EMISSAO date)
as
declare variable PDV_CFE_ID integer;
BEGIN
    
    FOR SELECT
        T.ID
    FROM TBPDV_CFE T
    WHERE T.DATA_EMISSAO >= :DATA_EMISSAO
    AND T.TIPO IN (1, 2)
    INTO :PDV_CFE_ID
    DO BEGIN
        
        IF(:PDV_CFE_ID > 0) THEN
        BEGIN

            UPDATE TBPDV_CFE_ITEM A SET
            A.FISCAL_TRIBUTACAO_ICMS    = TRIBUTACAO_ICMS   ,
            A.FISCAL_TRIBUTACAO_PIS     = TRIBUTACAO_PIS    ,
            A.FISCAL_TRIBUTACAO_COFINS  = TRIBUTACAO_COFINS ,
            A.FISCAL_BASECALCULO_ICMS   = BASECALCULO_ICMS  ,
            A.FISCAL_BASECALCULO_PIS    = BASECALCULO_PIS   ,
            A.FISCAL_BASECALCULO_COFINS = BASECALCULO_COFINS,
            A.FISCAL_ALIQUOTA_ICMS      = ALIQUOTA_ICMS     ,
            A.FISCAL_ALIQUOTA_PIS       = ALIQUOTA_PIS      ,
            A.FISCAL_ALIQUOTA_COFINS    = ALIQUOTA_COFINS   ,
            A.FISCAL_VALOR_ICMS         = VALOR_ICMS        ,
            A.FISCAL_VALOR_PIS          = VALOR_PIS         ,
            A.FISCAL_VALOR_COFINS       = VALOR_COFINS      ,
            A.FISCAL_CFOP_CODIGO        = CFOP_CODIGO 
            WHERE PDV_CFE_ID = :PDV_CFE_ID;
        END


    END
  
END
^

SET TERM ; ^

