Módulo: DOC. IMPORTAÇÃO
Funcionalidade: BL
Data/Hora da Publicação: 18/06/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 14:16:28
Descrição da Nota: ERRO AO EXCLUIR O BL, MESMO SENDO FATURAS DO TIPO SEVIÇO
Sintoma
Criei o embarque com um item de serviço e o outro não.
Criei o b/l e a fatura somente para o item de serviço
Eliminei o b/l.
1) não estou conseguindo entrar na fatura de serviço para fazer o recebimento
2) a fatura de serviço consta da tabela 006 (vide anexo) porém na pasta pedidos do embarque, o campo
qt embarque não está fechado
Solução
Ajuste feito para permitir excluir o BL apenas quando existir faturas do tipo Serviço. Ajuste no
programa para poder entrar nas faturas, mesmo quando não existir BL, caso a modalidade seja do tipo
Serviço
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03958 Data: 18/06/2007 Hora: 16:08:02
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03958
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00001
Agrupamento : 00170
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03482 - 00001 - 7.0 - 00001 - SISTEMA NÃO PERMITE ELIMINAR BL MESMO NÃO TENDO FATURA
03732 - 00002 - 7.0 - 00001 - AJUSTES REFERENTES A PERFORMANCE DO EMBARQUE.
----------------------------------------------------------------------------------------------------
ERRO AO EXCLUIR O BL, MESMO SENDO FATURAS DO TIPO SEVIÇO
----------------------------------------------------------------------------------------------------
Palavras Chave:
FORM RECUPERANDO_ITENS, ITAB_ZYCIT006, ITAB_ZYCIT263
FORM VERIFICA_ITENS, /PWS/ZYCIT006, ITAB_TEMP_SEQ_PGFAT
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI001F01
REPS /PWS/MZYCI002F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F01
...
LOOP AT itab_zycit263.
itab_temp_seq_pgfat-nrseq_pgfat = itab_zycit263-nrseq_pgfat.
COLLECT itab_temp_seq_pgfat.
ENDLOOP.
IF NOT itab_temp_seq_pgfat[] IS INITIAL.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_temp_seq_pgfat
WHERE nrseq_pgfat EQ itab_temp_seq_pgfat-nrseq_pgfat
AND nrseqce = /pws/zycit094-nrseqce.
* >> Início da inclusão: FORM VERIFICA_ITENS
IF sy-subrc NE 0.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_temp_seq_pgfat
WHERE nrseq_pgfat EQ itab_temp_seq_pgfat-nrseq_pgfat
AND tpfatura = '11'.
ENDIF.
* << Fim da inclusão
ENDIF.
LOOP AT itab_zycit263.
v_tabix = sy-tabix.
READ TABLE itab_zycit006 WITH KEY
nrseq_pgfat = itab_zycit263-nrseq_pgfat
eliminado = space.
IF sy-subrc NE 0.
DELETE itab_zycit263 INDEX v_tabix.
ENDIF.
ENDLOOP.
...
...
MESSAGE s061 WITH text-026 text-027.
EXIT.
ENDIF.
ENDIF.
PERFORM valida_trans USING '/PWS/ZYCI003_C' ''.
ELSE.
MESSAGE s015 WITH text-073.
ENDIF.
ELSE.
CLEAR v_subrc.
* >> Início da exclusão: FORM CALL_FATURA
IF /pws/zycie001-modalidade EQ '02'.
* << Fim da exclusão
* >> Início da inclusão: FORM CALL_FATURA
IF /pws/zycie001-modalidade EQ '02'
OR /pws/zycie001-modalidade EQ '03'.
* << Fim da inclusão
v_subrc = 'X'.
ELSE.
SELECT SINGLE * FROM /pws/zycit094
WHERE nrseq = /pws/zycie001-nrseq.
IF sy-subrc EQ 0.
v_subrc = 'X'.
ENDIF.
ENDIF.
IF v_subrc EQ 'X'.
LOOP AT itab_zycit263.
...
...
LOOP AT itab_zycit263.
itab_temp_seq_pgfat-nrseq_pgfat = itab_zycit263-nrseq_pgfat.
COLLECT itab_temp_seq_pgfat.
ENDLOOP.
IF NOT itab_temp_seq_pgfat[] IS INITIAL.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_temp_seq_pgfat
WHERE nrseq_pgfat EQ itab_temp_seq_pgfat-nrseq_pgfat
AND nrseqce = /pws/zycit094-nrseqce.
* >> Início da inclusão: FORM RECUPERANDO_ITENS
IF sy-subrc NE 0.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_temp_seq_pgfat
WHERE nrseq_pgfat EQ itab_temp_seq_pgfat-nrseq_pgfat
AND tpfatura = '11'.
ENDIF.
* << Fim da inclusão
ENDIF.
LOOP AT itab_zycit263.
IF itab_zycit263-nrseq_pgfat IS INITIAL.
DELETE FROM /pws/zycit263
WHERE nrseq EQ itab_zycit263-nrseq
AND ebeln EQ itab_zycit263-ebeln
AND ebelp EQ itab_zycit263-ebelp
AND nrseq_pgfat EQ itab_zycit263-nrseq_pgfat.
DELETE itab_zycit263.
CONTINUE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI002F02
...
ENDSELECT.
IF sy-subrc EQ 0.
MESSAGE s061 WITH text-025 text-026 wa_zycie085_del-nrseqdi.
EXIT.
ELSE.
SELECT * FROM /pws/zycit006
into table itab_zycit006
WHERE nrseqce = /pws/zycie093-nrseqce AND
eliminado = space
AND tpfatura NE '11'.
* >> Início da inclusão: FORM TRATA_BOTAO_DELE
IF NOT itab_zycit006[] IS INITIAL.
SELECT * FROM /pws/zycit263
INTO TABLE itab_zycit263
FOR ALL ENTRIES IN itab_zycit006
WHERE nrseq_pgfat = itab_zycit006-nrseq_pgfat.
ENDIF.
* << Fim da inclusão
loop at itab_zycit006.
v_tabix = sy-tabix.
if itab_zycit006-tpfatura eq '01'.
read table itab_zycit263
with key nrseq_pgfat = itab_zycit006-nrseq_pgfat.
if sy-subrc ne 0.
itab_zycit006-eliminado = 'X'.
modify itab_zycit006 index v_tabix.
modify /pws/zycit006 from itab_zycit006.
else.
...