create or replace PROCEDURE ARQUIVO_DIF_TO_K(
   P_CDEMPRESA     IN MAPAAPURAC.CDEMPRESA%TYPE,  --Cod empresa referencia
   P_CDINSCESTA    IN MAPAAPURAC.CDINSCESTA%TYPE,  --I.E. da empresa referencia
   P_PERIODO       IN MAPAAPURAC.CDINSCESTA%TYPE,  --Periodo referEncia AAAA
   P_LIVRO         IN LIVROMAGNETICO.CDLIVROMAG%TYPE, --Referencia de livro a ser usado nos registros C4 e E4 relacao de CFOP x tipo documento
   P_DTINICIO      IN MAPAAPURAC.DTINIPERIODO%TYPE, --Data inicio periodo
   P_DTFIM         IN MAPAAPURAC.DTFIMPERIODO%TYPE, --Data final periodo o ano sera usado para refencia
   P_NRSEQARQMAG   IN ARQMAGNETICO.NRSEQARQMAG%TYPE, --Sequencial controle tabela ARQMAGNETICO
   P_IECENTRAL     IN NOTAFISCAL.IDENTRSAIDOP%TYPE, --Inscricao estadual centralizada (S=Sim, N=Nao).
   P_CONTREG       OUT NUMBER
   )
AS
   V_CONTREG   NUMBER;
BEGIN
   V_CONTREG := 0;

------------------------------/* SEGMENTO K  Outras Saidas e/ou Outras Entradas   */------------------------------
------------------------------/* (Campo 10  Saidas, Campo 11  Entradas)          */------------------------------
    INSERT INTO ARQMAGNETICO
         (NRORDREGARQ, DSREGARQMAG, NRSEQARQMAG)
    SELECT
        '11'||LPAD(RTRIM(RANK () OVER (ORDER BY TIPODOMICFISCAL,IDENTRSAIDOP,NVL(CFOP,'    '))), 8, '0') ORDEM,
        'K'                                                                   || --K1 Segmento
        LPAD(P_CDINSCESTA,9,'0')                                              || --K2 Inscricao Estadual 
        P_PERIODO                                                             || --K3 Periodo de Referencia
        IDENTRSAIDOP                                                          || --K4 Tipo de Entrada/Saida
        NVL(CFOP,'    ')                                                      || --K5 CFOP    
        TIPODOMICFISCAL                                                       || --K6 Tipo Domicilio Fiscal
        CODMUNIBGE                                                            || --K7 Codigo do Municipio
        REPLACE(LTRIM(TO_CHAR(SUM(VALOR_CONTABIL),'000000000000.00')),'.')    || --K8 Valor Contabil 
        REPLACE(LTRIM(TO_CHAR(SUM(BASE_CALC_ICMS),'000000000000.00')),'.')    || --K9 Base de Calculo
        REPLACE(LTRIM(TO_CHAR(SUM(OUTROS),'000000000000.00')),'.')            || --K10 Outras
        REPLACE(LTRIM(TO_CHAR(SUM(VR_CONT_ICMS_ST),'000000000000.00')),'.')      --K11 Substituicao Tributaria
        ,P_NRSEQARQMAG
    from TMP_DIF_TO_ENTSAI
    WHERE CDLAYOUTLMAG IN ('C411','E410')    
    GROUP BY
        IDENTRSAIDOP,
        NVL(CFOP,'    '),
        TIPODOMICFISCAL,
        CODMUNIBGE;

    V_CONTREG := V_CONTREG + SQL%ROWCOUNT;


   P_CONTREG := V_CONTREG;
END;
/