CE PLUS - Nota 007515

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 31/10/2008 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:18:27

Descrição da Nota: DESPESA DUPLICADA NO TOTAL DA NOTA FISCAL(FUNDAP)

Sintoma

Na nota fiscal de fundap as despesas estão sendo lançadas duplicadas, pois estas despesas já estão

no valor da mercadoria e estão sendo lançadas na nota fiscal.

 

 

Solução

Atualização do programa de Nota Fiscal para que o sistema efetue o cálculo da Nota Fiscal de

Transfência (FUNDAP) corretamente nos casos de despesas que sejam Base de II.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

DESPESA DUPLICADA NA BASE DE IPI E ICMS NA NOTA FISCAL(FUNDAP)

Informações Complementares

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

Nota Número 07515 Data: 31/10/2008 Hora: 16:04:40

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

 

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

Nota Número              : 07515

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00007

Agrupamento              : 00071

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

Referência às notas relacionadas:

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

 

07511  - 00001 - 7.0    - 00007  - DESPESA DUPLICADA NA BASE DE IPI E ICMS NA NOTA FISCAL(FUNDAP)

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

DESPESA DUPLICADA NO TOTAL DA NOTA FISCAL(FUNDAP)

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

Palavras Chave:

DESPESA - NOTA - FISCAL - FUNDAP - BASE - II

/PWS/SAPMZYCI016

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

Objetos da nota:

REPS /PWS/MZYCI016F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

    SELECT SINGLE embarca FROM /pws/zycit001

                  INTO v_embarca

                  WHERE nrseq EQ /pws/zycie042-nrseq.

    IF v_embarca EQ /pws/zycie001-embarca.

      UPDATE /pws/zycit042 SET embarca = /pws/zycie042-embarca

                      WHERE nrseq = /pws/zycie042-nrseq."#EC CI_NOFIRST

    ENDIF.

  ENDIF.

ENDFORM.

FORM seleciona_itens_nfg.

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

  DATA: v_vldpb LIKE /pws/zycit049-vldp,

        v_vlrealb TYPE /pws/zycit053-vlreal.

* << Fim da exclusão

  DATA: v_nolin TYPE i VALUE IS INITIAL,

        wa_zycit042 LIKE /pws/zycit042 ,

        v_ternacion LIKE /pws/zycit042-netpr,

        v_ntgew_tot LIKE itab_zycit003-ntgew.

  DATA: BEGIN OF itab_zycit049_fndp OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit049.

  DATA: END OF itab_zycit049_fndp .

  DATA v_vlsisco LIKE v_vldp.

  IF t001 IS INITIAL OR /pws/zycit000 IS INITIAL.

    SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie041-bukrs.

...

 

...

        LOOP AT itab_zycit049_fndp

          WHERE tpdesp NE /pws/zycit000-cod_sisc.

          IF itab_zycit049_fndp-waers EQ /pws/zycie085-waersfob .

            v_vlreal = v_vlreal + itab_zycit049_fndp-vldp .

          ELSE.

            PERFORM trata_decimais USING itab_zycit049_fndp-waers

                           CHANGING  itab_zycit049_fndp-vldp.

            PERFORM taxa_converte USING itab_zycit049_fndp-waers

                                         /pws/zycie085-dttax

                                CHANGING v_taxa_desp.

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

            v_vlreal = v_vlreal + ( itab_zycit049_fndp-vldp *

                                    v_taxa_desp ) .

* << Fim da exclusão

            CLEAR: itab_zycit019, itab_zycit020.

            READ TABLE itab_zycit019 WITH KEY

                        tpdesp = itab_zycit049_fndp-tpdesp.

            IF sy-subrc EQ 0 .

              READ TABLE itab_zycit020 WITH KEY

                          codigo = itab_zycit019-codigo.

            ENDIF.

            IF itab_zycit020-baseii NE 'X'.

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

              v_vlrealb = v_vlrealb + ( itab_zycit049_fndp-vldp *

* << Fim da exclusão

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

              v_vlreal = v_vlreal + ( itab_zycit049_fndp-vldp *

* << Fim da inclusão

                                      v_taxa_desp ) .

            ENDIF.

          ENDIF.

        ENDLOOP.

        LOOP AT itab_zycit003.

          CLEAR :  itab_zycit480,

                   v_vlii, v_vlipi,

                   v_vlpis, v_vlcofins.

          READ TABLE itab_zycit100 WITH KEY

                       nrseq = itab_zycit003-nrseq

...

 

...

            IF itab_zycit100-waersbem NE /pws/zycie085-waersfob.

              PERFORM trata_decimais USING itab_zycit100-waersbem

                            CHANGING itab_zycit100-vlfob.

              PERFORM taxa_converte USING /pws/zycie085-waersfob

                                          /pws/zycie085-dttax

                                  CHANGING v_taxa_desp.

             itab_zycit100-vlfob =  itab_zycit100-vlfob * v_taxa_desp  .

              IF NOT /pws/zycie085-vlfob IS INITIAL.

                v_vldp =  ( v_vlreal * itab_zycit100-vlfob ) /

                       /pws/zycie085-vlfob.

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

                v_vldpb =  ( v_vlrealb * itab_zycit100-vlfob ) /

                       /pws/zycie085-vlfob.

* << Fim da exclusão

              ENDIF.

            ELSE.

              IF NOT /pws/zycie085-vlfob IS INITIAL.

                v_vldp =  ( v_vlreal * itab_zycit100-vlfob ) /

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

                       /pws/zycie085-vlfob.

                v_vldpb =  ( v_vlrealb * itab_zycit100-vlfob ) /

* << Fim da exclusão

                       /pws/zycie085-vlfob.

              ENDIF.

...

 

...

                                               regio = itab_t001w-regio.

                IF itab_zycit033-tribipi EQ '3'   .

                  itab_zycit480-vl_custo_merc = itab_zycit480-vl_nf_ent.

                ELSE.

                  itab_zycit480-vl_custo_merc =

                     itab_zycit480-vl_nf_ent - itab_zycit100-vlipi.

                ENDIF.

              ENDIF.

            ENDIF.

            itab_zycit480-vl_desp_acess =

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

            ( ( v_vldpb * itab_zycit480-vl_basred ) / 100 ) /

* << Fim da exclusão

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

            ( ( v_vldp * itab_zycit480-vl_basred ) / 100 ) /

* << Fim da inclusão

              ( 1 - ( itab_zycit480-vl_aliqicms / 100 ) ).

            itab_zycit480-vl_base_ipi =

              ( ( itab_zycit480-vl_custo_merc *

              ( itab_zycit480-vl_basred / 100 ) ) /

              ( 1 - ( itab_zycit480-vl_aliqicms / 100 ) ) ) +

              itab_zycit480-vl_desp_acess.

            itab_zycit480-vl_ipi = itab_zycit480-vl_base_ipi *

                  ( itab_zycit003-advalipi / 100 ) .

            itab_zycit480-vl_base_icms =

        ( ( ( itab_zycit480-vl_custo_merc * itab_zycit480-vl_basred ) /

...

 

...

                 WHERE lifnr EQ itab_ekpa-lifn2

                   AND op_icms EQ '2'.

              ELSE.

                SELECT SINGLE * FROM /pws/zycit478

                 WHERE lifnr EQ itab_ekpa-lifn2

                   AND op_icms EQ '3'.

              ENDIF.

              itab_zycit480-desconto = itab_zycit480-vl_custo_merc *

                     ( /pws/zycit478-percent / 100 ).

            ENDIF.

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

            itab_zycit480-vl_desp_acess =

            ( ( v_vldp * itab_zycit480-vl_basred ) / 100 ) /

              ( 1 - ( itab_zycit480-vl_aliqicms / 100 ) ).

* << Fim da exclusão

            APPEND itab_zycit480.

          ENDIF.

        ENDLOOP.

      ENDIF.

    ELSE.

      IF NOT itab_zycit003[] IS INITIAL.

        SELECT * FROM /pws/zycit480

        INTO TABLE itab_zycit480

        FOR ALL ENTRIES IN itab_zycit003

        WHERE nrseq EQ itab_zycit003-nrseq

...