Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Embarque
Data/Hora da Publicação: 15/08/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 10:51:34
Descrição da Nota: ELIMINAR ESTORNOS QUANDO O ITEM PRINCIPAL É ELIMINADO DO EMBARQUE
Sintoma
Quando excluímos do embarque, itens que possuam faturamentos com faturas de estorno e estornado, o
programa limpa o item da pasta "Ordens de Venda", porém não limpa os itens relacionados da pasta
"Estornos".
Solução
Incluída rotina para verificação e exclusão de itens de estorno/estornado referentes ao item
eliminado.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04429 Data: 15/08/2007 Hora: 17:29:52
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04429
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00008
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03396 - 00001 - 6.0 - 00026 - EXCLUSÃO DE ITENS DA MESMA FATURA / REMESSA
----------------------------------------------------------------------------------------------------
ELIMINAR ESTORNOS QUANDO O ITEM PRINCIPAL É ELIMINADO DO EMBARQUE
----------------------------------------------------------------------------------------------------
Palavras Chave:
EMBARQUE, ESTORNO, ESTORNADO, ELIMINAR, ITEM, ORDEM DE VENDA, FATURA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCE003F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE003F02
...
vbeln_vl TYPE /pws/zycet002-vbeln_vl,
posnl TYPE /pws/zycet002-posnl,
vbeln_vf TYPE /pws/zycet002-vbeln_vf,
posnr TYPE /pws/zycet002-posnr,
END OF itab_excluir.
DATA: itab_002 LIKE itab_zycet002 OCCURS 0 WITH HEADER LINE.
DATA: v_index TYPE sy-tabix,
v_subrc TYPE sy-subrc.
IF p_marcados EQ 'X'.
itab_002[] = itab_zycet002_tc[].
* >> Início da inclusão: FORM ELIMINA_ITENS_MARCADOS
LOOP AT itab_002 INTO itab_002 WHERE mark = 'X'.
LOOP AT itab_zycet002 INTO itab_zycet002
WHERE vbeln_vl EQ itab_002-vbeln_vl AND
docnum NE itab_002-docnum AND
mark IS INITIAL.
MOVE-CORRESPONDING itab_zycet002 TO itab_002.
APPEND itab_002.
ENDLOOP.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM itab_002
COMPARING vbeln_va
aupos
vbeln_vl
posnl
vbeln_vf
posnr
ebeln
ebelp.
* << Fim da inclusão
ELSE.
itab_002[] = itab_zycet002[].
ENDIF.
READ TABLE itab_002 WITH KEY mark = 'X'.
IF sy-subrc NE 0.
IF p_marcados EQ 'X'.
MESSAGE s323(v1).
ENDIF.
EXIT.
ELSE.
LOOP AT itab_002 WHERE mark = 'X'.
IF NOT itab_002-vbeln_vf IS INITIAL.
* >> Início da inclusão: FORM ELIMINA_ITENS_MARCADOS
MODIFY itab_002 TRANSPORTING mark
WHERE vbeln_vf EQ itab_002-vbeln_vf AND
mark IS INITIAL.
* << Fim da inclusão
MODIFY itab_002 TRANSPORTING mark
* >> Início da exclusão: FORM ELIMINA_ITENS_MARCADOS
WHERE vbeln_vf EQ itab_002-vbeln_vf.
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINA_ITENS_MARCADOS
WHERE vbeln_vl EQ itab_002-vbeln_vl AND
mark IS INITIAL.
* << Fim da inclusão
ELSEIF NOT itab_002-vbeln_vl IS INITIAL.
MODIFY itab_002 TRANSPORTING mark
* >> Início da exclusão: FORM ELIMINA_ITENS_MARCADOS
WHERE vbeln_vl EQ itab_002-vbeln_vl.
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINA_ITENS_MARCADOS
WHERE vbeln_vl EQ itab_002-vbeln_vl AND
mark IS INITIAL.
* << Fim da inclusão
ENDIF.
ENDLOOP.
ENDIF.
LOOP AT itab_002 WHERE mark = 'X'.
IF p_marcados EQ 'X'.
IF itab_002-staprop EQ 'A'.
IF itab_002-vbeln_vl IS INITIAL.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = '/PWS/ZYCEM'
...