CE PLUS - Nota 002065

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Custo Efetivo

Data/Hora da Publicação: 08/09/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 13:34:34

Descrição da Nota: ERRO AO LEVAR FATURA DE FRETE PARA O CUSTO.

Sintoma

Embarque FOB, quando lanço a fatura de frete internacional (Tipo 02) e a fatura de seguro  (Tipo 3)

o valor está indo para o custo efetivo apenas para a coluna "Realizado", mas não está preenchendo a

coluna "Movimentado". A despesa está parametrizada para ir para custo atráves da fatura.

 

 

Solução

Ajustado para tratar ano contábil antes da seleção do documento contábil.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

PERFORMANCE NA TRANSAÇÃO /PWS/ZYCIR006 (ATUALIZAÇÃO DO CUSTO EFETIVO).

AO ENTRAR NO CUSTO E CONVERTER PARA MOEDA INTERNA SÓ MUDA A MOEDA

ERRO NO CUSTO EFETIVO E FATURA DO TIPO P

Informações Complementares

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

Nota Número 02065 Data: 08/09/2006 Hora: 09:22:09

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

 

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

Nota Número              : 02065

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00024

Agrupamento              : 00129

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

Referência às notas relacionadas:

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

 

01137  - 00003 - 6.0    - 00023  - PERFORMANCE NA TRANSAÇÃO /PWS/ZYCIR006 (ATUALIZAÇÃO DO CUSTO EFET

01601  - 00001 - 6.0    - 00023  - AO ENTRAR NO CUSTO E CONVERTER PARA MOEDA INTERNA SÓ MUDA A MOEDA

01986  - 00002 - 6.0    - 00024  - ERRO NO CUSTO EFETIVO E FATURA DO TIPO P

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

ERRO AO LEVAR FATURA DE FRETE PARA O CUSTO.

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

Palavras Chave:

FATURA DE FRETE E SEGURO - CUSTO EFETIVO - COLUNA REALIZADO

COLUNA MOVIMENTADO - ANO FISCAL - BKPF - DOCUMENTO CONTÁBIL

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

Objetos da nota:

REPS /PWS/MZYCI010F01

REPS /PWS/ZYCIR006

 

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

Modificações efetuadas em REPS /PWS/MZYCI010F01

 

...

 

   IF /pws/zycit085 IS INITIAL.

     SELECT SINGLE nrseqda FROM /pws/zycit003 INTO v_nrseqda

       WHERE nrseq = itab_zycit036-nrseq.

     IF sy-subrc EQ 0.

       SELECT SINGLE * FROM /pws/zycit442

      WHERE nrseqda EQ v_nrseqda. "/pws/zycit003-nrseqda.

       IF sy-subrc EQ 0.

         MOVE /pws/zycit442 TO /pws/zycit085.

       ENDIF.

     ENDIF.

   ENDIF.

 

 

   SELECT * FROM /pws/zycit006

     INTO TABLE itab_zycit006

     FOR ALL ENTRIES IN itab_zycit036

     WHERE nrseq EQ itab_zycit036-nrseqori.

 

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

   IF NOT itab_zycit006[] IS INITIAL

       AND it_bkpf_aux[] IS INITIAL.

       DATA: BEGIN OF itab_zycit006_year OCCURS 0.

               INCLUDE STRUCTURE /pws/zycit006.

       DATA: END OF itab_zycit006_year.

       DATA: v_tabix LIKE sy-tabix,

 

             v_year  LIKE t009b-bdatj.

 

       MOVE itab_zycit006[] TO itab_zycit006_year[].

 

       LOOP AT itab_zycit006_year.

         v_tabix = sy-tabix.

* Para fatura Free Of Charge nao procurar o ano contabil.

         IF itab_zycit006_year-frpagto NE 'A'.

           IF NOT itab_zycit006_year-dt_belnrp IS INITIAL AND

              NOT itab_zycit006_year-bukrs IS INITIAL.

 

             CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

                  EXPORTING

                       v_bukrs = itab_zycit006_year-bukrs

                       v_date  = itab_zycit006_year-dt_belnrp

                  IMPORTING

                       v_year  = v_year.

 

             itab_zycit006_year-dt_belnrp+0(4) = v_year.

 

             MODIFY itab_zycit006_year INDEX v_tabix.

           ENDIF.

         ENDIF.

       ENDLOOP.

       itab_zycit006[] = itab_zycit006_year[].

* << Fim da inclusão

 

       SELECT * FROM bkpf

         INTO TABLE it_bkpf_aux

         FOR ALL ENTRIES IN itab_zycit006

         WHERE bukrs EQ itab_zycit006-bukrs

           AND belnr EQ itab_zycit006-belnr_p

           AND gjahr EQ itab_zycit006-dt_belnrp(04).

     ENDIF.

    PERFORM altera_moeda.

 

  ENDFORM.                    " CHANGE_WAERS

 

...

 

 

   READ TABLE itab_zycit036_aux INDEX 1.

   SELECT SINGLE * FROM /pws/zycit100

     WHERE nrseq = itab_zycit036_aux-nrseq.

   SELECT * FROM /pws/zycit085 INTO TABLE itab_zycit085

     WHERE nrseqdi = /pws/zycit100-nrseqdi.

 *  if sy-subrc ne 0.

 *    message e120.

 *  endif.

   PERFORM exit_movimentado TABLES itab_zycit036_aux2

                            CHANGING v_rub.

   SELECT SINGLE * FROM /pws/zycbt007 INTO wa_zycbt007

                   WHERE bukrs EQ /pws/zycit001-bukrs.

 

   IF NOT itab_zycit003[] IS INITIAL.

     SELECT * FROM /pws/zycit006

       INTO TABLE it_zycit006_aux2

       FOR ALL ENTRIES IN itab_zycit036_aux2

       WHERE nrseq = itab_zycit036_aux2-nrseqori

         AND eliminado EQ space.

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

 

  ENDIF.

  IF NOT it_zycit006_aux2[] IS INITIAL

      and it_bkpf_aux[] is initial.

      data: begin of itab_zycit006_year occurs 0.

              include structure /pws/zycit006.

      data: end of itab_zycit006_year.

      data: v_tabix like sy-tabix,

            v_year  like t009b-bdatj.

 

      move it_zycit006_aux2[] to itab_zycit006_year[].

 

      loop at itab_zycit006_year.

        v_tabix = sy-tabix.

* Para fatura Free Of Charge nao procurar o ano contabil.

        if itab_zycit006_year-frpagto ne 'A'.

          if not itab_zycit006_year-dt_belnrp is initial and

             not itab_zycit006_year-bukrs is initial.

 

            call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

                 exporting

                      v_bukrs = itab_zycit006_year-bukrs

                      v_date  = itab_zycit006_year-dt_belnrp

                 importing

                      v_year  = v_year.

 

            itab_zycit006_year-dt_belnrp+0(4) = v_year.

 

            modify itab_zycit006_year index v_tabix.

          endif.

        endif.

      endloop.

      it_zycit006_aux2[] = itab_zycit006_year[].

 

* << Fim da inclusão

     SELECT *

       FROM bkpf

       INTO TABLE it_bkpf

       FOR ALL ENTRIES IN it_zycit006_aux2

       WHERE bukrs EQ it_zycit006_aux2-bukrs

         AND belnr EQ it_zycit006_aux2-belnr_p

         AND gjahr EQ it_zycit006_aux2-dt_belnrp(04).

   ENDIF.

 

 

   LOOP AT itab_zycit036_aux2.

     PERFORM move_plan_mov_aux.

   ENDLOOP.

 

 

   SORT itab_zycit036_aux2 BY nrseq ebeln ebelp codigo origem.

 ENDFORM.                    " cod_duplicados

 

...

 

 

 

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

Modificações efetuadas em REPS /PWS/ZYCIR006

 

...

  IF NOT itab_zycit036[] IS INITIAL.

 

    SELECT * FROM tcurc INTO TABLE itab_tcurc

       FOR ALL ENTRIES IN itab_zycit036

       WHERE waers EQ itab_zycit036-waers_real.

 

    SELECT * FROM tcurc APPENDING TABLE itab_tcurc

       WHERE waers = /pws/zycit085-waersfob.

 

    SELECT * FROM /pws/zycit174 INTO TABLE itab_zycit174

    WHERE vigen_inicio <= /pws/zycit085-dttax AND

          vigen_fim    >= /pws/zycit085-dttax AND

          land1       = t001-land1.

 

    IF itab_zycit003[] IS INITIAL.

      SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003

        FOR ALL ENTRIES IN itab_zycit036

        WHERE nrseq = itab_zycit036-nrseq

          AND ebeln = itab_zycit036-ebeln

          AND ebelp = itab_zycit036-ebelp.

    ENDIF.

 

    IF itab_zycit263[] IS INITIAL.

      SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263

         FOR ALL ENTRIES IN itab_zycit036

         WHERE nrseq = itab_zycit036-nrseq

           AND ebeln = itab_zycit036-ebeln

           AND ebelp = itab_zycit036-ebelp

           AND eliminado NE 'X'.

    ENDIF.

 

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

    IF itab_zycit006[] IS INITIAL.

* << Fim da exclusão

 

      SELECT *

        FROM /pws/zycit006

        INTO TABLE itab_zycit006

        FOR ALL ENTRIES IN itab_zycit036

        WHERE nrseq = itab_zycit036-nrseqori

          AND eliminado EQ space.

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

    ENDIF.

* << Fim da exclusão

  ENDIF.

  IF NOT itab_zycit006[] IS INITIAL.

    DATA: BEGIN OF itab_zycit006_year OCCURS 0.

            INCLUDE STRUCTURE /pws/zycit006.

    DATA: END OF itab_zycit006_year.

...

 

...

          MODIFY itab_zycit006_year INDEX v_tabix.

        ENDIF.

      ENDIF.

    ENDLOOP.

    IF NOT itab_zycit006[] IS INITIAL.

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

      itab_zycit006[] = itab_zycit006_year[].

* << Fim da inclusão

      SELECT *

        FROM bkpf

        INTO TABLE itab_bkpf

        FOR ALL ENTRIES IN itab_zycit006

        WHERE bukrs EQ itab_zycit006-bukrs

          AND belnr EQ itab_zycit006-belnr_p

          AND gjahr EQ itab_zycit006-dt_belnrp(04).

    ENDIF.

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

    itab_zycit006[] = itab_zycit006_year[].

* << Fim da exclusão

  ENDIF.

  IF /pws/zycit085-mdadicao EQ 'N'.

    LOOP AT itab_zycit036 WHERE origem EQ 'NF'.

      v_index = sy-tabix.

      IF itab_zycit036-codigo EQ 'FOB' OR

...