CE PLUS - Nota 011017

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 11/03/2011 00:00:00

Data/Hora Última Alteração: 22/03/2011 11:12:48

Descrição da Nota: VALOR CIF COM ORIGEM NA NOTA FISCAL ESTÁ ERRADO NO CUSTO EFETIVO

Sintoma

O valor CIF lançado no custo ao Gerar a nota fiscal está errado.

 

 

Solução

Ajusta atualização da tabela interna de custos para utilizar a chave completa ao modificar um

registro.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

VALOR DA MERCADORIA ESTÁ SENDO EXIBIDO INCORRETO NO RATEIO

Informações Complementares

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

Nota Número 11017 Data: 11/03/2011 Hora: 14:29:10

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

 

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

Nota Número              : 11017

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00006

Agrupamento              : 00062

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

Referência às notas relacionadas:

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

 

10788  - 00001 - 8.0    - 00005  - VALOR DA MERCADORIA ESTÁ SENDO EXIBIDO INCORRETO NO RATEIO

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

VALOR CIF COM ORIGEM NA NOTA FISCAL ESTÁ ERRADO NO CUSTO EFETIVO

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

Palavras Chave:

 

 

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

Objetos da nota:

REPS /PWS/MZYCI016F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

FORM visualiza_rateio.

  DATA: itab_zycit036a TYPE /pws/zycit036 OCCURS 0 WITH HEADER LINE.

  DATA: v_programa LIKE /pws/zycit036-origem VALUE 'NF'.

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

  LOOP AT itab_zycit003 WHERE qtd_itend NE space.

    IF itab_zycit036a[] IS INITIAL.

* << Fim da inclusão

  itab_zycit036a[] = itab_zycit036[].

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

  LOOP AT itab_zycit003 WHERE qtd_itend NE space.

    READ TABLE itab_zycit036 WITH KEY ebeln = itab_zycit003-ebeln

                                      ebelp = itab_zycit003-ebelp

                                      nrseq = itab_zycit003-nrseq.

    IF sy-subrc EQ 0.

* << Fim da exclusão

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

    ENDIF.

    LOOP AT itab_zycit036 WHERE ebeln = itab_zycit003-ebeln

                            AND ebelp = itab_zycit003-ebelp

                            AND nrseq = itab_zycit003-nrseq.

* << Fim da inclusão

      itab_zycit036-vlreal = itab_zycit036-vlreal *

            ( itab_zycit003-qtd_itend / itab_zycit003-qtd_iten ).

      itab_zycit036-vlmov  = itab_zycit036-vlmov *

            ( itab_zycit003-qtd_itend / itab_zycit003-qtd_iten ).

      MODIFY itab_zycit036 TRANSPORTING vlreal vlmov

          WHERE ebeln = itab_zycit003-ebeln

            AND ebelp = itab_zycit003-ebelp

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

            AND nrseq = itab_zycit003-nrseq.

    ENDIF.

* << Fim da exclusão

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

            AND nrseq = itab_zycit003-nrseq

            AND nrseqori EQ itab_zycit036-nrseqori

            AND origem   EQ itab_zycit036-origem.

    ENDLOOP.

* << Fim da inclusão

  ENDLOOP.

  IF sy-dynnr = '0200'.

    v_visualiza = 'N'.

    CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO'

      EXPORTING

        v_programa          =  v_programa

        v_visualiza         =  v_visualiza

        v_bukrs             =  wa_zycit085-bukrs

      IMPORTING

        v_resposta          =  v_resp

...

 

...

        itab_zycit036_plan  =  itab_zycit036_plan

        itab_zycit480       =  itab_zycit480.

  ENDIF.

  LOOP AT itab_zycit036a.

    itab_zycit036-vlreal = itab_zycit036a-vlreal.

    itab_zycit036-vlmov  = itab_zycit036a-vlmov.

    MODIFY itab_zycit036 TRANSPORTING vlreal vlmov

        WHERE ebeln  = itab_zycit036a-ebeln

          AND ebelp  = itab_zycit036a-ebelp

          AND nrseq  = itab_zycit036a-nrseq

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

          AND nrseqori = itab_zycit036a-nrseqori

          AND origem   = itab_zycit036a-origem

* << Fim da inclusão

          AND codigo = itab_zycit036a-codigo.

  ENDLOOP.

ENDFORM.

...

 

...

           INTO TABLE itab_zycit036

           FOR ALL ENTRIES IN itab_zycit100aux

           WHERE nrseq = itab_zycit100aux-nrseq

             AND ebeln = itab_zycit100aux-ebeln

             AND ebelp = itab_zycit100aux-ebelp

             AND origem = 'FAT'

             AND ( codigo = 'FOB' OR

                   codigo = 'CIF' OR

                   codigo = 'C&F' ).

  ENDIF.

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

  LOOP AT itab_zycit003 WHERE qtd_itend NE space.

    IF itab_zycit036a[] IS INITIAL.

* << Fim da inclusão

  itab_zycit036a[] = itab_zycit036[].

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

  LOOP AT itab_zycit003 WHERE qtd_itend NE space.

    READ TABLE itab_zycit036 WITH KEY ebeln = itab_zycit003-ebeln

                                      ebelp = itab_zycit003-ebelp

                                      nrseq = itab_zycit003-nrseq.

    IF sy-subrc EQ 0.

* << Fim da exclusão

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

    ENDIF.

    LOOP AT itab_zycit036 WHERE ebeln = itab_zycit003-ebeln

                            AND ebelp = itab_zycit003-ebelp

                            AND nrseq = itab_zycit003-nrseq.

* << Fim da inclusão

      itab_zycit036-vlreal = itab_zycit036-vlreal *

            ( itab_zycit003-qtd_itend / itab_zycit003-qtd_iten ).

      itab_zycit036-vlmov  = itab_zycit036-vlmov *

            ( itab_zycit003-qtd_itend / itab_zycit003-qtd_iten ).

      MODIFY itab_zycit036 TRANSPORTING vlreal vlmov

          WHERE ebeln = itab_zycit003-ebeln

            AND ebelp = itab_zycit003-ebelp

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

            AND nrseq = itab_zycit003-nrseq.

    ENDIF.

* << Fim da exclusão

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

            AND nrseq = itab_zycit003-nrseq

            AND nrseqori EQ itab_zycit036-nrseqori

            AND origem   EQ itab_zycit036-origem.

    ENDLOOP.

* << Fim da inclusão

  ENDLOOP.

  CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO'

    EXPORTING

      v_programa          =  v_programa

      v_visualiza         =  v_visualiza

      v_bukrs             =  /pws/zycit085-bukrs

    IMPORTING

      v_resposta          =  v_resp

    TABLES

      itab_zycit036       =  itab_zycit036

        itab_despesa        =  itab_desp_funcao

      itab_zycit003       =  itab_zycit003

      itab_zycit100       =  itab_zycit100aux.

  LOOP AT itab_zycit036a.

    itab_zycit036-vlreal = itab_zycit036a-vlreal.

    itab_zycit036-vlmov  = itab_zycit036a-vlmov.

    MODIFY itab_zycit036 TRANSPORTING vlreal vlmov

        WHERE ebeln  = itab_zycit036a-ebeln

          AND ebelp  = itab_zycit036a-ebelp

          AND nrseq  = itab_zycit036a-nrseq

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

          AND nrseqori = itab_zycit036a-nrseqori

          AND origem   = itab_zycit036a-origem

* << Fim da inclusão

          AND codigo = itab_zycit036a-codigo.

  ENDLOOP.

  LOOP AT itab_zycit049_a.

    DELETE itab_zycit049_a WHERE mandt IS initial.

  ENDLOOP.

ENDFORM.

...