CE PLUS - Nota 003638

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Custo Efetivo

Data/Hora da Publicação: 09/05/2007 00:00:00

Data/Hora Última Alteração: 28/11/2011 10:43:18

Descrição da Nota: RATEIO DO FRETE DA DI NO CUSTO EFETIVO E NA CRIAÇÃO DA NOTA FISCAL

Sintoma

Ao gerar a nota fiscal o frete está com diferença de 1 centavo.

 

 

Solução

Atualização do programa de custo efetivo para realizar o ajuste no valor do último item quando tiver

diferença de 1 centavo no valor total do frete internacional.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTES NO CUSTO EFETIVO

CUSTO EFETIVO FATURA P PARCELADA NÃO GRAVA NO CUSTO E FRETEI COLUNA DIF

SE PARAMETRIZADO NA 140 P/CUSTO VIA FATURA, SEGURO FICA INCORRETO NA NF

Informações Complementares

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

Nota Número 03638 Data: 09/05/2007 Hora: 10:07:54

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

 

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

Nota Número              : 03638

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00001

Agrupamento              : 00165

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

Referência às notas relacionadas:

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

 

02700  - 00002 - 6.0    - 00025  - CUSTO EFETIVO FATURA P PARCELADA NÃO GRAVA NO CUSTO E FRETEI COLU

03252  - 00003 - 6.0    - 00026  - SE PARAMETRIZADO NA 140 P/CUSTO VIA FATURA, SEGURO FICA INCORRETO

02677  - 00001 - 6.0    - 00025  - AJUSTES NO CUSTO EFETIVO

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

RATEIO DO FRETE DA DI NO CUSTO EFETIVO E NA CRIAÇÃO DA NOTA FISCAL

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

Palavras Chave:

RATEIO - FRETE - INTERNACIONAL - CUSTO - EFETIVO - NOTA - FISCAL

/PWS/ZYCIR006 - DIFERENÇA - CENTAVOS

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

Objetos da nota:

REPS /PWS/ZYCIR006

 

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

Modificações efetuadas em REPS /PWS/ZYCIR006

 

...

        v_vlseg    LIKE /pws/zycit085-vlseg,

        v_ukursseg LIKE /pws/zycit085-ukursseg,

        v_usd      LIKE /pws/zycie085-ukursfob,

        v_vl       LIKE /pws/zycit036-netpr VALUE '0.01',

        v_val_tot  LIKE /pws/zycit036-vlreal ,

        v_val_tot2  LIKE /pws/zycit036-vlreal ,

        v_val_tots2  LIKE /pws/zycit036-vlreal ,

        v_val_tots  LIKE /pws/zycit036-vlreal ,

        v_linf TYPE i,

        v_lins TYPE i,

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

        v_ebeln TYPE /pws/zycit003-ebeln,

        v_ebelp TYPE /pws/zycit003-ebelp,

* << Fim da inclusão

        v_tot_lins TYPE i,

        v_tot_linf TYPE i,

        v_valor_mi LIKE /pws/zycit036-vlreal,

        v_val     LIKE /pws/zycit100-vlseg  ,

        v_linha  TYPE i.

  IF itab_zycit036[] IS INITIAL .

    v_importou = 'S'.

    indx-aedat = sy-datum.

    indx-usera = sy-uname.

    IMPORT itab_zycit036_auxiliar[] FROM MEMORY ID 'I006A'.

...

 

...

  ENDLOOP.

  CLEAR: v_tot_linf, v_tot_lins, v_linf, v_lins.

  SORT itab_zycit036 BY ebeln ebelp origem codigo.

  LOOP AT itab_zycit036 WHERE codigo EQ 'FRETEI'

                          AND origem NE 'PED'.

    READ TABLE itab_zycit140 WITH KEY codigo = itab_zycit036-codigo

                                      origem = itab_zycit036-origem

                                      custo = 'X'.

    IF sy-subrc = 0.

      v_tot_linf = v_tot_linf + 1.

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

      IF itab_zycit036-origem = 'NF'.

        v_ebeln = itab_zycit036-ebeln.

        v_ebelp = itab_zycit036-ebelp.

      ENDIF.

* << Fim da inclusão

    ENDIF.

  ENDLOOP.

  LOOP AT itab_zycit036 WHERE codigo EQ 'SEGURO'

                          AND origem NE 'PED'.

    v_tot_lins = v_tot_lins + 1.

  ENDLOOP.

  DATA : BEGIN OF itab_zycit006_fat OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit006.

  DATA : END OF itab_zycit006_fat.

  IF NOT itab_zycit263[] IS INITIAL.

...

 

...

            v_valor = itab_zycit100-vlfre.

          ELSE.

            v_valor = itab_zycit036-vlreal.

          ENDIF.

          IF itab_zycit036-origem = 'NF'.

            PERFORM retorna_decimais USING itab_zycit100-waersreal

                                      CHANGING v_valor.

          ELSE.

            PERFORM retorna_decimais USING itab_zycit036-waers_real

                                        CHANGING v_valor.

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

          ENDIF.

          IF itab_zycit036-origem = 'NF'

            AND v_ebeln = itab_zycit036-ebeln

            AND v_ebelp = itab_zycit036-ebelp.

            IF itab_zycit036-origem = 'NF'.

              v_val_tot2 = /pws/zycit085-vlfre * /pws/zycit085-ukursfre.

* << Fim da inclusão

          ENDIF.

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

          v_val_tot2 = v_val_tot2 + v_valor.

          IF v_linf EQ v_tot_linf.

* << Fim da exclusão

            v_valor = v_val_tot2 - v_val_tot.

            IF itab_zycit036-origem = 'NF'.

              PERFORM retorna_decimais USING itab_zycit100-waersreal

                                        CHANGING v_valor.

            ELSE.

              PERFORM retorna_decimais USING itab_zycit036-waers_real

                                          CHANGING v_valor.

            ENDIF.

          ENDIF.

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

          IF itab_zycit036-origem = 'NF'.

* << Fim da inclusão

          v_val_tot = v_val_tot + v_valor.

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

          ENDIF.

* << Fim da inclusão

          IF v_itemcongela NE 'X'.

            IF NOT /pws/zycit085-ukursfre IS INITIAL.

              IF itab_zycit036-origem = 'NF'.

                itab_zycit036-vlmov     = v_valor .

              ELSE.

                IF  itab_zycit036-waers_real NE /pws/zycbt007-waersb.

...