Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Embarque
Data/Hora da Publicação: 03/09/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 10:51:45
Descrição da Nota: REMOÇÃO DE ITENS DO EMBARQUE COM OV SEM REMESSA
Sintoma
Itens do embarque não são removidos quando possui ordem de venda com remessa.
Solução
acrescentar OV sem remessa como item não atualizável, assim como os outros tipos de itens.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04599 Data: 03/09/2007 Hora: 09:32:40
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04599
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00010
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04536 - 00001 - 7.0 - 00002 - REMOÇÃO DE ITENS DO EMBARQUE COM OV SEM REMESSA
----------------------------------------------------------------------------------------------------
REMOÇÃO DE ITENS DO EMBARQUE COM OV SEM REMESSA
----------------------------------------------------------------------------------------------------
Palavras Chave:
REMOÇÃO ITENS EMBARQUE OV SEM REMESSA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCE003F01
REPS /PWS/MZYCE003F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE003F01
...
END OF itab_analisado.
FIELD-SYMBOLS: <fs_vbfa> LIKE itab_vbfa.
LOOP AT itab_zycet002 WHERE vbeln_vf IS initial.
IF ( NOT itab_zycet002-vbeln_va IS INITIAL AND
NOT itab_zycet002-aupos IS INITIAL AND
NOT itab_zycet002-vbeln_vl IS INITIAL AND
NOT itab_zycet002-posnl IS INITIAL ) OR
( NOT itab_zycet002-ebeln IS INITIAL AND
NOT itab_zycet002-ebelp IS INITIAL AND
NOT itab_zycet002-vbeln_vl IS INITIAL AND
* >> Início da exclusão: FORM ATUALIZA_ORDENS_E_REMESSAS
NOT itab_zycet002-posnl IS INITIAL ).
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_ORDENS_E_REMESSAS
NOT itab_zycet002-posnl IS INITIAL ) OR
( NOT itab_zycet002-vbeln_va IS INITIAL AND
NOT itab_zycet002-aupos IS INITIAL AND
NOT itab_zycet002-fkimg IS INITIAL ).
* << Fim da inclusão
CONTINUE.
ENDIF.
v_vbeln_va = itab_zycet002-vbeln_va.
v_vbeln_vl = itab_zycet002-vbeln_vl.
v_posnr_va = itab_zycet002-aupos.
v_posnr_vl = itab_zycet002-posnl.
v_tipo_ov = 'CI'.
IF v_vbeln_va IS INITIAL.
IF NOT itab_zycet002-ebeln IS INITIAL.
v_vbeln_va = itab_zycet002-ebeln.
...
====================================================================================
ATENÇÃO! OS AJUSTES ABAIXO REVERTEM OS AJUSTES DA NOTA 04536! SÓ APLIQUE OS PROXÍMOS
ABAIXO SE A NOTA 04536 FOI APLICADA.
====================================================================================
...
sy-subrc = 4.
ENDIF.
ENDFORM.
FORM envia_para_cambio.
DATA: v_resposta(1) TYPE c,
v_modo_venc(1) TYPE c,
v_mode(1) TYPE c,
v_result(1) TYPE c,
v_status_agrup TYPE i.
REFRESH: itab_zycet093.
* >> Início da exclusão: FORM ENVIA_PARA_CAMBIO
PERFORM refresh_embarque USING space.
* << Fim da exclusão
* >> Início da inclusão: FORM ENVIA_PARA_CAMBIO
PERFORM refresh_embarque USING 'X'.
* << Fim da inclusão
PERFORM verifica_alteracao.
CHECK sy-subrc IS INITIAL.
PERFORM valida_envio_para_cambio.
CHECK sy-subrc EQ 0.
CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
EXPORTING
defaultoption = 'N'
textline1 = text-556
titel = text-530
cancel_display = space
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE003F02
...
FROM itab_zycet002
TRANSPORTING novo
WHERE novo <> 'X'.
APPEND LINES OF it_zycet002_rem_transp[] TO itab_zycet002[].
ENDIF.
ENDIF.
WHEN 'DEL_MK'.
PERFORM elimina_itens_marcados USING 'X'
CHANGING v_exclui.
IF v_exclui EQ 'X'.
* >> Início da exclusão: FORM OKCODE_0102
PERFORM refresh_embarque USING space.
* << Fim da exclusão
* >> Início da inclusão: FORM OKCODE_0102
PERFORM refresh_embarque USING 'X'.
* << Fim da inclusão
IF itab_zycet002_tc[] IS INITIAL.
okcode = 'T/02'.
ENDIF.
ENDIF.
WHEN 'DETAIL'.
okcode = 'DUMMY'.
READ TABLE itab_zycet002_tc WITH KEY mark = 'X'.
IF sy-subrc NE 0.
MESSAGE s323(v1).
EXIT.
...
...
COMMIT WORK.
PERFORM busca_numero_sequencial.
IF /pws/zycee001-nrseq IS INITIAL.
EXIT.
ENDIF.
IF okcode EQ 'STA1' AND
/pws/zycee001-envia_c EQ 'X'.
UPDATE /pws/zycet001 SET sta1 = /pws/zycee001-sta1
WHERE nrseq = /pws/zycee001-nrseq.
ELSE.
* >> Início da exclusão: FORM SALVA_EMBARQUE
PERFORM refresh_embarque USING space.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_EMBARQUE
PERFORM refresh_embarque USING 'X'.
* << Fim da inclusão
itab_zycet002-nrseq = /pws/zycee001-nrseq.
MODIFY itab_zycet002 TRANSPORTING nrseq
WHERE nrseq NE /pws/zycee001-nrseq.
itab_zycet003-nrseq = /pws/zycee001-nrseq.
LOOP AT itab_zycet003 WHERE NOT nrseqre IS initial.
UPDATE /pws/zycet003 SET dtlibanu = itab_zycet003-dtlibanu
WHERE nrseq = itab_zycet003-nrseq AND
nrseqre = itab_zycet003-nrseqre.
ENDLOOP.
DELETE itab_zycet003 WHERE NOT nrseqre IS initial.
...