CE PLUS - Nota 007674

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Transmissão Siscomex

Data/Hora da Publicação: 28/11/2008 00:00:00

Data/Hora Última Alteração: 22/02/2011 16:40:05

Descrição da Nota: ERRO DE SOMA DE PESO AO TRANSMITIR DI

Sintoma

Erro de soma de peso ao transmitir DI

 

 

Solução

Fazer o rateio de peso utilizando a mesma quantidade de casas decimais.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTADO RATEIO DO VALOR NA FATURA E A ATUALIZAÇÃO DO CUSTO EFETIVO

Informações Complementares

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

Nota Número 07674 Data: 28/11/2008 Hora: 17:15:58

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

 

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

Nota Número              : 07674

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00007

Agrupamento              : 00075

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

Referência às notas relacionadas:

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

 

05027  - 00001 - 7.0    - 00003  - AJUSTADO RATEIO DO VALOR NA FATURA E A ATUALIZAÇÃO DO CUSTO EFETI

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

ERRO DE SOMA DE PESO AO TRANSMITIR DI

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

Palavras Chave:

DIFERENÇA DE CASAS DECIMAIS - PESO - DI - TRANSMISSÃO

 

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

Objetos da nota:

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI003X01

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

 

      LOOP AT itab_zycit263 WHERE ebeln = itab_zycit003-ebeln

                              AND ebelp = itab_zycit003-ebelp

                              AND eliminado EQ space.

        v_tot_ntgew = itab_zycit263-ntgew + v_tot_ntgew.

        v_tot_qtd = itab_zycit263-qtd_iten + v_tot_qtd.

      ENDLOOP.

      IF NOT v_tot_ntgew IS INITIAL AND

         NOT v_tot_qtd IS INITIAL.

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

        itab_zycit003-ntgew = v_tot_ntgew / v_tot_qtd *

* << Fim da exclusão

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

        v_casas = v_tot_ntgew / v_tot_qtd *

* << Fim da inclusão

                itab_zycit003-toinv.

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

        itab_zycit003-ntgew = v_casas.

* << Fim da inclusão

        MODIFY itab_zycit003 INDEX v_tabix TRANSPORTING ntgew.

      ELSE.

        IF NOT itab_zycit003[] IS INITIAL.

          READ TABLE itab_zycit003 INDEX 1.

          SELECT nrseq ebeln ebelp ntgew qtd_iten

            FROM /pws/zycit003 INTO TABLE itab_peso

...

 

...

          READ TABLE itab_peso WITH KEY

                  nrseq = itab_zycit003-nrseq

                  ebeln = itab_zycit003-ebeln

                  ebelp = itab_zycit003-ebelp.

          READ TABLE itab_zycit263 WITH KEY

                  nrseq = itab_zycit003-nrseq

                  ebeln = itab_zycit003-ebeln

                  ebelp = itab_zycit003-ebelp

                  eliminado = ' '.

          IF sy-subrc NE 0.

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

            itab_zycit003-ntgew = itab_peso-ntgew /

* << Fim da exclusão

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

            v_casas = itab_peso-ntgew /

* << Fim da inclusão

              itab_peso-qtd_iten * itab_zycit003-toinv.

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

            itab_zycit003-ntgew = v_casas.

* << Fim da inclusão

          ENDIF.

          MODIFY itab_zycit003.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ENDLOOP.

...

 

...

 

      LOOP AT itab_zycit003.

        IF sy-tabix = v_line.

          itab_zycit003-ntgew = /pws/zycie006-ntgew -  v_tot_ntgew.

          IF itab_zycit003-ntgew < 0.

            MESSAGE e015 WITH text-165 text-166.

          ENDIF.

        ELSE.

          IF NOT v_tot_real IS INITIAL.

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

            itab_zycit003-ntgew = /pws/zycie006-ntgew * (

* << Fim da exclusão

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

            v_casas = /pws/zycie006-ntgew * (

* << Fim da inclusão

                  ( itab_zycit003-vlreal * itab_zycit003-toinv ) /

                                                    v_tot_real ).

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

            itab_zycit003-ntgew = v_casas.

* << Fim da inclusão

          ENDIF.

          v_tot_ntgew = v_tot_ntgew + itab_zycit003-ntgew.

        ENDIF.

        MODIFY itab_zycit003.

      ENDLOOP.

...

 

...

       NOT /pws/zycie006-ntgew IS INITIAL.

      CLEAR: v_tot_ntgew,  v_tot_qtd.

      LOOP AT itab_zycit263 WHERE ebeln = itab_zycit003-ebeln

                              AND ebelp = itab_zycit003-ebelp

                              AND eliminado EQ space.

        v_tot_ntgew = itab_zycit263-ntgew + v_tot_ntgew.

        v_tot_qtd = itab_zycit263-qtd_iten + v_tot_qtd.

      ENDLOOP.

      IF NOT v_tot_ntgew IS INITIAL AND

         NOT v_tot_qtd IS INITIAL.

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

        itab_zycit003-ntgew = v_tot_ntgew / v_tot_qtd *

* << Fim da exclusão

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

        v_casas = v_tot_ntgew / v_tot_qtd *

* << Fim da inclusão

                itab_zycit003-toinv.

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

        itab_zycit003-ntgew = v_casas.

* << Fim da inclusão

        MODIFY itab_zycit003 INDEX v_tabix TRANSPORTING ntgew.

      ELSE.

        IF NOT itab_zycit003[] IS INITIAL.

          READ TABLE itab_zycit003 INDEX 1.

          SELECT nrseq ebeln ebelp ntgew qtd_iten

            FROM /pws/zycit003 INTO TABLE itab_peso

            WHERE nrseq = itab_zycit003-nrseq.

        ENDIF.

        LOOP AT itab_zycit003.

          READ TABLE itab_peso WITH KEY

                  nrseq = itab_zycit003-nrseq

                  ebeln = itab_zycit003-ebeln

                  ebelp = itab_zycit003-ebelp.

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

          itab_zycit003-ntgew = itab_peso-ntgew /

* << Fim da exclusão

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

          v_casas  = itab_peso-ntgew /

* << Fim da inclusão

               itab_peso-qtd_iten * itab_zycit003-toinv.

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

          itab_zycit003-ntgew = v_casas.

* << Fim da inclusão

          MODIFY itab_zycit003.

        ENDLOOP.

      ENDIF.

    ENDIF.

 

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003X01

 

...

 

 

* >> Início da inclusão:

DATA: v_fabr TYPE c.

DATA: v_casas TYPE /pws/zycit245-qtd_tot.

* << Fim da inclusão

DATA: END OF COMMON PART.