Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 19/09/2012 00:00:00
Data/Hora Última Alteração: 19/08/2013 11:22:35
Descrição da Nota: AO ELIMINAR FATURA NÃO ATUALIZA CUSTO EFETIVO
Sintoma
Ao eliminar fatura não atualiza custo efetivo
Solução
Corrigir seleção do itens de custo.
9.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 12532 Data: 19/09/2012 Hora: 16:09:05
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 12532
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 9.0
Pacote : 00002
Agrupamento : 00129
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
----------------------------------------------------------------------------------------------------
AO ELIMINAR FATURA NÃO ATUALIZA CUSTO EFETIVO
----------------------------------------------------------------------------------------------------
Palavras Chave:
FATURA - CUSTO EFETIVO - SEGURO - FRETE
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
...
FOR ALL ENTRIES IN itab_zycit094
WHERE nrseq = itab_zycit094-nrseq.
ENDIF.
ELSE.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003
FOR ALL ENTRIES IN itab_zycit094
WHERE nrseq = itab_zycit094-nrseq.
ENDIF.
ENDIF.
IF /pws/zycie006-tpfatura = '02'.
* >> Início da exclusão: FORM ELIMINAR_FATURA
LOOP AT itab_zycit003.
SELECT SINGLE *
FROM /pws/zycit036
INTO itab_zycit036_aux
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
CLEAR itab_zycit036_aux.
REFRESH itab_zycit036_aux.
SELECT * FROM /pws/zycit036
INTO TABLE itab_zycit036_aux
FOR ALL ENTRIES IN itab_zycit003
* << Fim da inclusão
WHERE nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp AND
codmod = 'D' AND
origem = 'FAT' AND
nrseqori = /pws/zycie006-nrseq AND
* >> Início da exclusão: FORM ELIMINAR_FATURA
codigo = 'FRETEI' AND
congelamov = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
codigo = 'FRETEI' .
LOOP AT itab_zycit003.
CLEAR itab_zycit036_aux.
READ TABLE itab_zycit036_aux WITH KEY
nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
codmod = 'D'
origem = 'FAT'
nrseqori = /pws/zycie006-nrseq
codigo = 'FRETEI' .
IF sy-subrc EQ 0.
* << Fim da inclusão
IF itab_zycit036_aux-congelamov EQ 'X'.
CLEAR: itab_zycit036_aux-vlreal,
itab_zycit036_aux-waers_real.
MODIFY /pws/zycit036 FROM itab_zycit036_aux.
ELSE.
DELETE FROM /pws/zycit036
WHERE codigo = 'FRETEI'
AND nrseq = itab_zycit003-nrseq
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp
AND codmod = 'D'
AND origem = 'FAT'
AND nrseqori = /pws/zycie006-nrseq.
* >> Início da inclusão: FORM ELIMINAR_FATURA
ENDIF.
* << Fim da inclusão
ENDIF.
ENDLOOP.
ELSEIF /pws/zycie006-tpfatura = '03'.
* >> Início da exclusão: FORM ELIMINAR_FATURA
LOOP AT itab_zycit003.
SELECT SINGLE *
FROM /pws/zycit036
INTO itab_zycit036_aux
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
CLEAR itab_zycit036_aux.
REFRESH itab_zycit036_aux.
SELECT * FROM /pws/zycit036
INTO TABLE itab_zycit036_aux
FOR ALL ENTRIES IN itab_zycit003
* << Fim da inclusão
WHERE nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp AND
codmod = 'D' AND
origem = 'FAT' AND
nrseqori = /pws/zycie006-nrseq AND
* >> Início da exclusão: FORM ELIMINAR_FATURA
codigo = 'SEGURO' AND
congelamov = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
codigo = 'SEGURO'.
LOOP AT itab_zycit003.
CLEAR itab_zycit036_aux.
READ TABLE itab_zycit036_aux WITH KEY
nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
codmod = 'D'
origem = 'FAT'
nrseqori = /pws/zycie006-nrseq
codigo = 'SEGURO' .
IF sy-subrc EQ 0.
* << Fim da inclusão
IF itab_zycit036_aux-congelamov EQ 'X'.
CLEAR: itab_zycit036_aux-vlreal,
itab_zycit036_aux-waers_real.
MODIFY /pws/zycit036 FROM itab_zycit036_aux.
ELSE.
DELETE FROM /pws/zycit036
WHERE codigo = 'SEGURO'
AND nrseq = itab_zycit003-nrseq
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp
AND codmod = 'D'
AND origem = 'FAT'
AND nrseqori = /pws/zycie006-nrseq.
ENDIF.
* >> Início da inclusão: FORM ELIMINAR_FATURA
ENDIF.
* << Fim da inclusão
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF NOT /pws/zycie006-statusp IS INITIAL
AND /pws/zycie006-frpagto NE 'A'
AND v_pag_antecipado IS INITIAL.
REFRESH it_zycit270.
PERFORM hist_contabil.
...
...
FOR ALL ENTRIES IN itab_zycit094
WHERE nrseq = itab_zycit094-nrseq.
ENDIF.
ELSE.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003
FOR ALL ENTRIES IN itab_zycit094
WHERE nrseq = itab_zycit094-nrseq.
ENDIF.
ENDIF.
IF /pws/zycie006-tpfatura = '02'.
* >> Início da exclusão: FORM ELIMINAR_FATURA
LOOP AT itab_zycit003.
SELECT SINGLE *
FROM /pws/zycit036
INTO itab_zycit036_aux
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
CLEAR itab_zycit036_aux.
REFRESH itab_zycit036_aux.
SELECT * FROM /pws/zycit036
INTO TABLE itab_zycit036_aux
FOR ALL ENTRIES IN itab_zycit003
* << Fim da inclusão
WHERE nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp AND
codmod = 'D' AND
origem = 'FAT' AND
nrseqori = /pws/zycie006-nrseq AND
* >> Início da exclusão: FORM ELIMINAR_FATURA
codigo = 'FRETEI' AND
congelamov = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
codigo = 'FRETEI' .
LOOP AT itab_zycit003.
CLEAR itab_zycit036_aux.
READ TABLE itab_zycit036_aux WITH KEY
nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
codmod = 'D'
origem = 'FAT'
nrseqori = /pws/zycie006-nrseq
codigo = 'FRETEI' .
IF sy-subrc EQ 0.
* << Fim da inclusão
IF itab_zycit036_aux-congelamov EQ 'X'.
CLEAR: itab_zycit036_aux-vlreal,
itab_zycit036_aux-waers_real.
MODIFY /pws/zycit036 FROM itab_zycit036_aux.
ELSE.
DELETE FROM /pws/zycit036
WHERE codigo = 'FRETEI'
AND nrseq = itab_zycit003-nrseq
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp
AND codmod = 'D'
AND origem = 'FAT'
AND nrseqori = /pws/zycie006-nrseq.
* >> Início da inclusão: FORM ELIMINAR_FATURA
ENDIF.
* << Fim da inclusão
ENDIF.
ENDLOOP.
ELSEIF /pws/zycie006-tpfatura = '03'.
* >> Início da exclusão: FORM ELIMINAR_FATURA
LOOP AT itab_zycit003.
SELECT SINGLE *
FROM /pws/zycit036
INTO itab_zycit036_aux
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
CLEAR itab_zycit036_aux.
REFRESH itab_zycit036_aux.
SELECT * FROM /pws/zycit036
INTO TABLE itab_zycit036_aux
FOR ALL ENTRIES IN itab_zycit003
* << Fim da inclusão
WHERE nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp AND
codmod = 'D' AND
origem = 'FAT' AND
nrseqori = /pws/zycie006-nrseq AND
* >> Início da exclusão: FORM ELIMINAR_FATURA
codigo = 'SEGURO' AND
congelamov = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
codigo = 'SEGURO'.
LOOP AT itab_zycit003.
CLEAR itab_zycit036_aux.
READ TABLE itab_zycit036_aux WITH KEY
nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
codmod = 'D'
origem = 'FAT'
nrseqori = /pws/zycie006-nrseq
codigo = 'SEGURO' .
IF sy-subrc EQ 0.
* << Fim da inclusão
IF itab_zycit036_aux-congelamov EQ 'X'.
CLEAR: itab_zycit036_aux-vlreal,
itab_zycit036_aux-waers_real.
MODIFY /pws/zycit036 FROM itab_zycit036_aux.
ELSE.
DELETE FROM /pws/zycit036
WHERE codigo = 'SEGURO'
AND nrseq = itab_zycit003-nrseq
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp
AND codmod = 'D'
AND origem = 'FAT'
AND nrseqori = /pws/zycie006-nrseq.
* >> Início da inclusão: FORM ELIMINAR_FATURA
ENDIF.
* << Fim da inclusão
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
UPDATE /pws/zycbt108 SET status = 'E'
WHERE bukrs = /pws/zycie006-bukrs
AND belnr = /pws/zycie006-nrseq
AND gjahr = v_ano.
UPDATE /pws/zycbt119 SET status = 'E'
WHERE nrseq = /pws/zycie006-nrseq_pgfat.
...
...
' ' '/PWS/SAPMZYCA109' /pws/zycbt124-nrseq.
ENDIF.
DELETE FROM /pws/zycbt124 WHERE nrseq = /pws/zycie006-nrseqre.
ENDIF.
ENDIF.
ELSEIF /pws/zycie006-tpfatura NE '01'.
IF /pws/zycie006-tpfatura = '09'.
SELECT SINGLE * FROM /pws/zycit094
WHERE nrseqce = /pws/zycie006-nrseqce.
SELECT SINGLE * FROM /pws/zycit042
* >> Início da exclusão: FORM ELIMINAR_FATURA
WHERE nrseq = /pws/zycit094-nrseq. "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
WHERE nrseq = /pws/zycit094-nrseq. "#EC CI_NOFIRST
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycit041
WHERE nrseq = /pws/zycit042-nrseqnf AND
belnr_mr1m NE space AND
cancel NE space.
IF sy-subrc NE 0.
SELECT SINGLE * FROM /pws/zycit043
WHERE nrseq = /pws/zycit042-nrseqnf AND
belnr_mr1m NE space AND
cancel NE space.
IF sy-subrc EQ 0.
...
...
FOR ALL ENTRIES IN itab_zycit094
WHERE nrseq = itab_zycit094-nrseq.
ENDIF.
ELSE.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003
FOR ALL ENTRIES IN itab_zycit094
WHERE nrseq = itab_zycit094-nrseq.
ENDIF.
ENDIF.
IF /pws/zycie006-tpfatura = '02'.
* >> Início da exclusão: FORM ELIMINAR_FATURA
LOOP AT itab_zycit003.
SELECT SINGLE *
FROM /pws/zycit036
INTO itab_zycit036_aux
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
CLEAR itab_zycit036_aux.
REFRESH itab_zycit036_aux.
SELECT * FROM /pws/zycit036
INTO TABLE itab_zycit036_aux
FOR ALL ENTRIES IN itab_zycit003
* << Fim da inclusão
WHERE nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp AND
codmod = 'D' AND
origem = 'FAT' AND
nrseqori = /pws/zycie006-nrseq AND
* >> Início da exclusão: FORM ELIMINAR_FATURA
codigo = 'FRETEI' AND
congelamov = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
codigo = 'FRETEI' .
LOOP AT itab_zycit003.
CLEAR itab_zycit036_aux.
READ TABLE itab_zycit036_aux WITH KEY
nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
codmod = 'D'
origem = 'FAT'
nrseqori = /pws/zycie006-nrseq
codigo = 'FRETEI' .
IF sy-subrc EQ 0.
* << Fim da inclusão
IF itab_zycit036_aux-congelamov EQ 'X'.
CLEAR: itab_zycit036_aux-vlreal,
itab_zycit036_aux-waers_real.
MODIFY /pws/zycit036 FROM itab_zycit036_aux.
ELSE.
DELETE FROM /pws/zycit036
WHERE codigo = 'FRETEI'
AND nrseq = itab_zycit003-nrseq
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp
AND codmod = 'D'
AND origem = 'FAT'
AND nrseqori = /pws/zycie006-nrseq.
ENDIF.
* >> Início da inclusão: FORM ELIMINAR_FATURA
ENDIF.
* << Fim da inclusão
ENDLOOP.
ELSEIF /pws/zycie006-tpfatura = '03'.
* >> Início da exclusão: FORM ELIMINAR_FATURA
LOOP AT itab_zycit003.
SELECT SINGLE *
FROM /pws/zycit036
INTO itab_zycit036_aux
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
CLEAR itab_zycit036_aux.
REFRESH itab_zycit036_aux.
SELECT * FROM /pws/zycit036
INTO TABLE itab_zycit036_aux
FOR ALL ENTRIES IN itab_zycit003
* << Fim da inclusão
WHERE nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp AND
codmod = 'D' AND
origem = 'FAT' AND
nrseqori = /pws/zycie006-nrseq AND
* >> Início da exclusão: FORM ELIMINAR_FATURA
codigo = 'SEGURO' AND
congelamov = 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
codigo = 'SEGURO'.
LOOP AT itab_zycit003.
CLEAR itab_zycit036_aux.
READ TABLE itab_zycit036_aux WITH KEY
nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
codmod = 'D'
origem = 'FAT'
nrseqori = /pws/zycie006-nrseq
codigo = 'SEGURO' .
IF sy-subrc EQ 0.
* << Fim da inclusão
IF itab_zycit036_aux-congelamov EQ 'X'.
CLEAR: itab_zycit036_aux-vlreal,
itab_zycit036_aux-waers_real.
MODIFY /pws/zycit036 FROM itab_zycit036_aux.
ELSE.
DELETE FROM /pws/zycit036
WHERE codigo = 'SEGURO'
AND nrseq = itab_zycit003-nrseq
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp
AND codmod = 'D'
AND origem = 'FAT'
AND nrseqori = /pws/zycie006-nrseq.
* >> Início da inclusão: FORM ELIMINAR_FATURA
ENDIF.
* << Fim da inclusão
ENDIF.
ENDLOOP.
ENDIF.
...