CE PLUS - Nota 002502

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Prestação de Contas

Data/Hora da Publicação: 23/11/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 13:20:42

Descrição da Nota: AO CRIAR 2 ADIANTAMENTOS PARA UMA PRESTAÇÃO, É CRIADA PRESTAÇÃO A MAIS.

Sintoma

Ao criar dois adiantamentos e vinculá-las a uma prestação de contas, o sistema cria duas prestações

ao invés de agrupá-las em uma só.

 

 

Solução

Atualização do programa de prestação de contas para  vincular mais de um adiantamento para uma única

prestação.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

LIBERAÇÃO DE PRESTAÇÃO DE CONTA VIA ESTRATÉGIA

AO CONSULTAR PRESTAÇÃO DE CONTAS NÃO APARECE NENHUMA DESPESA.

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 02502 Data: 23/11/2006 Hora: 16:46:56

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 02502

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00140

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

01263  - 00001 - 6.0    - 00023  - LIBERAÇÃO DE PRESTAÇÃO DE CONTA VIA ESTRATÉGIA

02278  - 00002 - 6.0    - 00025  - AO CONSULTAR PRESTAÇÃO DE CONTAS NÃO APARECE NENHUMA DESPESA.

----------------------------------------------------------------------------------------------------

AO CRIAR 2 ADIANTAMENTOS PARA UMA PRESTAÇÃO, É CRIADA PRESTAÇÃO A MAIS.

----------------------------------------------------------------------------------------------------

Palavras Chave:

ADIANTAMENTO - PRESTAÇÃO DE CONTAS

ADIANTAMENTO VINCULADO A PRESTAÇÃO

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI007F01

REPS /PWS/MZYCI007F02

REPT /PWS/SAPMZYCI007

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI007F01

 

...

  ENDIF.

ENDFORM.

FORM salva_dados.

  DATA: v_nrpres  LIKE /pws/zycit026-nrpres,

        v_save.

* >> Início da inclusão: FORM SALVA_DADOS

 data: itab_zycit016_aux like it_zycit016 occurs 0 with header line,

       itab_zycit026_aux like itab_zycit026 occurs 0 with header line.

* << Fim da inclusão

  CLEAR: v_neg.

  SORT it_zycit027_aux BY nrseq nradto tpdesp.

  LOOP AT it_zycit027_aux WHERE vldp < 0.

    MESSAGE e015 WITH text-054 text-081.

    CLEAR ok_code.

...

 

...

    EXIT.

  ENDIF.

  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.

* >> Início da exclusão: FORM SALVA_DADOS

  LOOP AT itab_zycit026 WHERE nrseq = /pws/zycie026-nrseq

                        AND ( marc  = 'X' OR marc = 'D' ).

* << Fim da exclusão

* >> Início da inclusão: FORM SALVA_DADOS

  LOOP AT itab_zycit026 WHERE marc = 'X'.

    MOVE itab_zycit026 TO itab_zycit026_aux.

    APPEND itab_zycit026_aux.

  ENDLOOP.

  IF NOT itab_zycit026_aux[] IS INITIAL.

    SELECT * FROM /pws/zycit016

     INTO TABLE  itab_zycit016_aux

     FOR ALL ENTRIES IN itab_zycit026_aux

     WHERE nrseq  = itab_zycit026_aux-nrseq

     AND   nradto = itab_zycit026_aux-nradto.

  ENDIF.

* << Fim da inclusão

    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.

* >> Início da exclusão: FORM SALVA_DADOS

    LOOP AT it_zycit027_aux WHERE nrseq = itab_zycit026-nrseq.

      v_totdep = v_totdep + it_zycit027_aux-vldp.

* << Fim da exclusão

* >> Início da inclusão: FORM SALVA_DADOS

  LOOP AT itab_zycit026 WHERE marc = 'X'.

     loop at itab_zycit016_aux WHERE nrseq  = itab_zycit026-nrseq

                               and   nradto = itab_zycit026-nradto .

      v_totdep = v_totdep + itab_zycit016_aux-vldp.

* << Fim da inclusão

    ENDLOOP.

    v_vldf = /pws/zycie026-vldf.

    IF itab_zycit026-dtincl IS INITIAL.

      v_dtincl = sy-datlo.

    ELSE.

...

 

...

          EXIT.

        ENDIF.

      ENDIF.

    ENDIF.

    UPDATE /pws/zycit026 SET dtincl   = v_dtincl

* >> Início da exclusão: FORM SALVA_DADOS

                        totdep   = v_totdep

                        vldf     = v_vldf

                        dtvencto = /pws/zycie026-dtvencto

                        dtacerto = /pws/zycie026-dtacerto

                        bcofinan = /pws/zycie026-bcofinan

                        bcocred  = /pws/zycie026-bcocred

                        nfserv   = /pws/zycie026-nfserv

                        bvtyp    = /pws/zycie026-bvtyp

                        zlsch    = /pws/zycie026-zlsch

                        fdlev    = /pws/zycie026-fdlev

                        dtdoc    = /pws/zycie026-dtdoc

                        dtlanc   = /pws/zycie026-dtlanc

                        frggr    = /pws/zycie026-frggr

                        frgzu    = /pws/zycie026-frgzu

                        bname    = /pws/zycie026-bname

                        estrat   = /pws/zycie026-estrat

                        vinserv  = /pws/zycie026-vinserv

                        area     = /pws/zycie026-area

* << Fim da exclusão

* >> Início da inclusão: FORM SALVA_DADOS

                        totdep   =  v_totdep

                        vldf     =  v_vldf

                        dtvencto =  /pws/zycie026-dtvencto

                        dtacerto =  /pws/zycie026-dtacerto

                        bcofinan =  /pws/zycie026-bcofinan

                        bcocred  =  /pws/zycie026-bcocred

                        nfserv   =  /pws/zycie026-nfserv

                        bvtyp    =  /pws/zycie026-bvtyp

                        zlsch    =  /pws/zycie026-zlsch

                        fdlev    =  /pws/zycie026-fdlev

                        dtdoc    =  /pws/zycie026-dtdoc

                        dtlanc   =  /pws/zycie026-dtlanc

                        frggr    =  /pws/zycie026-frggr

                        frgzu    =  /pws/zycie026-frgzu

                        bname    =  /pws/zycie026-bname

                        estrat   =  /pws/zycie026-estrat

                        vinserv  =  /pws/zycie026-vinserv

                        area     =  /pws/zycie026-area

* << Fim da inclusão

                        frgsx1   =  /pws/zycie026-frgsx1

                        frgsx2   =  /pws/zycie026-frgsx2

                        frgsx3   =  /pws/zycie026-frgsx3

                        frgsx4   =  /pws/zycie026-frgsx4

                        frgsx5   =  /pws/zycie026-frgsx5

                        waersmu  =  /pws/zycie026-waersmu

                        taxamu   =  /pws/zycie026-taxamu

* >> Início da exclusão: FORM SALVA_DADOS

                        totdepme = /pws/zycie026-totdepme

                        vldfme   = /pws/zycie026-vldfme

                        vlmime   = /pws/zycie026-vlmime

                        reterir  = /pws/zycie026-reterir

                        forndes  = /pws/zycie026-forndes

* << Fim da exclusão

* >> Início da inclusão: FORM SALVA_DADOS

                        totdepme =  /pws/zycie026-totdepme

                        vldfme   =  /pws/zycie026-vldfme

                        vlmime   =  /pws/zycie026-vlmime

                        reterir  =  /pws/zycie026-reterir

                        forndes  =  /pws/zycie026-forndes

                        nrpres   =  v_value

* << Fim da inclusão

         WHERE nrseq = itab_zycit026-nrseq

* >> Início da exclusão: FORM SALVA_DADOS

          AND nradto = itab_zycit026-nradto

          AND nrpres = v_value.

* << Fim da exclusão

* >> Início da inclusão: FORM SALVA_DADOS

          AND nradto = itab_zycit026-nradto.

* << Fim da inclusão

   IF sy-tcode <> '/PWS/ZYCI007_A' OR ( /pws/zycie026-docomp IS INITIAL

                                                                    AND

                                      /pws/zycie026-docfat IS INITIAL ).

      UPDATE /pws/zycit026 SET status   = 'I'

             WHERE nrseq = itab_zycit026-nrseq

* >> Início da exclusão: FORM SALVA_DADOS

             AND nradto = itab_zycit026-nradto

             AND nrpres = v_value.

* << Fim da exclusão

* >> Início da inclusão: FORM SALVA_DADOS

             AND nradto = itab_zycit026-nradto.

* << Fim da inclusão

      IF sy-subrc = 0.

        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

      SELECT MAX( nrpres ) FROM /pws/zycit026 INTO v_nrpres.

      v_value =  v_nrpres + 1.

      MOVE: v_value TO  /pws/zycie026-nrpres.

* << Fim da exclusão

      MODIFY /pws/zycit026 FROM /pws/zycie026.

      COMMIT WORK.

      IF sy-subrc = 0.

        v_save = 'X'.

      ENDIF.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI007F02

 

...

    ENDIF.

    IF itab_zycit026-nrseq NE v_embant.

      MESSAGE s039 WITH text-051.

      LEAVE TO SCREEN 200.

    ENDIF.

* >> Início da inclusão: FORM CRIA_PRESTACAO

    if not itab_zycit026-nradto is initial.

       v_flag = 'S' .

    endif.

* << Fim da inclusão

  ENDLOOP.

  IF sy-subrc = 4.

    MESSAGE s039 WITH text-048.

* >> Início da inclusão: FORM CRIA_PRESTACAO

    EXIT.

  else.

    if v_flag eq 'S'.

       loop at itab_zycit026 where marc = 'X'.

          if itab_zycit026-nradto is initial.

             v_flag = 'X'.

             exit.

          endif.

       endloop.

       if v_flag eq 'X'.

          message s039 with text-108.

          loop at itab_zycit026 where marc = 'X'.

             itab_zycit026-marc = ' ' .

             modify itab_zycit026.

          endloop.

* << Fim da inclusão

    EXIT.

* >> Início da inclusão: FORM CRIA_PRESTACAO

       endif.

    endif.

* << Fim da inclusão

  ENDIF.

* >> Início da inclusão: FORM CRIA_PRESTACAO

  clear v_flag.

* << Fim da inclusão

  PERFORM carrega_it_tab_aux.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPT /PWS/SAPMZYCI007

 

------------------------------------------------------------------------

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 108

 

Texto: (35 caracteres)

"Itens sem Adiantamento selecionado!"

 

Comprimento máximo: 35

 

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/ZYCIR103

 

...

                CLEAR it_zycit008.

                CONTINUE.

              ELSE.

                CONTINUE.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDIF.

      ENDLOOP.

    ENDIF.

* >> Início da inclusão:

    IF sy-tcode EQ '/PWS/ZYCIR103'.

* << Fim da inclusão

* >> Início da exclusão:

    IF sy-tcode EQ 'ZYCIR103'.

* << Fim da exclusão

      LOOP AT it_zycit026.

        v_indice2 = sy-tabix.

        READ TABLE it_zyglt343 WITH KEY frgsx = it_zycit026-estrat.

        IF sy-subrc = 0.

          IF it_zyglt343-seq EQ 'X'.

            IF it_zycit026-frgsx1 IS INITIAL.

              IF  v_frggr NE it_zyglt343-frggrp.

                DELETE it_zycit026 INDEX v_indice2.

                CLEAR it_zycit026.

                CONTINUE.

...

 

...

  MOVE value TO p_frgzd.

FORM executa_liberacao.

  IF sy-tcode = '/PWS/ZYCIR103'.

    LOOP AT it_zycit026.

      MOVE:

       it_zycit026-nrpres   TO itab_libera-nrseq,

       it_zycit026-nrseq    TO itab_libera-nrseqce,

       it_zycit026-embarca  TO itab_libera-embarca,

       it_zycit026-despach  TO itab_libera-despach,

       it_zycit026-nfserv   TO itab_libera-nfserv,

* >> Início da exclusão: FORM EXECUTA_LIBERACAO

       it_zycit026-totdep   TO itab_libera-valor,

* << Fim da exclusão

* >> Início da inclusão: FORM EXECUTA_LIBERACAO

       it_zycit026-totdepme TO itab_libera-valor,

* << Fim da inclusão

       it_zycit026-frggr    TO itab_libera-frggr,

       it_zycit026-frgsx1   TO itab_libera-frgsx1,

       it_zycit026-frgsx2   TO itab_libera-frgsx2,

       it_zycit026-frgsx3   TO itab_libera-frgsx3,

       it_zycit026-frgsx4   TO itab_libera-frgsx4,

       it_zycit026-frgsx5   TO itab_libera-frgsx5,

       it_zycit026-frgzu    TO itab_libera-frgzu,

       it_zycit026-estrat   TO itab_libera-estrat,

* >> Início da exclusão: FORM EXECUTA_LIBERACAO

       it_zycit026-waers    TO itab_libera-waers,

* << Fim da exclusão

* >> Início da inclusão: FORM EXECUTA_LIBERACAO

       it_zycit026-waersmu  TO itab_libera-waers,

* << Fim da inclusão

       it_zycit026-dtvencto TO itab_libera-data.

      SELECT SINGLE * FROM /pws/zyglt340 WHERE codmod = 'D'

                                         AND func = 'PC'

                                         AND estrat = 'X'.

      IF sy-subrc EQ 0.

        IF /pws/zyglt340-dif NE 'X'.

* >> Início da exclusão: FORM EXECUTA_LIBERACAO

          MOVE it_zycit026-totdep   TO itab_libera-valor.

* << Fim da exclusão

* >> Início da inclusão: FORM EXECUTA_LIBERACAO

          MOVE it_zycit026-totdepme TO itab_libera-valor.

* << Fim da inclusão

        ELSE.

* >> Início da exclusão: FORM EXECUTA_LIBERACAO

          itab_libera-valor = it_zycit026-vldf.

* << Fim da exclusão

* >> Início da inclusão: FORM EXECUTA_LIBERACAO

          itab_libera-valor = it_zycit026-vldfme.

* << Fim da inclusão

          IF it_zycit026-vldf < 0.

            itab_libera-valor = itab_libera-valor * -1.

          ENDIF.

...

 

...

        ELSEIF itab_zycit026_erro-frgsx3 EQ v_frggr.

          CLEAR itab_zycit026_erro-frgsx3.

          itab_zycit026_erro-frgzu = '1'.

        ELSEIF itab_zycit026_erro-frgsx4 EQ v_frggr.

          CLEAR itab_zycit026_erro-frgsx4.

          itab_zycit026_erro-frgzu = '1'.

        ELSEIF itab_zycit026_erro-frgsx5 EQ v_frggr.

          CLEAR itab_zycit026_erro-frgsx5.

          itab_zycit026_erro-frgzu = '1'.

        ENDIF.

* >> Início da exclusão: FORM SALVA_DADOS

        MODIFY itab_zycit026_erro INDEX sy-tabix.

* << Fim da exclusão

* >> Início da inclusão: FORM SALVA_DADOS

        MODIFY itab_zycit026_erro transporting

              frgzu frgsx1 frgsx2 frgsx3 frgsx4 frgsx5

               where nrpres = itab_message-nrdoc.

* << Fim da inclusão

      ENDIF.

    ENDLOOP.

    MODIFY /pws/zycit026 FROM TABLE itab_zycit026_erro.

    CALL SCREEN 0102 STARTING AT 5 5  ENDING AT 122 30.

  ENDIF.

  DELETE itab_dados WHERE gravado = 'X'.

  CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'

       EXPORTING

            functioncode           = '=&REFRESH'

       EXCEPTIONS

...

 

...

               EXCEPTIONS

                    icon_not_found        = 1

                    outputfield_too_short = 2

                    OTHERS                = 3.

        ENDIF.

        MOVE: it_zycit026-nrpres TO itab_dados-nrseq   ,

              it_zycit026-nrseq   TO itab_dados-nrseqce ,

              it_zycit026-embarca TO itab_dados-embarca ,

              it_zycit026-despach TO itab_dados-despach ,

              it_zycit026-nfserv  TO itab_dados-nfserv ,

* >> Início da exclusão: FORM CARREGA_DADOS

              it_zycit026-totdep  TO itab_dados-valor  ,

* << Fim da exclusão

* >> Início da inclusão: FORM CARREGA_DADOS

              it_zycit026-totdepme TO itab_dados-valor  ,

* << Fim da inclusão

              it_zycit026-frgsx1  TO itab_dados-frgsx1 ,

              it_zycit026-frgsx2  TO itab_dados-frgsx2 ,

              it_zycit026-frgsx3  TO itab_dados-frgsx3 ,

              it_zycit026-frgsx4  TO itab_dados-frgsx4 ,

              it_zycit026-frgsx5  TO itab_dados-frgsx5 ,

              it_zyglt343-aprova  TO itab_dados-aprova .

        SELECT SINGLE name1 INTO itab_dados-name1

        FROM lfa1 WHERE lifnr = it_zycit026-despach.

        CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIR103'

             EXPORTING

...