Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 11/03/2011 00:00:00
Data/Hora Última Alteração: 22/03/2011 11:12:48
Descrição da Nota: VALOR CIF COM ORIGEM NA NOTA FISCAL ESTÁ ERRADO NO CUSTO EFETIVO
Sintoma
O valor CIF lançado no custo ao Gerar a nota fiscal está errado.
Solução
Ajusta atualização da tabela interna de custos para utilizar a chave completa ao modificar um
registro.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 11017 Data: 11/03/2011 Hora: 14:29:10
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 11017
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00006
Agrupamento : 00062
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
10788 - 00001 - 8.0 - 00005 - VALOR DA MERCADORIA ESTÁ SENDO EXIBIDO INCORRETO NO RATEIO
----------------------------------------------------------------------------------------------------
VALOR CIF COM ORIGEM NA NOTA FISCAL ESTÁ ERRADO NO CUSTO EFETIVO
----------------------------------------------------------------------------------------------------
Palavras Chave:
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
FORM visualiza_rateio.
DATA: itab_zycit036a TYPE /pws/zycit036 OCCURS 0 WITH HEADER LINE.
DATA: v_programa LIKE /pws/zycit036-origem VALUE 'NF'.
* >> Início da inclusão: FORM VISUALIZA_RATEIO
LOOP AT itab_zycit003 WHERE qtd_itend NE space.
IF itab_zycit036a[] IS INITIAL.
* << Fim da inclusão
itab_zycit036a[] = itab_zycit036[].
* >> Início da exclusão: FORM VISUALIZA_RATEIO
LOOP AT itab_zycit003 WHERE qtd_itend NE space.
READ TABLE itab_zycit036 WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
nrseq = itab_zycit003-nrseq.
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: FORM VISUALIZA_RATEIO
ENDIF.
LOOP AT itab_zycit036 WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp
AND nrseq = itab_zycit003-nrseq.
* << Fim da inclusão
itab_zycit036-vlreal = itab_zycit036-vlreal *
( itab_zycit003-qtd_itend / itab_zycit003-qtd_iten ).
itab_zycit036-vlmov = itab_zycit036-vlmov *
( itab_zycit003-qtd_itend / itab_zycit003-qtd_iten ).
MODIFY itab_zycit036 TRANSPORTING vlreal vlmov
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp
* >> Início da exclusão: FORM VISUALIZA_RATEIO
AND nrseq = itab_zycit003-nrseq.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM VISUALIZA_RATEIO
AND nrseq = itab_zycit003-nrseq
AND nrseqori EQ itab_zycit036-nrseqori
AND origem EQ itab_zycit036-origem.
ENDLOOP.
* << Fim da inclusão
ENDLOOP.
IF sy-dynnr = '0200'.
v_visualiza = 'N'.
CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO'
EXPORTING
v_programa = v_programa
v_visualiza = v_visualiza
v_bukrs = wa_zycit085-bukrs
IMPORTING
v_resposta = v_resp
...
...
itab_zycit036_plan = itab_zycit036_plan
itab_zycit480 = itab_zycit480.
ENDIF.
LOOP AT itab_zycit036a.
itab_zycit036-vlreal = itab_zycit036a-vlreal.
itab_zycit036-vlmov = itab_zycit036a-vlmov.
MODIFY itab_zycit036 TRANSPORTING vlreal vlmov
WHERE ebeln = itab_zycit036a-ebeln
AND ebelp = itab_zycit036a-ebelp
AND nrseq = itab_zycit036a-nrseq
* >> Início da inclusão: FORM VISUALIZA_RATEIO
AND nrseqori = itab_zycit036a-nrseqori
AND origem = itab_zycit036a-origem
* << Fim da inclusão
AND codigo = itab_zycit036a-codigo.
ENDLOOP.
ENDFORM.
...
...
INTO TABLE itab_zycit036
FOR ALL ENTRIES IN itab_zycit100aux
WHERE nrseq = itab_zycit100aux-nrseq
AND ebeln = itab_zycit100aux-ebeln
AND ebelp = itab_zycit100aux-ebelp
AND origem = 'FAT'
AND ( codigo = 'FOB' OR
codigo = 'CIF' OR
codigo = 'C&F' ).
ENDIF.
* >> Início da inclusão: FORM VER_RATEIO
LOOP AT itab_zycit003 WHERE qtd_itend NE space.
IF itab_zycit036a[] IS INITIAL.
* << Fim da inclusão
itab_zycit036a[] = itab_zycit036[].
* >> Início da exclusão: FORM VER_RATEIO
LOOP AT itab_zycit003 WHERE qtd_itend NE space.
READ TABLE itab_zycit036 WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
nrseq = itab_zycit003-nrseq.
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: FORM VER_RATEIO
ENDIF.
LOOP AT itab_zycit036 WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp
AND nrseq = itab_zycit003-nrseq.
* << Fim da inclusão
itab_zycit036-vlreal = itab_zycit036-vlreal *
( itab_zycit003-qtd_itend / itab_zycit003-qtd_iten ).
itab_zycit036-vlmov = itab_zycit036-vlmov *
( itab_zycit003-qtd_itend / itab_zycit003-qtd_iten ).
MODIFY itab_zycit036 TRANSPORTING vlreal vlmov
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp
* >> Início da exclusão: FORM VER_RATEIO
AND nrseq = itab_zycit003-nrseq.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM VER_RATEIO
AND nrseq = itab_zycit003-nrseq
AND nrseqori EQ itab_zycit036-nrseqori
AND origem EQ itab_zycit036-origem.
ENDLOOP.
* << Fim da inclusão
ENDLOOP.
CALL FUNCTION '/PWS/ZYCI_RATEIO_CUSTO'
EXPORTING
v_programa = v_programa
v_visualiza = v_visualiza
v_bukrs = /pws/zycit085-bukrs
IMPORTING
v_resposta = v_resp
TABLES
itab_zycit036 = itab_zycit036
itab_despesa = itab_desp_funcao
itab_zycit003 = itab_zycit003
itab_zycit100 = itab_zycit100aux.
LOOP AT itab_zycit036a.
itab_zycit036-vlreal = itab_zycit036a-vlreal.
itab_zycit036-vlmov = itab_zycit036a-vlmov.
MODIFY itab_zycit036 TRANSPORTING vlreal vlmov
WHERE ebeln = itab_zycit036a-ebeln
AND ebelp = itab_zycit036a-ebelp
AND nrseq = itab_zycit036a-nrseq
* >> Início da inclusão: FORM VER_RATEIO
AND nrseqori = itab_zycit036a-nrseqori
AND origem = itab_zycit036a-origem
* << Fim da inclusão
AND codigo = itab_zycit036a-codigo.
ENDLOOP.
LOOP AT itab_zycit049_a.
DELETE itab_zycit049_a WHERE mandt IS initial.
ENDLOOP.
ENDFORM.
...