CE PLUS - Nota 009965

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 16/03/2010 00:00:00

Data/Hora Última Alteração: 09/09/2011 17:13:37

Descrição da Nota: VALOR DAS DESPESAS NA NOTA ESTA DIFERENTE DAS MENSAGENS E DI.

Sintoma

O valor da despesa na nota fiscal está diferente do informado na DI e o lançado nas mensagens da

nota fiscal.

 

 

Solução

Ajustada conversão do seguro no rateio das despesas.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

NECESSÁRIO UMA EXIT DE TELA NO PROGRAMA DE NF

CORREÇÃO DE RATEIO DAS DESPESAS POR VALOR CIF

Informações Complementares

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

Nota Número 09965 Data: 16/03/2010 Hora: 17:06:35

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

 

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

Nota Número              : 09965

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00003

Agrupamento              : 00012

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

Referência às notas relacionadas:

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

 

08633  - 00001 - 7.0    - 00010  - NECESSÁRIO UMA EXIT DE TELA NO PROGRAMA DE NF

09821  - 00002 - 8.0    - 00002  - CORREÇÃO DE RATEIO DAS DESPESAS POR VALOR CIF

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

VALOR DAS DESPESAS NA NOTA ESTA DIFERENTE DAS MENSAGENS E DI.

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

Palavras Chave:

VALOR - DESPESAS - RATEIO - SEGURO - JPY - CASAS - DECIMAIS

/PWS/SAPMZYCI016

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

Objetos da nota:

REPS /PWS/MZYCI016F01

REPS /PWS/MZYCI016F02

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

FORM seleciona_despesas.

...

 

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

   v_vlfre LIKE /pws/zycit085-vlfre,

* << Fim da exclusão

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

   v_vlfre LIKE /pws/zycit100-vlfre,

* << Fim da inclusão

...

 

...

                itab_zycit020-baseicms EQ 'X'.

                READ TABLE itab_zycit100 WITH KEY

                           nrseq = itab_zycit042_d-nrseq

                           ebeln = itab_zycit042_d-ebeln

                           ebelp = itab_zycit042_d-ebelp.

                IF sy-subrc EQ 0.

                  v_vlfre = /pws/zycit085-vlfre.

                  v_vlseg = /pws/zycit085-vlseg.

                  IF /pws/zycit085-waersfre

                     NE /pws/zycit085-waersfob .

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

                    PERFORM trata_decimais

                              USING /pws/zycit085-waersfre

                           CHANGING v_vlfre.

* << Fim da inclusão

                   PERFORM calc_conv_moeda USING /pws/zycit085-waersfre

                                                 /pws/zycit085-waersfob

                                                      CHANGING v_vlfre .

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

                    PERFORM retorna_decimais

                              USING /pws/zycit085-waersfob

                           CHANGING v_vlfre.

* << Fim da inclusão

                  ENDIF.

                  PERFORM taxa_converte USING  /pws/zycit085-waersfob

                                               /pws/zycit085-dttax

                                     CHANGING  v_taxa_desp.

                  IF NOT v_taxa_desp IS INITIAL.

                itab_zycit100-vlfre = itab_zycit100-vlfre / v_taxa_desp.

                    itab_zycit100-vlseg = itab_zycit100-vlseg /

                                 /pws/zycit085-ukursseg.

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

                    PERFORM retorna_decimais:

                                USING /pws/zycit085-waersseg

                             CHANGING itab_zycit100-vlseg,

                                USING /pws/zycit085-waersfob

                             CHANGING itab_zycit100-vlfre.

* << Fim da inclusão

                  ENDIF.

                  v_vldp = itab_zycit049_a-vlreal *

                  ( ( itab_zycit100-vlfob +

                  itab_zycit100-vlfre + itab_zycit100-vlseg )

                   / ( /pws/zycit085-vlfob  + v_vlfre +

                       /pws/zycit085-vlseg ) ).

                ENDIF.

              ELSE.

                v_vldp = itab_zycit049_a-vldp *

                        ( itab_zycit003-vlreal *

...

 

...

                    itab_zycit020-baseicms EQ 'X'.

                    READ TABLE itab_zycit100 WITH KEY

                               nrseq = itab_zycit042-nrseq

                               ebeln = itab_zycit042-ebeln

                               ebelp = itab_zycit042-ebelp.

                    IF sy-subrc EQ 0.

                      v_vlfre = /pws/zycit085-vlfre.

                      v_vlseg = /pws/zycit085-vlseg.

                      IF /pws/zycit085-waersfre

                         NE /pws/zycit085-waersfob .

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

                        PERFORM trata_decimais

                                  USING /pws/zycit085-waersfre

                               CHANGING v_vlfre.

* << Fim da inclusão

                   PERFORM calc_conv_moeda USING /pws/zycit085-waersfre

                                                 /pws/zycit085-waersfob

                                                      CHANGING v_vlfre .

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

                        PERFORM retorna_decimais

                                    USING /pws/zycit085-waersfob

                                 CHANGING v_vlfre.

* << Fim da inclusão

                      ENDIF.

                    PERFORM taxa_converte USING  /pws/zycit085-waersfob

                                                    /pws/zycit085-dttax

                                                  CHANGING  v_taxa_desp.

                      IF NOT v_taxa_desp IS INITIAL.

                itab_zycit100-vlfre = itab_zycit100-vlfre / v_taxa_desp.

                        itab_zycit100-vlseg = itab_zycit100-vlseg /

                              /pws/zycit085-ukursseg.

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

                        PERFORM: retorna_decimais

                                    USING /pws/zycit085-waersseg

                                 CHANGING itab_zycit100-vlseg,

                                 retorna_decimais

                                    USING /pws/zycit085-waersfob

                                 CHANGING itab_zycit100-vlfre.

* << Fim da inclusão

                      ENDIF.

                      v_vldp = itab_zycit049-vlreal *

                      ( ( itab_zycit100-vlfob +

                      itab_zycit100-vlfre + itab_zycit100-vlseg )

                     / ( /pws/zycit085-vlfob  + v_vlfre +

                           /pws/zycit085-vlseg ) ).

                    ENDIF.

                  ELSE.

                    v_vldp = itab_zycit049-vldp *

                        ( itab_zycit003-vlreal *

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F02

 

...

* >> Início da inclusão:

FORM retorna_decimais USING  p_moeda

                    CHANGING p_valor.

  SELECT SINGLE * FROM tcurx WHERE currkey = p_moeda.

  IF sy-subrc <> 0.

    tcurx-currdec = 2.

  ENDIF.

  p_valor = p_valor * ( 10 ** ( tcurx-currdec - 2 ) ).

ENDFORM.

* << Fim da inclusão