Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Embarque
Data/Hora da Publicação: 03/01/2007 00:00:00
Data/Hora Última Alteração: 03/02/2010 17:55:48
Descrição da Nota: NÃO ELIMINAR ITEN NO EMBARUQE SE EXISTIR PC OU DC
Sintoma
Feito prestação de contas. F6Q e está deixando eliminar o item do embarque mesmo com prestação
aprovada. Favor verificar.
Solução
Atualizado o programa de embarque para so deixar eliminar o item caso não tenha debito e nem
prestação aprovados
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02802 Data: 03/01/2007 Hora: 09:13:38
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02802
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00026
Agrupamento : 00146
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
NÃO ELIMINAR ITEN NO EMBARUQE SE EXISTIR PC OU DC
----------------------------------------------------------------------------------------------------
Palavras Chave:
ITENS - EMBARQUE - DC - PC - ELIMINAR
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI001F03
REPT /PWS/SAPMZYCI001
REPS /PWS/MZYCI001I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001I01
...
where modalidade eq /pws/zycie001-modalidade.
if not /pws/zycit120-checkdi is initial.
select * from /pws/zycit100
into table it_100_temp
where nrseq eq /pws/zycie001-nrseq.
if sy-subrc eq 0.
message s015 with text-181 text-182.
exit.
endif.
endif.
call selection-screen '0300'.
when 'DELP'.
* >> Início da exclusão: MODULE user_command_0050
case ts_embar-activetab.
when 'FC_PED'.
loop at itab_zycit003 where mark = 'X'.
if itab_zycit003-nrseqli is initial and
itab_zycit003-nrseqlsi is initial.
clear v_tabix.
v_tabix = sy-tabix.
read table itab_zycit094 with key
nrseq = itab_zycit003-nrseq.
if sy-subrc eq 0.
message w015 with text-246.
exit.
endif.
read table itab_zycit263 with key
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
eliminado = space.
if sy-subrc ne 0.
call function '/PWS/ZYCI_DEQUEUE_ZYCIT013'
exporting
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
delete itab_zycit003 index v_tabix.
clear itab_zycit003.
else.
message w015 with text-043.
exit.
endif.
move:itab_zycit003-ebeln to itab_zycit003_del-ebeln,
itab_zycit003-ebelp to itab_zycit003_del-ebelp,
itab_zycit003-qtd_iten to itab_zycit003_del-qtd_iten.
append itab_zycit003_del.
else.
message w015 with text-190.
exit.
endif.
endloop.
when 'FC_FORNEC'.
loop at itab_zycit125 where mark = 'X'.
delete itab_zycit125 index sy-tabix.
clear itab_zycit125.
endloop.
endcase.
* << Fim da exclusão
* >> Início da inclusão: MODULE user_command_0050
PERFORM trata_delp.
* << Fim da inclusão
when 'MARC'.
case ts_embar-activetab .
when 'FC_PED'.
loop at itab_zycit003.
itab_zycit003-mark = 'X'.
modify itab_zycit003.
endloop.
when 'FC_FORNEC'.
loop at itab_zycit125.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F03
FORM trata_delp.
CASE ts_embar-activetab.
WHEN 'FC_PED' .
LOOP AT itab_zycit003 WHERE mark = 'X'.
IF itab_zycit003-nrseqli IS INITIAL AND
itab_zycit003-nrseqlsi IS INITIAL.
CLEAR v_tabix.
v_tabix = sy-tabix.
READ TABLE itab_zycit094 WITH KEY
nrseq = itab_zycit003-nrseq.
IF sy-subrc EQ 0.
MESSAGE w015 WITH text-246.
EXIT.
ENDIF.
* >> Início da inclusão: FORM trata_delp
SELECT SINGLE * FROM /pws/zycit008
WHERE nrseq EQ /pws/zycie001-nrseq
AND status EQ 'A'
AND tpgto EQ 'D'.
IF sy-subrc IS INITIAL.
MESSAGE w015 WITH text-344.
EXIT.
ENDIF.
SELECT SINGLE * FROM /pws/zycit026
WHERE nrseq EQ /pws/zycie001-nrseq
AND status EQ 'A'.
IF sy-subrc IS INITIAL.
MESSAGE w015 WITH text-345.
EXIT.
ENDIF.
* << Fim da inclusão
READ TABLE itab_zycit263 WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
eliminado = space.
IF sy-subrc NE 0.
CALL FUNCTION '/PWS/ZYCI_DEQUEUE_ZYCIT013'
EXPORTING
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
DELETE itab_zycit003 INDEX v_tabix.
CLEAR itab_zycit003.
ELSE.
MESSAGE w015 WITH text-043.
EXIT.
ENDIF.
MOVE:itab_zycit003-ebeln TO itab_zycit003_del-ebeln,
itab_zycit003-ebelp TO itab_zycit003_del-ebelp,
itab_zycit003-qtd_iten TO itab_zycit003_del-qtd_iten.
APPEND itab_zycit003_del.
ELSE.
MESSAGE w015 WITH text-190.
EXIT.
ENDIF.
ENDLOOP.
when 'FC_FORNEC'.
loop at itab_zycit125 where mark = 'X'.
delete itab_zycit125 index sy-tabix.
clear itab_zycit125.
endloop.
ENDCASE.
ENDFORM. " trata_delp
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI001
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 344
Texto: (56 caracteres)
"Não é possível deletar o item, pois existe Déb.em Conta!"
Comprimento máximo: 56
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 345
Texto: (59 caracteres)
"Não é possível deletar o item, pois existe Prest.de Contas!"
Comprimento máximo: 59