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.
9.0
Produto:
Nota
Descrição
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.
...