CE PLUS - Nota 002278

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.

 

Versões Tratadas

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'.

...