Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 30/07/2009 00:00:00
Data/Hora Última Alteração: 22/02/2011 16:20:00
Descrição da Nota: AO SALVAR FATURA E NAVEGAR PELOS ITENS, DÁ ERRO NO VALOR DA FATURA.
Sintoma
Ao salvar fatura e navegar pelos itens, dá erro no valor da fatura.
Solução
Não ordenar itens ao salvar fatura.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08765 Data: 30/07/2009 Hora: 16:09:45
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08765
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00010
Agrupamento : 00108
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02714 - 00001 - 6.0 - 00026 - MENSAGEM COM PAGAMENTO ANTECIPADO
04989 - 00002 - 7.0 - 00003 - AJUSTADO RATEIO DO PESO LIQUIDO PELO VALOR REALIZADO
08717 - 00003 - 7.0 - 00010 - TRATAMENTO PARA QUEBRAR ADIÇÃO DA DI POR INCOTERMS DIFERENTE.
----------------------------------------------------------------------------------------------------
AO SALVAR FATURA E NAVEGAR PELOS ITENS, DÁ ERRO NO VALOR DA FATURA.
----------------------------------------------------------------------------------------------------
Palavras Chave:
FATURA - ITENS - ERRO - NAVEGAÇÃO - VALOR DA FATURA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F01
REPS /PWS/MZYCI003F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
...
FORM verifica_pag_antecipado.
DATA: v_ebeln TYPE ekpo-ebeln.
IF NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycbt117
INTO TABLE itab_zycbt117
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND slpgant > 0
AND status NE 'E'. "#EC CI_NOFIELD
* >> Início da exclusão: FORM VERIFICA_PAG_ANTECIPADO
SORT itab_zycit003 BY ebeln.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PAG_ANTECIPADO
MOVE itab_zycit003[] TO itab_zycit003_aux[].
SORT itab_zycit003_aux BY ebeln .
* << Fim da inclusão
CLEAR v_pg_ant.
* >> Início da exclusão: FORM VERIFICA_PAG_ANTECIPADO
LOOP AT itab_zycit003.
READ TABLE itab_zycbt117 WITH KEY ebeln = itab_zycit003-ebeln.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PAG_ANTECIPADO
LOOP AT itab_zycit003_aux.
READ TABLE itab_zycbt117 WITH KEY ebeln = itab_zycit003_aux-ebeln.
* << Fim da inclusão
IF sy-subrc EQ 0.
v_vlme = itab_zycbt117-vlme.
v_waers = itab_zycbt117-waers.
v_waers = itab_zycbt117-waers.
WRITE itab_zycbt117-vlme TO v_vlme CURRENCY itab_zycbt117-waers.
CONCATENATE itab_zycbt117-nrseq 'no valor:'
v_vlme v_waers
INTO v_valmoed SEPARATED BY space.
* >> Início da exclusão: FORM VERIFICA_PAG_ANTECIPADO
IF v_ebeln NE itab_zycit003-ebeln.
v_ebeln = itab_zycit003-ebeln.
MESSAGE i061 WITH text-077 itab_zycit003-ebeln text-078.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PAG_ANTECIPADO
IF v_ebeln NE itab_zycit003_aux-ebeln.
v_ebeln = itab_zycit003_aux-ebeln.
MESSAGE i061 WITH text-077 itab_zycit003_aux-ebeln text-078.
* << Fim da inclusão
ENDIF.
v_pg_ant = 'X'.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
SELECT * FROM /pws/zycit030
INTO TABLE itab_zycit030
WHERE bukrs = /pws/zycie006-bukrs.
REFRESH itab_zycit003a.
itab_zycit003a[] = itab_zycit003[].
* >> Início da exclusão: FORM MIRO_AM_LA
SORT itab_zycit003a BY ebeln.
* << Fim da exclusão
* >> Início da inclusão: FORM MIRO_AM_LA
SORT itab_zycit003a BY ebeln ebelp.
* << Fim da inclusão
DELETE ADJACENT DUPLICATES FROM itab_zycit003a COMPARING ebeln.
IF NOT itab_zycit003a[] IS INITIAL.
SELECT ebeln knumv FROM ekko INTO TABLE itab_ekko_a
FOR ALL ENTRIES IN itab_zycit003a
WHERE ebeln EQ itab_zycit003a-ebeln.
IF sy-subrc EQ 0.
SELECT * FROM konv INTO TABLE itab_konv
FOR ALL ENTRIES IN itab_ekko_a
WHERE knumv EQ itab_ekko_a-knumv.
DELETE itab_konv WHERE kntyp NE 'B'
...
...
FORM verifica_pag_antecipado2.
IF NOT itab_zycit003[] IS INITIAL AND
NOT /pws/zycie006-belnr_p IS INITIAL.
SELECT * FROM /pws/zycbt117
INTO TABLE itab_zycbt117
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND status NE 'E'. "#EC CI_NOFIELD
* >> Início da exclusão: FORM VERIFICA_PAG_ANTECIPADO2
SORT itab_zycit003 BY ebeln.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PAG_ANTECIPADO2
MOVE itab_zycit003[] TO itab_zycit003_aux[].
SORT itab_zycit003_aux BY ebeln.
* << Fim da inclusão
CLEAR v_pg_ant2.
* >> Início da exclusão: FORM VERIFICA_PAG_ANTECIPADO2
LOOP AT itab_zycit003.
READ TABLE itab_zycbt117 WITH KEY ebeln = itab_zycit003-ebeln.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PAG_ANTECIPADO2
LOOP AT itab_zycit003_aux.
READ TABLE itab_zycbt117 WITH KEY ebeln = itab_zycit003_aux-ebeln.
* << Fim da inclusão
IF sy-subrc EQ 0.
...