CE PLUS - Nota 013263

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Frete Internacional

Data/Hora da Publicação: 20/09/2013 15:41:51

Data/Hora Última Alteração: 20/09/2013 15:41:51

Descrição da Nota: AJUSTADA FATURA DE FRETE PARA PERMITIR RATEIO POR VALOR

Sintoma

Ajuste para permitir o rateio da fatura de frete por valor realizado para processos America Latina.

 

 

Solução

Ajuste para permitir o rateio da fatura de frete por valor realizado para processos America Latina.

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

QUEBRA DE RATEIO POR ADIÇÕES USANDO QUANTIDADE PARCIAL DOS ITENS

Informações Complementares

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

Nota Número 13263 Data: 20/09/2013 Hora: 15:09:49

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

 

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

Nota Número              : 13263

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 9.0

Pacote                   : 00006

Agrupamento              : 00164

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

Referência às notas relacionadas:

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

 

12695  - 00001 - 9.0    - 00002 - QUEBRA DE RATEIO POR ADIÇÕES USANDO QUANTIDADE PARCIAL DOS ITENS

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

Texto Rápido:

AJUSTADA FATURA DE FRETE PARA PERMITIR RATEIO POR VALOR

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

Palavras Chave:

FATURA - FRETE - RATEIO - VALOR - AMERICA - LATINA

/PWS/SAPMZYCI003

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

Objetos da nota:

FUNC /PWS/ZYCI_RATEIO_CUSTO

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_RATEIO_CUSTO

 

FUNCTION /pws/zyci_rateio_custo.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

  DATA wa_zycit477 TYPE /pws/zycit477.

* << Fim da inclusão

...

 

...

           FOR ALL ENTRIES IN itab_zycit003

           WHERE ebeln EQ itab_zycit003-ebeln

             AND ebelp EQ itab_zycit003-ebelp.

  ENDIF.

  READ TABLE itab_zycit003 INDEX 1.

  SELECT SINGLE * FROM /pws/zycit001

    WHERE nrseq = itab_zycit003-nrseq.

  SELECT SINGLE land1 FROM t001

       INTO t001-land1

     WHERE bukrs EQ v_bukrs.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

  CLEAR wa_zycit477.

  SELECT SINGLE * FROM /pws/zycit477

    INTO wa_zycit477

       WHERE land EQ t001-land1.

* << Fim da inclusão

  SELECT SINGLE * FROM /pws/zycit031

    WHERE inco1 = /pws/zycit001-inco1 AND

          land1 EQ t001-land1.                          "#EC CI_NOFIRST

  SELECT SINGLE * FROM /pws/zycit000

           WHERE land1 EQ t001-land1.

  SELECT SINGLE * FROM /pws/zycbt007

                  WHERE bukrs EQ v_bukrs.

  SELECT * FROM /pws/zycit039

         INTO TABLE itab_zycit039

         WHERE codmod EQ 'D' AND

...

 

...

    ELSEIF v_programa  EQ 'FAT'.

      DESCRIBE TABLE itab_zycit003 LINES v_linha.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

      CLEAR itab_zycit039.

      IF NOT wa_zycit477 IS INITIAL.

        SELECT SINGLE * FROM /pws/zycit039 INTO itab_zycit039

            WHERE codigo EQ 'FRETEI'

          AND land1 EQ t001-land1.                      "#EC CI_NOFIRST

      ENDIF.

* << Fim da inclusão

      LOOP AT itab_zycit003.

        v_index = sy-tabix.

        MOVE: itab_zycit003-nrseq    TO itab_zycit036-nrseq,

              itab_zycit003-ebeln    TO itab_zycit036-ebeln,

              itab_zycit003-ebelp    TO itab_zycit036-ebelp,

              /pws/zycit001-embarca  TO itab_zycit036-embarca,

              itab_zycit003-waers    TO itab_zycit036-waers,

              v_programa             TO itab_zycit036-origem,

              v_nrseqori             TO itab_zycit036-nrseqori,

              /pws/zycit001-bukrs    TO itab_zycit036-bukrs,

...

 

...

                itab_zycit036-waers_real = t_zycit049-waers.

                APPEND itab_zycit036.

                v_tot_desp =

                v_tot_desp + itab_zycit036-vlreal.

                CLEAR: t_itens, t_zycit049.

                REFRESH: t_itens, t_zycit049.

                CONTINUE.

              ENDIF.

            ENDIF.

            MOVE: 'FRETEI'     TO itab_zycit036-codigo.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

            IF /pws/zycit000-land1 NE 'PE'.

              IF itab_zycit039-divabs EQ 'X'.

                itab_zycit036-vlreal = v_total /

                                              v_linha.

              ELSEIF itab_zycit039-vlreal EQ 'X'.

                IF NOT v_tot_vlreal IS INITIAL.

                  itab_zycit036-vlreal = ( itab_zycit003-vlreal *

                        itab_zycit003-qtd_iten / v_tot_vlreal ) *

                                                         v_total.

                ENDIF.

              ELSEIF itab_zycit039-proporplan EQ 'X'.

                itab_zycit036-vlreal = ( itab_zycit003-netpr *

                                itab_zycit003-qtd_iten / v_tot ) *

                                                v_total.

              ELSE.

* << Fim da inclusão

            IF NOT v_tpeso IS INITIAL.

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

              IF /pws/zycit000-land1 NE 'PE'.

* << Fim da exclusão

                IF NOT itab_zycit003-qtd_itend IS INITIAL.

                  itab_zycit036-vlreal = v_total *

                  ( itab_zycit003-ntgewd / v_tpeso ).

                ELSE.

                  itab_zycit036-vlreal = v_total *

                  ( itab_zycit003-ntgew / v_tpeso ).

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

                  ENDIF.

* << Fim da inclusão

                ENDIF.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

              ENDIF.

* << Fim da inclusão

              ELSE.

                itab_zycit036-vlreal = v_total *

                ( itab_zycit003-brgew / v_tbrgew ).

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO

              ENDIF.

* << Fim da exclusão

            ENDIF.

            IF v_waers IS INITIAL.

              itab_zycit036-waers_real = /pws/zycbt007-waersb.

            ELSE.

              itab_zycit036-waers_real = v_waers.

            ENDIF.

          ENDIF.

        ELSEIF v_parametro(2) EQ '03'.

          IF v_linha = v_index.

            IF NOT v_tot_desp IS INITIAL.

...