CE PLUS - Nota 007467

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Remessa

Data/Hora da Publicação: 22/10/2008 00:00:00

Data/Hora Última Alteração: 04/03/2010 10:47:59

Descrição da Nota: REMESSA - ANO FISCAL - OB52 - DRILL-DOWN E BUSCA DE DOCUMENTOS

Sintoma

 

Ao clicar no drill-down ou busca de algum documento na BKPF/BSEG, esta levando ano contábil

incorreto. O ambiente tem ano fiscal diferente do padrão.

 

Solução

 

Verificar o ano fiscal na função obtem_ano_contabil, para trazer o correto.

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 07467 Data: 22/10/2008 Hora: 20:03:03

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

 

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

Nota Número              : 07467

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00007

Agrupamento              : 00070

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

REMESSA - ANO FISCAL - OB52 - DRILL-DOWN E BUSCA DE DOCUMENTOS

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

Palavras Chave:

REMESSA ANO FISCAL OB52 DRILL-DOWN E BUSCA DE DOCUMENTOS

GJAHR

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

Objetos da nota:

REPS /PWS/MZYCA109F01

REPS /PWS/MZYCA109I01

 

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

Modificações efetuadas em REPS /PWS/MZYCA109F01

 

...

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0.

    READ TABLE itab_zycbt032 WITH KEY tcode  = 'FBV0'

                                      tabela = '/PWS/ZYCBT124'

                                      cpochv = /pws/zycbe124-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc EQ 0.

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

      PERFORM determina_ano USING /pws/zycbe124-dtdocto

                                  itab_zycbe033-bukrs

                            CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE * FROM bkpf

        WHERE bukrs EQ itab_zycbe033-bukrs

          AND belnr EQ v_belnr

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

          AND gjahr EQ /pws/zycbe124-dtdocto+0(4)

* << Fim da exclusão

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

          AND gjahr EQ v_ano

* << Fim da inclusão

          AND bstat EQ 'V'.

...

 

...

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycbe033

            t_campo         = itab_zycbt034

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0.

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

    PERFORM determina_ano USING p_data

                                itab_zycbe033-bukrs

                          CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE * FROM bkpf

      WHERE bukrs EQ itab_zycbe033-bukrs

        AND belnr EQ p_belnr

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

        AND gjahr EQ p_data(4)

* << Fim da exclusão

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

        AND gjahr EQ v_ano

* << Fim da inclusão

        AND bstat NE 'Z'.

...

 

...

      READ TABLE itab_zycat027

           WITH KEY koart = 'C'

                    shkzg = 'C'.

      itab_zycbe033-newbs     = itab_zycat027-bschl.

      v_koart_bi              = 'C'.

      v_shkzg_bi              = 'C'.

      itab_zycbe033-agkoa = 'D'.

    ENDIF.

  ENDIF.

  itab_zycbe033-belnr = /pws/zycbe124-belnr.

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

  PERFORM determina_ano USING /pws/zycbe124-dtdocto

                              /pws/zycbe124-bukrs

                        CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE budat kursf awkey FROM bkpf

                      INTO (itab_zycbe033-dtdocto,itab_zycbe033-kursf,

                            itab_zycbe033-awkey)

                      WHERE bukrs EQ /pws/zycbe124-bukrs

                        AND belnr EQ /pws/zycbe124-belnr

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

                        AND gjahr EQ /pws/zycbe124-dtdocto(4).

* << Fim da exclusão

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

                        AND gjahr EQ v_ano.

* << Fim da inclusão

  CLEAR:   itab_zyglt100.

  REFRESH: itab_zyglt100.

  IF itab_zyglt100[] IS INITIAL.

    v_syrepid = sy-repid.

    CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'

         EXPORTING

              i_codmod                = 'F'

              i_func                  = v_syrepid

         TABLES

              itab_zyglt100           = itab_zyglt100

...

 

...

  PERFORM verify_null_field USING itab_zycbe033-c_newko

                                  'C_NEWKO'

                                  text-137.

  CLEAR itab_zycbt036.

  REFRESH itab_zycbt036.

  IF sy-index <= 1.

    itab_zycbt036-tcode   = 'F-51'.

    itab_zycbt036-tabela  = '/PWS/ZYCBT124'.

    itab_zycbt036-cpochv  = /pws/zycbe124-nrseq.

    itab_zycbt036-belnr   = /pws/zycbe124-belnr_f51.

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

    PERFORM determina_ano USING /pws/zycbe124-dtdocto

                                /pws/zycbe124-bukrs

                          CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE budat awkey FROM bkpf

                        INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe124-bukrs

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

                          AND gjahr EQ /pws/zycbe124-dtdocto(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_ano.

* << Fim da inclusão

    APPEND itab_zycbt036.

    PERFORM verify_null_field USING itab_zycbt036-belnr

                                    'BELNR'

                                    text-138.

  ELSEIF sy-index = 2.

    itab_zycbt036-tcode   = 'F-51'.

    itab_zycbt036-tabela  = '/PWS/ZYCBT124'.

    itab_zycbt036-cpochv  = /pws/zycbe124-nrseq.

    itab_zycbt036-belnr   = /pws/zycbe124-belnr_f51p.

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

    PERFORM determina_ano USING /pws/zycbe124-dtdocto

                                /pws/zycbe124-bukrs

                          CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE budat awkey FROM bkpf

                        INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                        WHERE belnr EQ /pws/zycbe124-belnr_f51p

                          AND bukrs EQ /pws/zycbe124-bukrs

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

                          AND gjahr EQ /pws/zycbe124-dtdocto(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_ano.

* << Fim da inclusão

    APPEND itab_zycbt036.

    PERFORM verify_null_field USING itab_zycbt036-belnr

                                    'BELNR'

                                    text-138.

  ENDIF.

  CONCATENATE /pws/zycbe124-nrseq 'R-IR' INTO v_zuonr.

  PERFORM verify_null_field USING /pws/zycbe124-bukrs

                                  'BUKRS'

                                  text-092.

  itab_zycbe033-bukrs  = /pws/zycbe124-bukrs.

...

 

...

                                  'BUKRS'

                                  text-092.

  itab_zycbe033-bukrs  = /pws/zycbe124-bukrs.

  itab_zycbe033-budat  = p_data.

  itab_zycbe033-bldat  = itab_zycbe033-budat.

  PERFORM determina_periodo USING itab_zycbe033-budat

                                  /pws/zycbe124-bukrs

                         CHANGING v_monat.

  PERFORM determina_ano USING itab_zycbe033-budat

                              /pws/zycbe124-bukrs

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

                     CHANGING p_data(4).

* << Fim da exclusão

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

                        CHANGING v_ano.

* << Fim da inclusão

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbe033-bukrs

            i_gjahr          = v_ano

            i_koart          = '+'

            i_monat          = v_monat

       EXCEPTIONS

            error_period     = 1

            error_period_acc = 2

            OTHERS           = 3.

...

 

...

ENDFORM.

FORM verifica_estrategia_liberacao.

  CLEAR: v_lib, v_area.

  SELECT SINGLE * FROM /pws/zyglt340

                  WHERE codmod = 'F'

                    AND func   = 'CP'

                    AND estrat = 'X'.

  IF sy-subrc EQ 0.

    PERFORM verifica_taxa.

    IF /pws/zycbe124-criacao NE 'S'.

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

      PERFORM determina_ano USING /pws/zycbe124-dtdocto

                                  /pws/zycbe124-bukrs

                            CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE kursf FROM bkpf INTO itab_zycbe033-kursf

             WHERE belnr = /pws/zycbe124-belnr

               AND bukrs = /pws/zycbe124-bukrs

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

               AND gjahr = /pws/zycbe124-dtdocto(4).

* << Fim da exclusão

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

               AND gjahr = v_ano.

* << Fim da inclusão

    ENDIF.

...

 

...

            v_koart_bi

            v_shkzg_bi.

  ELSEIF /pws/zycbe124-frgzu = '1'.

    MODIFY /pws/zycbt124 FROM /pws/zycbe124.

  ENDIF.

ENDFORM.

FORM preenche_estorna_contabeis USING p_tpimp

                                      p_belnr

                                      p_data.

  CLEAR bkpf.

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

  PERFORM determina_ano USING p_data

                              wa_zycbt124-bukrs

                        CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE * FROM bkpf

         WHERE bukrs EQ wa_zycbt124-bukrs

           AND belnr EQ p_belnr

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

           AND gjahr EQ p_data(4)

* << Fim da exclusão

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

           AND gjahr EQ v_ano

* << Fim da inclusão

           AND bstat EQ 'V'.

...

 

...

           /pws/zycbe124-frgsx5, /pws/zycbe124-estrat,

           /pws/zycbe124-bname,  /pws/zycbe124-frgzu.

    EXIT.

  ENDIF.

  PERFORM clear_date_batch.

  itab_zycbe033-tcode  = 'FB08'.

  itab_zycbe033-tabela = '/PWS/ZYCBT124'.

  itab_zycbe033-cpochv = /pws/zycbe124-nrseq.

  itab_zycbe033-belnr  = p_belnr.

  itab_zycbe033-bukrs  = /pws/zycbe124-bukrs.

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

  itab_zycbe033-gjahs  = p_data(4).

* << Fim da exclusão

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

  itab_zycbe033-gjahs  = v_ano.

* << Fim da inclusão

  PERFORM verifica_motivo_estorno

    USING

      itab_zycbe033-bukrs

      p_data

    CHANGING

      itab_zycbe033-stgrd

      itab_zycbe033-budat.

  APPEND itab_zycbe033.

  CALL FUNCTION '/PWS/ZYCA_TRANSACAO_FB08'

       EXPORTING

...

 

...

        UP TO 1 ROWS

      FROM /pws/zycbt011

     WHERE bukrs = /pws/zycbe124-bukrs AND

        codmod = 'I'                   AND

        codeven = v_codeven.

    ENDSELECT.

    IF sy-subrc EQ 0.

      v_agums = /pws/zycbt011-agums.

    ENDIF.

  ENDIF.

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

  PERFORM determina_ano USING v_dtassoc

                              /pws/zycbe124-bukrs

                        CHANGING v_ano.

* << Fim da inclusão

  SELECT *

    UP TO 1 ROWS

    FROM bseg

   WHERE bukrs = /pws/zycbe124-bukrs AND

         belnr = v_belnr_as          AND

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

         gjahr = v_dtassoc(4)        AND

* << Fim da exclusão

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

         gjahr = v_ano               AND

* << Fim da inclusão

         augbl = space               AND

         koart = 'K'                 AND

         umskz = v_agums.

  ENDSELECT.

  IF sy-subrc EQ 0.

    v_saknr1 = bseg-hkont.

    MOVE: v_nrseq   TO itab_zycbt141_p-nrseq,

          v_saknr1  TO itab_zycbt141_p-saknr1,

          v_saldo   TO itab_zycbt141_p-vlremessa.

    SELECT SINGLE *

      FROM bkpf

     WHERE bukrs = /pws/zycbe124-bukrs

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

       AND gjahr = v_dtassoc(4)

* << Fim da exclusão

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

       AND gjahr = v_ano

* << Fim da inclusão

       AND belnr = v_belnr_as.

    IF sy-subrc = 0.

      MOVE:  bkpf-kursf TO /pws/zycbe124-kursf.

    ENDIF.

    APPEND itab_zycbt141_p.

  ENDIF.

  MOVE: v_nrseq               TO /pws/zycat028-nrseq,

        v_processo            TO /pws/zycat028-tp_processo,

        v_sequencial_aux      TO /pws/zycat028-nr_processo,

        v_agums               TO /pws/zycat028-agums,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA109I01

 

...

  ENDIF.

ENDMODULE.

MODULE user_command_0101 INPUT.

  CASE sy-ucomm.

    WHEN 'CS'.

      GET CURSOR FIELD v_campo VALUE v_valor.

      IF v_campo EQ '/PWS/ZYCBE124-BELNR'      OR

         v_campo EQ 'V_BELNR_S'.

        IF NOT v_valor IS INITIAL.

          i_belnr = v_valor.

* >> Início da exclusão: MODULE USER_COMMAND_0101

          i_bukrs = /pws/zycbe124-bukrs.

          i_gjahr = wa_zycbt124-dtdocto(4).

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0101

          i_bukrs = wa_zycbt124-bukrs.

          PERFORM determina_ano USING wa_zycbt124-dtdocto

                                      wa_zycbt124-bukrs

                                CHANGING v_ano.

          i_gjahr = v_ano.

* << Fim da inclusão

          SET PARAMETER ID 'BUK' FIELD i_bukrs.

          SET PARAMETER ID 'BLN' FIELD i_belnr.

          SET PARAMETER ID 'GJR' FIELD i_gjahr.

          AUTHORITY-CHECK OBJECT 'S_TCODE'

              ID 'TCD'  FIELD 'FB03'.

          IF sy-subrc EQ 0.

            CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

          ELSE.

            MESSAGE e261(sf) WITH 'FB03'.

          ENDIF.

...

 

...

                     UP TO 1 ROWS

                  WHERE nrchave   = /pws/zycbe124-nrseq

                    AND mdcorresp = 'CP'.

          ENDSELECT.

          IF sy-subrc = 0 AND /pws/zycbe124-tpoper = 'R'.

            SELECT  * FROM /pws/zycbt031

                        UP TO 1 ROWS

                      WHERE nrseq = /pws/zycbt064-nrboleto.

            ENDSELECT.

            IF sy-subrc = 0.

* >> Início da exclusão: MODULE USER_COMMAND_0101

              i_gjahr = /pws/zycbt031-dtcredpr(4).

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0101

              PERFORM determina_ano USING /pws/zycbt031-dtcredpr

                                          /pws/zycbe124-bukrs

                                    CHANGING v_ano.

              i_gjahr = v_ano.

* << Fim da inclusão

            ENDIF.

          ELSEIF sy-subrc = 0.

            SELECT * FROM /pws/zycbt134

                        UP TO 1 ROWS

                          WHERE nrseq  = /pws/zycbt064-nrboleto

                            AND ( tpproc = 'PRINCIPAL' OR

                                  tpproc = ' ' ).

            ENDSELECT.

            IF sy-subrc = 0.

* >> Início da exclusão: MODULE USER_COMMAND_0101

              i_gjahr = /pws/zycbt134-dtlanc(4).

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0101

              PERFORM determina_ano USING /pws/zycbt134-dtlanc

                                          /pws/zycbe124-bukrs

                                    CHANGING v_ano.

              i_gjahr = v_ano.

* << Fim da inclusão

            ENDIF.

          ENDIF.

          SET PARAMETER ID 'BUK' FIELD i_bukrs.

          SET PARAMETER ID 'BLN' FIELD i_belnr.

          SET PARAMETER ID 'GJR' FIELD i_gjahr.

          AUTHORITY-CHECK OBJECT 'S_TCODE'

              ID 'TCD'  FIELD 'FB03'.

          IF sy-subrc EQ 0.

            CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

          ELSE.

            MESSAGE e261(sf) WITH 'FB03'.

          ENDIF.

        ENDIF.

      ELSEIF v_campo = '/PWS/ZYCAE025-BELNR_PR'.

        IF NOT v_valor IS INITIAL.

          i_belnr = v_valor.

* >> Início da exclusão: MODULE USER_COMMAND_0101

          i_bukrs = /pws/zycbe124-bukrs.

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0101

          i_bukrs = wa_zycbt124-bukrs.

* << Fim da inclusão

          READ TABLE itab_zycat025 WITH KEY belnr_pr = v_valor.

          IF sy-subrc = 0.

* >> Início da exclusão: MODULE USER_COMMAND_0101

            i_gjahr = itab_zycat025-dtlanc(4).

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0101

            PERFORM determina_ano USING itab_zycat025-dtlanc

                                        wa_zycbt124-bukrs

                                  CHANGING v_ano.

            i_gjahr = v_ano.

* << Fim da inclusão

          ENDIF.

          SET PARAMETER ID 'BUK' FIELD i_bukrs.

          SET PARAMETER ID 'BLN' FIELD i_belnr.

          SET PARAMETER ID 'GJR' FIELD i_gjahr.

          AUTHORITY-CHECK OBJECT 'S_TCODE'

              ID 'TCD'  FIELD 'FB03'.

          IF sy-subrc EQ 0.

            CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

          ELSE.

            MESSAGE e261(sf) WITH 'FB03'.

...

 

...

                    WHERE nrchave   = /pws/zycbe124-nrseq

                      AND mdcorresp = 'CP'.

            ENDSELECT.

            IF sy-subrc = 0.

              SELECT * FROM /pws/zycbt134

                          UP TO 1 ROWS

                       WHERE nrseq = /pws/zycbt064-nrboleto

                        AND tpproc = itab_zycat025-tpimp.

              ENDSELECT.

              IF sy-subrc = 0.

* >> Início da exclusão: MODULE USER_COMMAND_0101

                i_gjahr = /pws/zycbt134-dtlanc(4).

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0101

                PERFORM determina_ano USING /pws/zycbt134-dtlanc

                                            /pws/zycbe124-bukrs

                                      CHANGING v_ano.

                i_gjahr = v_ano.

* << Fim da inclusão

              ENDIF.

            ENDIF.

          ENDIF.

          SET PARAMETER ID 'BUK' FIELD i_bukrs.

          SET PARAMETER ID 'BLN' FIELD i_belnr.

          SET PARAMETER ID 'GJR' FIELD i_gjahr.

          AUTHORITY-CHECK OBJECT 'S_TCODE'

              ID 'TCD'  FIELD 'FB03'.

          IF sy-subrc EQ 0.

            CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

...

...