Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Prestação de Contas
Data/Hora da Publicação: 18/10/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 13:00:16
Descrição da Nota: AO CONSULTAR PRESTAÇÃO DE CONTAS NÃO APARECE NENHUMA DESPESA.
Sintoma
Ao solicitar a prestação de contas e dar um back e sem sair da tela onde lista as prestações
solicitadas voltar para a prestação some as despesas. Quando vários usuários solicitam prestações ao
mesmo tempo e um estorna a prestação some as despesas da prestação do outro.
Solução
Ajustar exibição de despesas.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02278 Data: 18/10/2006 Hora: 16:55:07
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02278
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00136
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
AO CONSULTAR PRESTAÇÃO DE CONTAS NÃO APARECE NENHUMA DESPESA.
----------------------------------------------------------------------------------------------------
Palavras Chave:
CONSULTA - ALTERAÇÃO - PRESTAÇÃO DE CONTAS - SOME DESPESAS -
DESPESA PREENCHIDA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI007F01
REPS /PWS/MZYCI007I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI007F01
...
PERFORM salva_estrategia.
IF v_estrat = 'X' AND v_lib NE 'X'.
MESSAGE i015 WITH text-088.
EXIT.
ENDIF.
* >> Início da exclusão: FORM SALVA_DADOS
LOOP AT it_zycit027_aux.
READ TABLE it_tab_aux WITH KEY nrseq = it_zycit027_aux-nrseq
marc = 'X'.
IF sy-subrc NE 0.
READ TABLE it_tab_aux WITH KEY nrseq = it_zycit027_aux-nrseq
marc = 'D'.
ENDIF.
CLEAR: itab_zycit026, v_totdep, v_vldf, v_nrpres, v_value.
IF /pws/zycie026-nrpres IS INITIAL.
SELECT MAX( nrpres ) FROM /pws/zycit026 INTO v_nrpres.
v_value = v_nrpres + 1.
ELSE.
v_value = /pws/zycie026-nrpres.
ENDIF.
SELECT SINGLE * FROM /pws/zycit027
WHERE nrseq = it_zycit027_aux-nrseq
AND nradto = v_value
AND tpdesp = it_zycit027_aux-tpdesp.
IF NOT it_zycit027_aux-vldp IS INITIAL
OR sy-subrc EQ 0
AND it_zycit027_aux-vldp >= 0.
MOVE: it_tab_aux-nrseq TO /pws/zycie027-nrseq,
v_value TO /pws/zycie027-nradto,
it_tab_aux-embarca TO /pws/zycie027-embarca,
it_tab_aux-waers TO /pws/zycie027-waers,
it_zycit027_aux-tpdesp TO /pws/zycie027-tpdesp,
it_zycit027_aux-vldp TO /pws/zycie027-vldp,
it_zycit027_aux-iva TO /pws/zycie027-iva,
it_zycit027_aux-vldpiva TO /pws/zycie027-vldpiva,
it_zycit027_aux-descr TO /pws/zycie027-descr.
MODIFY /pws/zycit027 FROM /pws/zycie027.
ELSE.
UPDATE /pws/zycit027 SET embarca = it_tab_aux-embarca
waers = it_tab_aux-waers
vldp = it_zycit027_aux-vldp
descr = it_zycit027_aux-descr
iva = it_zycit027_aux-iva
vldpiva = it_zycit027_aux-vldpiva
WHERE nrseq = it_tab_aux-nrseq AND
tpdesp = it_zycit027_aux-tpdesp AND
nradto = it_tab_aux-nradto.
ENDIF.
IF it_zycit027_aux-vldp < 0.
MOVE: 1 TO v_neg.
ENDIF.
ENDLOOP.
* << Fim da exclusão
CLEAR: itab_zycit026, v_totdep, v_vldf, v_value, v_nrpres .
MOVE: /pws/zycie026-vlmi TO v_vlmi_tot, /pws/zycie026-totdep TO
v_totdep_tot.
LOOP AT itab_zycit026 WHERE nrseq = /pws/zycie026-nrseq
AND ( marc = 'X' OR marc = 'D' ).
...
...
v_save = 'X'.
ENDIF.
ENDIF.
IF sy-subrc NE 0.
MOVE: itab_zycit026-nradto TO /pws/zycie026-nradto.
* >> Início da exclusão: FORM SALVA_DADOS
MOVE v_value TO /pws/zycie026-nrpres.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_DADOS
SELECT MAX( nrpres ) FROM /pws/zycit026 INTO v_nrpres.
v_value = v_nrpres + 1.
MOVE: v_value TO /pws/zycie026-nrpres.
* << Fim da inclusão
MODIFY /pws/zycit026 FROM /pws/zycie026.
* >> Início da inclusão: FORM SALVA_DADOS
COMMIT WORK.
* << Fim da inclusão
IF sy-subrc = 0.
...
...
ENDIF.
ENDIF.
CLEAR v_totdep.
itab_zycit026-nrpres = v_value.
MODIFY itab_zycit026.
* >> Início da inclusão: FORM SALVA_DADOS
ENDLOOP.
LOOP AT it_zycit027_aux.
READ TABLE it_tab_aux WITH KEY nrseq = it_zycit027_aux-nrseq
marc = 'X'.
IF sy-subrc NE 0.
READ TABLE it_tab_aux WITH KEY nrseq = it_zycit027_aux-nrseq
marc = 'D'.
ENDIF.
CLEAR: itab_zycit026, v_totdep, v_vldf, v_nrpres.
SELECT SINGLE * FROM /pws/zycit027
WHERE nrseq = it_zycit027_aux-nrseq
AND nradto = v_value
AND tpdesp = it_zycit027_aux-tpdesp.
IF NOT it_zycit027_aux-vldp IS INITIAL
OR sy-subrc EQ 0
AND it_zycit027_aux-vldp >= 0.
MOVE: it_tab_aux-nrseq TO /pws/zycie027-nrseq,
v_value TO /pws/zycie027-nradto,
it_tab_aux-embarca TO /pws/zycie027-embarca,
it_tab_aux-waers TO /pws/zycie027-waers,
it_zycit027_aux-tpdesp TO /pws/zycie027-tpdesp,
it_zycit027_aux-vldp TO /pws/zycie027-vldp,
it_zycit027_aux-iva TO /pws/zycie027-iva,
it_zycit027_aux-vldpiva TO /pws/zycie027-vldpiva,
it_zycit027_aux-descr TO /pws/zycie027-descr.
MODIFY /pws/zycit027 FROM /pws/zycie027.
ELSE.
UPDATE /pws/zycit027 SET embarca = it_tab_aux-embarca
waers = it_tab_aux-waers
vldp = it_zycit027_aux-vldp
descr = it_zycit027_aux-descr
iva = it_zycit027_aux-iva
vldpiva = it_zycit027_aux-vldpiva
WHERE nrseq = it_tab_aux-nrseq AND
tpdesp = it_zycit027_aux-tpdesp AND
nradto = it_tab_aux-nradto.
ENDIF.
IF it_zycit027_aux-vldp < 0.
MOVE: 1 TO v_neg.
ENDIF.
* << Fim da inclusão
ENDLOOP.
LOOP AT itab_zycit026 WHERE nrseq = /pws/zycie026-nrseq
AND marc = 'X' .
ENDLOOP.
IF sy-subrc = '0'.
...
...
it_tab_aux-dtvencto TO /pws/zycie008-dtvencto,
it_tab_aux-werks TO /pws/zycie008-werks,
it_tab_aux-bukrs TO /pws/zycie008-bukrs,
it_tab_aux-vlmi TO /pws/zycie008-vlmi.
PERFORM exibe_dados.
* >> Início da inclusão: FORM SELECIONA_DOCUMENTO
tc2-top_line = 1.
* << Fim da inclusão
CALL SCREEN '0300'.
ENDIF.
ELSE.
MESSAGE s015 WITH text-002.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI007I01
...
ELSEIF sy-subrc = 2.
MESSAGE i015 WITH text-093.
LEAVE PROGRAM.
ENDIF.
PERFORM check USING /pws/zycie001-despach ''.
* >> Início da inclusão: MODULE DADOS_SELE
tc2-top_line = 1.
* << Fim da inclusão
CALL SCREEN '0050'.
ENDMODULE.
MODULE user_command_0400 INPUT.
CASE sy-ucomm.
WHEN 'ENTER'.
...