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