CE PLUS - Nota 012132

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Recebimento

Data/Hora da Publicação: 23/04/2012 00:00:00

Data/Hora Última Alteração: 10/06/2013 09:54:18

Descrição da Nota: CRÉDITO PARCIAL DE COFINS

Sintoma

Conforme lei Lei 12.546/2011, a alíquota de COFINS deverá ser acrescida de 1,5% . Porém o crédito

deste imposto será apenas dos 7,6% e não 9,1%.

 

 

Solução

Desenvolver um tratamento para prever Crédito Parcial de Cofins.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

AO FAZER RECEBIMENTO, NÃO ENCONTRA A CONTA DE PIS E COFINS.

AJUSTE DE PERFORMANCE

NO RECEBIMENTO O VALOR DO CRÉDITO DE IMPOSTOS ESTA DIFERENTE DO CUSTO

VALORES DE PIS E COFINS CONTABILIZADOS ERRADOS NO RECEBIMENTO

ALTERAR MENSAGEM NO RECEBIMENTO (F-02)

ARREDONDAMENTO NO LANÇAMENTO DE PIS E COFINS

NÃO PREENCHER MOVIMENTADO E DIFERENÇA PARA IMPOSTOS GARANTIZADOS.

NÃO FAZ CONTABILIZAÇÃO DE PIS/COFINS UTILIZANDO MATUSE

ADICIONADO PARAMETRO LEI 102 PARA PIS E COFINS

AO FAZER RECEBIMENTO, VALOR DA MERCADORIA NA MIRO ESTÁ INCORRETA.

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 12132 Data: 23/04/2012 Hora: 16:48:14

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 12132

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 8.0

Pacote                   : 00011

Agrupamento              : 00113

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

02915  - 00001 - 6.0    - 00026  - ADICIONADO PARAMETRO LEI 102 PARA PIS E COFINS

02939  - 00002 - 6.0    - 00026  - VALORES DE PIS E COFINS CONTABILIZADOS ERRADOS NO RECEBIMENTO

06928  - 00003 - 7.0    - 00006  - AO FAZER RECEBIMENTO, VALOR DA MERCADORIA NA MIRO ESTÁ INCORRETA.

08292  - 00004 - 7.0    - 00009  - AJUSTE DE PERFORMANCE

08753  - 00005 - 7.0    - 00010  - AO FAZER RECEBIMENTO, NÃO ENCONTRA A CONTA DE PIS E COFINS.

09971  - 00006 - 8.0    - 00003  - NO RECEBIMENTO O VALOR DO CRÉDITO DE IMPOSTOS ESTA DIFERENTE DO C

10119  - 00007 - 8.0    - 00003  - NÃO PREENCHER MOVIMENTADO E DIFERENÇA PARA IMPOSTOS GARANTIZADOS.

10526  - 00008 - 8.0    - 00004  - NÃO FAZ CONTABILIZAÇÃO DE PIS/COFINS UTILIZANDO MATUSE

10961  - 00009 - 8.0    - 00006  - ALTERAR MENSAGEM NO RECEBIMENTO (F-02)

11198  - 00010 - 8.0    - 00007  - ARREDONDAMENTO NO LANÇAMENTO DE PIS E COFINS

----------------------------------------------------------------------------------------------------

CRÉDITO PARCIAL DE COFINS

----------------------------------------------------------------------------------------------------

Palavras Chave:

COFINS - CRÉDITO PARCIAL

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

CLAS /PWS/CL_ZYCI_CRED_PARCIAL

DTEL /PWS/ZYCIL892

DTEL /PWS/ZYCIL893

REPS /PWS/MZYCI010F03

REPS /PWS/MZYCI010X01

REPS /PWS/MZYCI017F01

REPS /PWS/MZYCI017F02

REPS /PWS/ZYCIR006

TABD /PWS/ZYCIT405

TABD /PWS/ZYCIT406

 

 

----------------------------------------------------------------------------------------------------

 

*Aplicar notas posteriores relacionadas

*Nota 12138

*Nota 12426

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em DTEL /PWS/ZYCIL892

 

------------------------------------------------------------------------

Elemento de dados incluído: /PWS/ZYCIL892

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (19 caracteres), idioma: PT

"CI - Vigência desde"

Categoria de dados: Domínio

Domínio: DATUM

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (8 caracteres), idioma: PT

"Validade"

Comprimento máximo do denominador médio: 15

Denominador médio incluído (12 caracteres), idioma: PT

"Válido desde"

Comprimento máximo do denominador longo: 20

Denominador longo incluído (12 caracteres), idioma: PT

"Válido desde"

Comprimento máximo do título: 14

Título incluído (12 caracteres), idioma: PT

"Válido desde"

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em TABD /PWS/ZYCIT405

 

*Acrescentar campos ao final da tabela

 

Nome campo Chv Elem.dados    Tab.verif.    N CtDt Comp. Grupo

 

ACRESCIMO      /PWS/ZYCIL893                 DEC      6

VIGENCIA       /PWS/ZYCIL892                 DATS     8

 

*Gerar novamente a visão de atualização da tabela

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em TABD /PWS/ZYCIT406

 

 

*Acrescentar campos ao final da tabela

 

Nome campo Chv Elem.dados    Tab.verif.    N CtDt Comp. Grupo

 

ACRESCIMO      /PWS/ZYCIL893                 DEC      6

VIGENCIA       /PWS/ZYCIL892                 DATS     8

 

*Gerar novamente a visão de atualização da tabela

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em DTEL /PWS/ZYCIL893

 

------------------------------------------------------------------------

Elemento de dados incluído: /PWS/ZYCIL893

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (27 caracteres), idioma: PT

"CI -  Acréscimo de alíquota"

Categoria de dados: Domínio

Domínio: J_1BTXRATE

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (9 caracteres), idioma: PT

"Acr.alíq."

Comprimento máximo do denominador médio: 18

Denominador médio incluído (18 caracteres), idioma: PT

"Acréscimo alíquota"

Comprimento máximo do denominador longo: 21

Denominador longo incluído (21 caracteres), idioma: PT

"Acréscimo de alíquota"

Comprimento máximo do título: 21

Título incluído (21 caracteres), idioma: PT

"Acréscimo de alíquota"

 

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em CLAS /PWS/CL_ZYCI_CRED_PARCIAL

 

*Na SE24 criar a classe /PWS/CL_ZYCI_CRED_PARCIAL

 

CARACTERÍSTICAS

 

Descrição : Crédito Parcial Cofins

Geração Instância: Público

(X) Final

 

DADOS GERAIS

(x) Aritmética ponto fixo

Categoria: Categoria de objeto geral

Classe de Desenvolvimento : /PWS/ZYCI

 

 

MÉTODOS

 

Métodos        Tipo            Visibilidade  Só modelado  Tp.Método  Descrição

Trata_cofins   Static Method   Public                                Trata Crédito Parcial de Cofins

 

 

PARÂMETROS

 

PARÂMETRO     TIPO       TRANSF.VLR OPCIONAL TP.ATRIB. TP.REFERÊNCIA

VIGENCIA      IMPORTING  'X'         ' '     TYPE      /PWS/ZYCIE085-DTTAX

REGIME        IMPORTING  'X'         ' '     TYPE      /PWS/ZYCIE001-REGIME

MATNR         IMPORTING  ' '         ' '     TYPE      /PWS/ZYCIT003-MATNR

NCM           IMPORTING  ' '         ' '     TYPE      /PWS/ZYCIT003-J_1BNBM

ACRESCIMO     RETURNING  'X'         ' '     TYPE      /PWS/ZYCIL893

 

 

Código Método Trata_cofins

 

  SELECT SINGLE acrescimo FROM /pws/zycit406

      INTO acrescimo

      WHERE matnr    = matnr

      AND   regime   = regime

      AND   tributos = 'COFINS'

      AND   vigencia LE vigencia.

  IF sy-subrc  NE 0.

    SELECT SINGLE acrescimo FROM /pws/zycit405

           INTO acrescimo

           WHERE ncm      = ncm

           AND   regime   = regime

           AND   tributos = 'COFINS'

          AND   vigencia LE vigencia.

  ENDIF.

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI010F03

 

...

 

  LOOP AT itab_zycit042.

    CLEAR itab_zycit033.

    READ TABLE itab_zycit033 WITH KEY clnf  = v_clnf

                                      tpnf  = itab_zycit042-tpnf

                                      regio = t001w-regio.

    IF sy-subrc NE 0.

      READ TABLE itab_zycit033 WITH KEY clnf  = v_clnf

                                        tpnf  = itab_zycit042-tpnf.

    ENDIF.

    LOOP AT itab_zycit036_aux WHERE nrseq = itab_zycit042-nrseq

                            AND ebeln = itab_zycit042-ebeln

                             AND ebelp = itab_zycit042-ebelp.

      READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit036_aux-nrseq

                                        ebeln = itab_zycit036_aux-ebeln

                                        ebelp = itab_zycit036_aux-ebelp.

* >> Início da inclusão: FORM RETIRA_IMPOSTO

      READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit036_aux-nrseq

                                        ebeln = itab_zycit036_aux-ebeln

                                        ebelp = itab_zycit036_aux-ebelp.

* << Fim da inclusão

      IF itab_zycit036_aux-codigo EQ 'ICMS'.

        IF ( itab_zycit033-tribicms EQ '1' ) OR

          ( itab_zycit033-tribicms EQ '3' AND

         ( itab_zycit033-lei102 EQ 'X' OR

         itab_zycit033-lei102 EQ 'Y' ) ) OR

          itab_zycit100-icms_dif EQ 'X'.

          itab_zycit036_aux-vlmov = ' '.

          itab_zycit036_aux-vldif = ' '.

          MODIFY itab_zycit036_aux.

        ENDIF.

...

 

...

 

      ELSEIF itab_zycit036_aux-codigo EQ 'PIS'.

        READ TABLE itab_zycit398 WITH KEY

            tpnf = itab_zycit042-tpnf

            tributos = itab_zycit036_aux-codigo

            bukrs    = v_bukrs

            clnf     = v_clnf.

        IF sy-subrc NE 0.

          READ TABLE itab_zycit398 WITH KEY

              tpnf     = itab_zycit042-tpnf

              tributos = itab_zycit036_aux-codigo

              bukrs    = space.

        ENDIF.

        IF itab_zycit398-creditar EQ 'S'.

          itab_zycit036_aux-vlmov = ' '.

          itab_zycit036_aux-vldif = ' '.

          MODIFY itab_zycit036_aux.

        ENDIF.

 

      ELSEIF itab_zycit036_aux-codigo EQ 'COFINS'.

        READ TABLE itab_zycit398 WITH KEY

            tpnf     = itab_zycit042-tpnf

            tributos = itab_zycit036_aux-codigo

            bukrs    = v_bukrs

            clnf     = v_clnf.

        IF sy-subrc NE 0.

          READ TABLE itab_zycit398 WITH KEY

              tpnf     = itab_zycit042-tpnf

              tributos = itab_zycit036_aux-codigo

              bukrs    = space.

        ENDIF.

        IF itab_zycit398-creditar EQ 'S'.

* >> Início da inclusão: FORM RETIRA_IMPOSTO

          CALL METHOD /pws/cl_zyci_cred_parcial=>trata_cofins

            EXPORTING

              vigencia  = /pws/zycit085-dttax

              regime    = /pws/zycie001-regime

              matnr     = itab_zycit003-matnr

              ncm       = itab_zycit003-j_1bnbm

            RECEIVING

              acrescimo = v_acrescimo    .

          IF v_acrescimo IS INITIAL.

* << Fim da inclusão

          itab_zycit036_aux-vlmov = ' '.

          itab_zycit036_aux-vldif = ' '.

* >> Início da inclusão: FORM RETIRA_IMPOSTO

          ENDIF.

* << Fim da inclusão

          MODIFY itab_zycit036_aux.

        ENDIF.

      ELSEIF NOT itab_zycit403[] IS INITIAL.

        READ TABLE itab_zycit403

                WITH KEY nrseqdi = itab_zycit042-nrseqnf

...

 

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI010X01

 

...

 

* >> Início da inclusão:

  DATA:  v_acrescimo TYPE /pws/zycit406-acrescimo.

* << Fim da inclusão

DATA: END OF COMMON PART b.

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI017F01

 

...

 

FORM get_parameters_mrm1_receb.

* >> Início da inclusão: FORM GET_PARAMETERS_MRM1_RECEB

  DATA: v_acrescimo TYPE /pws/zycit405-acrescimo.

* << Fim da inclusão

...

 

...

            tributos = itab_zycit036_aux2-codigo

            bukrs    = wa_nf-bukrs

            clnf     = 'G'.

        IF sy-subrc NE 0.

          READ TABLE itab_zycit398 WITH KEY

            tpnf = itab_itens_nf-tpnf

            tributos = itab_zycit036_aux2-codigo

              bukrs    = space.

        ENDIF.

        IF itab_zycit398-creditar EQ 'S'.

* >> Início da inclusão: FORM GET_PARAMETERS_MRM1_RECEB

          READ TABLE itab_zycit003 WITH KEY

          nrseq = itab_itens_nf-nrseq

          ebeln = itab_itens_nf-ebeln

          ebelp = itab_itens_nf-ebelp.

          IF /pws/zycie085-dttax IS INITIAL.

            SELECT SINGLE dttax FROM /pws/zycit085

            INTO /pws/zycie085-dttax

            WHERE nrseqdi = itab_zycit100-nrseqdi.

          ENDIF.

          CALL METHOD /pws/cl_zyci_cred_parcial=>trata_cofins

            EXPORTING

              vigencia  = /pws/zycie085-dttax

              regime    = /pws/zycie001-regime

              matnr     = itab_itens_nf-matnr

              ncm       = itab_zycit003-j_1bnbm

            RECEIVING

              acrescimo = v_acrescimo.

          IF v_acrescimo IS INITIAL.

* << Fim da inclusão

          DELETE itab_zycit036_aux2.

* >> Início da inclusão: FORM GET_PARAMETERS_MRM1_RECEB

          ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

  FREE itab_custo_item.

  LOOP AT itab_itens_nf.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI017F02

 

 

...

 

FORM adiciona_outros_impostos.

* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS

  DATA:  v_acrescimo TYPE /pws/zycit406-acrescimo.

  DATA:   v_parcial,

          v_cofp TYPE /pws/zycbe035-wrbtr.

* << Fim da inclusão

...

...

 

    CLEAR itab_zycit100. REFRESH itab_zycit100.

    SELECT * FROM /pws/zycit100 INTO TABLE itab_zycit100

           FOR ALL ENTRIES IN itab_global

           WHERE nrseq = itab_global-nrseq

             AND ebeln = itab_global-ebeln

             AND ebelp = itab_global-ebelp.             "#EC CI_NOFIRST

* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS

    READ TABLE itab_zycit100 INDEX 1.

    IF sy-subrc EQ 0.

      SELECT SINGLE * FROM /pws/zycit085

        INTO /pws/zycie085

        WHERE nrseqdi EQ itab_zycit100-nrseqdi.

    ENDIF.

* << Fim da inclusão

    CLEAR: itab_ekkn. REFRESH: itab_ekkn.

    SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr

           FROM ekkn INTO TABLE itab_ekkn

           FOR ALL ENTRIES IN itab_global

           WHERE ebeln = itab_global-ebeln

             AND ebelp = itab_global-ebelp.

    CLEAR: itab_matuse. REFRESH: itab_matuse.

    SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp

           werks umrez umren lmein

           FROM ekpo INTO CORRESPONDING FIELDS OF TABLE itab_matuse

...

 

...

        CLEAR: okcode.

        MESSAGE e015 WITH text-117.

      ENDIF.

    ENDIF.

    IF NOT itab_zycit100-vlcofins IS INITIAL.

      CLEAR itab_zycit398.

      READ TABLE itab_zycit398 WITH KEY tpnf     = itab_global-tpnf

                                        tributos = 'COFINS'.

      IF sy-subrc EQ 0.

        itab_zycbt035_aux-lei102 = itab_zycit398-lei102.

* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS

        itab_zycbt035_aux-debcred = itab_zycit398-creditar.

* << Fim da inclusão

        itab_zycbt035_aux-imposto = 'COFI'.

* >> Início da exclusão: FORM ADICIONA_OUTROS_IMPOSTOS

        itab_zycbt035_aux-debcred = itab_zycit398-creditar.

* << Fim da exclusão

        CLEAR itab_zycit036.

        READ TABLE itab_zycit036 WITH KEY nrseq  = itab_global-nrseq

                                          ebeln  = itab_global-ebeln

                                          ebelp  = itab_global-ebelp

                                          codigo = 'COFINS'

                                          origem = 'NF'.

        IF sy-subrc NE 0 .

          SELECT SINGLE * FROM /pws/zycit036

          INTO itab_zycit036

            WHERE nrseq  = itab_global-nrseq

              AND ebeln  = itab_global-ebeln

              AND ebelp  = itab_global-ebelp

              AND codigo = 'COFINS'

              AND origem = 'NF'.

        ENDIF.

* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS

        IF itab_zycit398-creditar = 'S'.

          CLEAR: v_acrescimo, v_parcial.

          CALL METHOD /pws/cl_zyci_cred_parcial=>trata_cofins

            EXPORTING

              vigencia  = /pws/zycie085-dttax

              regime    = /pws/zycie001-regime

              matnr     = itab_zycit003-matnr

              ncm       = itab_zycit003-j_1bnbm

            RECEIVING

              acrescimo = v_acrescimo  .

          IF NOT v_acrescimo IS INITIAL .

            itab_zycbt035_aux-imposto = 'COFP'.

            IF NOT itab_zycit100-advalcofins IS INITIAL.

              v_cofp =  ( itab_zycit036-vlreal *

              ( v_acrescimo / 100 ) ) /

              ( itab_zycit100-advalcofins  / 100 ) .

            ENDIF.

            itab_zycbt035_aux-wrbtr = v_cofp.

            itab_zycbt035_aux-bschl   = '40'.

            APPEND itab_zycbt035_aux.

            itab_zycbt035_aux-bschl   = '50'.

            APPEND itab_zycbt035_aux.

            itab_zycbt035_aux-imposto = 'COFI'.

            itab_zycbt035_aux-wrbtr = itab_zycit036-vlreal - v_cofp.

            itab_zycbt035_aux-bschl   = '40'.

            APPEND itab_zycbt035_aux.

            itab_zycbt035_aux-bschl   = '50'.

            APPEND itab_zycbt035_aux.

            v_parcial = 'X' .

          ENDIF.

          IF v_parcial NE 'X' .

* << Fim da inclusão

        itab_zycbt035_aux-wrbtr = itab_zycit036-vlreal.

        itab_zycbt035_aux-bschl   = '40'.

        APPEND itab_zycbt035_aux.

        itab_zycbt035_aux-bschl   = '50'.

        APPEND itab_zycbt035_aux.

* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS

          ENDIF.

        ENDIF.

* << Fim da inclusão

      ELSE.

...

 

...

                      itab_zycbt035_aux-matuse

                      itab_zycbt035_aux-debcred

                      itab_zycbt035_aux-lei102.

        READ TABLE itab_cta INDEX 1.

      ENDIF.

      PERFORM verify_null_field USING itab_cta-konth 'D_NEWKO' text-069.

      itab_zycbt035_aux2-d_newko = itab_cta-konth.

    ENDIF.

    COLLECT itab_zycbt035_aux2.

  ENDLOOP.

* >> Início da exclusão: FORM ADICIONA_OUTROS_IMPOSTOS

  LOOP AT itab_zycbt035_aux WHERE imposto EQ 'COFI'.

* << Fim da exclusão

* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS

  LOOP AT itab_zycbt035_aux WHERE imposto EQ 'COFI'

     OR imposto EQ 'COFP' .

* << Fim da inclusão

    CLEAR itab_zycbt035_aux2.

    MOVE: itab_zycbt035_aux-bschl   TO itab_zycbt035_aux2-bschl  ,

* >> Início da exclusão: FORM ADICIONA_OUTROS_IMPOSTOS

          itab_zycbt035_aux-imposto TO itab_zycbt035_aux2-imposto,

* << Fim da exclusão

          itab_zycbt035_aux-matuse  TO itab_zycbt035_aux2-matuse ,

          itab_zycbt035_aux-d_gsber TO itab_zycbt035_aux2-d_gsber,

          itab_zycbt035_aux-wrbtr   TO itab_zycbt035_aux2-wrbtr  ,

          itab_zycbt035_aux-d_prctr TO itab_zycbt035_aux2-d_prctr,

          itab_zycbt035_aux-c_prctr TO itab_zycbt035_aux2-c_prctr,

          itab_zycbt035_aux-werks   TO itab_zycbt035_aux2-werks  .

    CLEAR itab_zycbt012.

    IF itab_zycbt035_aux-bschl EQ '40'.

      CLEAR itab_cta. REFRESH itab_cta.

* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS

      IF itab_zycbt035_aux-imposto EQ 'COFI' .

* << Fim da inclusão

      PERFORM seek_account_number

              TABLES itab_cta

              USING wa_nf-bukrs

                    'COR'

                    itab_zycbt035_aux-werks

                    itab_zycbt035_aux-bklas

                    itab_zycbt035_aux-matuse

                    itab_zycbt035_aux-debcred

                    itab_zycbt035_aux-lei102.

      READ TABLE itab_cta INDEX 1.

      IF itab_cta-konth IS INITIAL.

        CLEAR itab_cta. REFRESH itab_cta.

        PERFORM seek_account_number

                TABLES itab_cta

                USING wa_nf-bukrs

                      'COR'

                      itab_zycbt035_aux-werks

                      space

* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS

                        itab_zycbt035_aux-matuse

                        itab_zycbt035_aux-debcred

                        itab_zycbt035_aux-lei102.

          READ TABLE itab_cta INDEX 1.

        ENDIF.

      ELSE.

        itab_zycbt035_aux-imposto = 'COFI' .

        PERFORM seek_account_number

                TABLES itab_cta

                USING wa_nf-bukrs

                      'IPA'

                      itab_zycbt035_aux-werks

                      itab_zycbt035_aux-bklas

* << Fim da inclusão

                      itab_zycbt035_aux-matuse

                      itab_zycbt035_aux-debcred

                      itab_zycbt035_aux-lei102.

        READ TABLE itab_cta INDEX 1.

      ENDIF.

      PERFORM verify_null_field USING itab_cta-konts 'D_NEWKO' text-016.

      itab_zycbt035_aux2-d_newko = itab_cta-konts.

    ELSEIF itab_zycbt035_aux-bschl EQ '50'.

      CLEAR itab_cta. REFRESH itab_cta.

      PERFORM seek_account_number

...

 

...

                      itab_zycbt035_aux-werks

                      space

                      itab_zycbt035_aux-matuse

                      itab_zycbt035_aux-debcred

                      itab_zycbt035_aux-lei102.

        READ TABLE itab_cta INDEX 1.

      ENDIF.

      PERFORM verify_null_field USING itab_cta-konth 'D_NEWKO' text-069.

      itab_zycbt035_aux2-d_newko = itab_cta-konth.

    ENDIF.

* >> Início da inclusão: FORM ADICIONA_OUTROS_IMPOSTOS

    itab_zycbt035_aux-imposto = 'COFI' .

    MOVE  itab_zycbt035_aux-imposto TO itab_zycbt035_aux2-imposto.

* << Fim da inclusão

    COLLECT itab_zycbt035_aux2.

  ENDLOOP.

  LOOP AT itab_zycbt035_aux WHERE imposto EQ 'BPIS'.

    CLEAR itab_zycbt035_aux2.

    MOVE: itab_zycbt035_aux-bschl   TO itab_zycbt035_aux2-bschl  ,

          itab_zycbt035_aux-imposto TO itab_zycbt035_aux2-imposto,

          itab_zycbt035_aux-matuse  TO itab_zycbt035_aux2-matuse ,

          itab_zycbt035_aux-d_gsber TO itab_zycbt035_aux2-d_gsber,

          itab_zycbt035_aux-wrbtr   TO itab_zycbt035_aux2-wrbtr  ,

          itab_zycbt035_aux-werks   TO itab_zycbt035_aux2-werks  ,

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/ZYCIR006

 

...

 

  /pws/zycit100,

  /pws/zycit093,

  /pws/zycit132,

  /pws/zycit174,

  indx,

  /pws/zycit442.

* >> Início da inclusão:

DATA: v_acrescimo TYPE /pws/zycit406-acrescimo.

* << Fim da inclusão

 

...

 

...

 

FORM calcular_outros_custos

  TABLES itab_zycit036 STRUCTURE itab_zycit036.

* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS

  DATA: BEGIN OF itab_zycit398 OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit398.

  DATA: END OF itab_zycit398.

  DATA: v_parcial.

* << Fim da inclusão

 

,

...

 

...

 

    SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006_fat

      FOR ALL ENTRIES IN itab_zycit263t

      WHERE nrseq_pgfat = itab_zycit263t-nrseq_pgfat

        AND frpagto = 'A'

        AND tpfatura NE '99'

        AND eliminado NE 'X'.

* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS

  ENDIF.

  IF NOT itab_zycit036[] IS INITIAL.

    CLEAR itab_zycit398.

    REFRESH itab_zycit398 .

    SELECT * FROM /pws/zycit398

         INTO TABLE itab_zycit398.

    SELECT * FROM /pws/zycit042

    INTO TABLE itab_zycit042

    FOR ALL ENTRIES IN itab_zycit036

    WHERE nrseq = itab_zycit036-nrseq

    AND   ebeln = itab_zycit036-ebeln

    AND   ebelp = itab_zycit036-ebelp.

* << Fim da inclusão

  ENDIF.

  LOOP AT itab_zycit036.

    IF itab_zycit036-origem EQ 'PED' AND

       itab_zycit036-netpr <= 0.

      CONTINUE.

    ENDIF.

 

...

 

...

      WHEN OTHERS .

        IF t001-land1 EQ 'BR'.

 

          CLEAR: v_real_brl.

          IF NOT itab_zycit036-vlreal IS INITIAL         AND

            NOT itab_zycit036-waers_real IS INITIAL.

            CLEAR v_real_brl.

 

          PERFORM converter_moeda USING itab_zycit036-vlreal

                                        itab_zycit036-waers_real

                                           /pws/zycbt007-waersb

                                                    CHANGING v_real_brl.

            PERFORM trata_decimais USING    itab_zycit036-waers_real

                                     CHANGING v_real_brl.

* >> Início da inclusão: FORM CALCULAR_OUTROS_CUSTOS

            CLEAR v_parcial .

            IF itab_zycit036-codigo = 'COFINS' .

              clear v_acrescimo.

              READ TABLE itab_zycit042 WITH KEY

              nrseq = itab_zycit036-nrseq

              ebeln = itab_zycit036-ebeln

              ebelp = itab_zycit036-ebelp .

              IF sy-subrc EQ 0.

                READ TABLE itab_zycit398 WITH KEY

                    tpnf     = itab_zycit042-tpnf

                    tributos = itab_zycit036-codigo

                    bukrs    = /pws/zycie001-bukrs

                    clnf     = 'G' .

                IF sy-subrc NE 0.

                  READ TABLE itab_zycit398 WITH KEY

                      tpnf     = itab_zycit042-tpnf

                      tributos = itab_zycit036-codigo

                      bukrs    = space.

                ENDIF.

                IF itab_zycit398-creditar EQ 'S'.

                  READ TABLE itab_zycit003 WITH KEY

                  nrseq = itab_zycit036-nrseq

                  ebeln = itab_zycit036-ebeln

                  ebelp = itab_zycit036-ebelp .

                  READ TABLE itab_zycit100 WITH KEY

                  nrseq = itab_zycit036-nrseq

                  ebeln = itab_zycit036-ebeln

                  ebelp = itab_zycit036-ebelp .

                  CALL METHOD /pws/cl_zyci_cred_parcial=>trata_cofins

                    EXPORTING

                      vigencia  = /pws/zycit085-dttax

                      regime    = /pws/zycie001-regime

                      matnr     = itab_zycit003-matnr

                      ncm       =  itab_zycit003-j_1bnbm

                    RECEIVING

                      acrescimo = v_acrescimo    .

                ENDIF.

              ENDIF.

              IF NOT v_acrescimo IS INITIAL.

                v_real_brl = itab_zycit100-basecofins *

                 ( v_acrescimo / 100 ).

              ENDIF.

            ENDIF.

* << Fim da inclusão

            IF v_itemcongela NE 'X'.

              itab_zycit036-vlmov     = v_real_brl.

              itab_zycit036-waers_mov = /pws/zycbt007-waersb.

            ELSE.

              READ TABLE itab_zycit036_plan WITH KEY

                                       nrseq  = itab_zycit036-nrseq

                                       ebeln  = itab_zycit036-ebeln

                                       ebelp  = itab_zycit036-ebelp

                                      codigo = itab_zycit036-codigo.

              IF sy-subrc = 0.

...