CE PLUS - Nota 002166

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Associação

Data/Hora da Publicação: 28/09/2006 00:00:00

Data/Hora Última Alteração: 18/02/2011 09:45:14

Descrição da Nota: ASSOCIAÇÃO DE FATURAS - ANO FISCAL - CHAVE REFERÊNCIA F-51

Sintoma

Erro ao associar Fatura/Antecipado/Financiamento quando esta parametrizado o ano fiscal diferente,

ou seja, ao invés do mês iniciar em janeiro, inicia em setembro, por exemplo. Não esta sendo levada

a chave de referência nas F-51¿s e no estorno de antecipado esta se perdendo na segunda tela do

desemembramento

 

 

Solução

Ao buscar as informações da tabela BSEG e BKPF, verificar qual o ano fiscal correto, para que as

informações sejam encontradas. Utilizar função DETERMINE_PERIOD.

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 02166 Data: 28/09/2006 Hora: 09:50:32

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

 

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

Nota Número              : 02166

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00133

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

ASSOCIAÇÃO DE FATURAS - ANO FISCAL - CHAVE REFERÊNCIA F-51

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

Palavras Chave:

ASSOCIAÇÃO DE FATURAS ANO FISCAL CHAVE REFERÊNCIA

F-51 OBY6 OX06

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

Objetos da nota:

REPS /PWS/LZYCMGF2F01

 

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

Modificações efetuadas em REPS /PWS/LZYCMGF2F01

 

...

    /pws/zycbe112-fassoc          = 'X'.

    UPDATE /pws/zycbt112 SET fassoc   = 'X'

                        belnr_as = itab_zycbt036-belnr

                        dtassoc  = itab_zycbt036-dtdocto

                  WHERE nrseq   EQ /pws/zycbe112-nrseq.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe112-bukrs

                                         itab_zycbt036-dtdocto

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE zuonr FROM bseg

                        INTO v_zuonr_fi

                        WHERE bukrs EQ /pws/zycbe112-bukrs

                          AND belnr EQ itab_zycbt036-belnr

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

                          AND gjahr EQ itab_zycbt036-dtdocto(4)

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr

* << Fim da inclusão

                          AND augbl EQ ' '

                          AND koart EQ 'K'.

    LOOP AT itab_zycmt020.

      itab_zycmt020-vlassoc = itab_zycmt020-saldo.

      itab_zycmt020-saldo   = space.

...

 

...

    itab_zycbt036-tabela = '/PWS/ZYCBT112'.

    itab_zycbt036-cpochv = /pws/zycbe112-nrseq.

    itab_zycbt036-waers   = /pws/zycbe112-waers.

    itab_zycbt036-belnr   = /pws/zycbe112-belnr_as.

    itab_zycbt036-dtdocto = /pws/zycbe112-dtassoc.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe112-bukrs

                                         /pws/zycbe112-dtassoc

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE kursf awkey FROM bkpf

           INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe112-bukrs

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

                          AND gjahr EQ /pws/zycbe112-dtassoc(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr.

* << Fim da inclusão

    APPEND itab_zycbt036.

    EXIT.

  ENDIF.

  IF /pws/zycbe112-belnr IS INITIAL.

    CLEAR itab_zycbt036.

...

 

...

      SORT itab_zycbt131f BY dtassoc belnr_as DESCENDING.

      LOOP AT itab_zycbt131f WHERE belnr_as NE ' ' AND

                                   belnr_as NE '0000000000'.

        itab_zycbt036-belnr = itab_zycbt131f-belnr_as.

        itab_zycbt036-dtdocto = itab_zycbt131f-dtassoc.

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

        PERFORM verifica_ano_fiscal USING    /pws/zycbe112-bukrs

                                             itab_zycbt131f-dtassoc

                                    CHANGING v_gjahr.

* << Fim da inclusão

        SELECT SINGLE kursf awkey FROM bkpf

               INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                            WHERE belnr EQ itab_zycbt036-belnr

                              AND bukrs EQ /pws/zycbe112-bukrs

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

                              AND gjahr EQ itab_zycbt131f-dtassoc(4).

* << Fim da exclusão

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

                              AND gjahr EQ v_gjahr.

* << Fim da inclusão

        EXIT.

      ENDLOOP.

      APPEND itab_zycbt036.

    ELSE.

      CLEAR itab_zycbt113f.

...

 

...

                 AND status NE 'E'.

      LOOP AT itab_zycbt113f.

        itab_zycbt036-belnr = itab_zycbt113f-belnr_ori.

        IF NOT /pws/zycbe112-dtcont IS INITIAL.

          itab_zycbt036-dtdocto = /pws/zycbe112-dtcont.

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

          PERFORM verifica_ano_fiscal USING    /pws/zycbe112-bukrs

                                               itab_zycbt036-dtdocto

                                      CHANGING v_gjahr.

* << Fim da inclusão

          SELECT SINGLE kursf awkey

            FROM bkpf

            INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

            WHERE belnr EQ itab_zycbt036-belnr AND

                  bukrs EQ /pws/zycbe112-bukrs AND

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

                  gjahr EQ /pws/zycbe112-dtcont(4).

* << Fim da exclusão

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

                  gjahr EQ v_gjahr.

* << Fim da inclusão

        ELSE.

          itab_zycbt036-dtdocto = /pws/zycbe112-dtdesem.

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

          PERFORM verifica_ano_fiscal USING    /pws/zycbe112-bukrs

                                               itab_zycbt036-dtdocto

                                      CHANGING v_gjahr.

* << Fim da inclusão

          SELECT SINGLE kursf awkey FROM bkpf

                 INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                              WHERE belnr EQ itab_zycbt036-belnr

                                AND bukrs EQ /pws/zycbe112-bukrs

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

                                AND gjahr EQ /pws/zycbe112-dtdesem(4).

* << Fim da exclusão

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

                                AND gjahr EQ v_gjahr.

* << Fim da inclusão

        ENDIF.

        APPEND itab_zycbt036.

      ENDLOOP.

    ENDIF.

  ELSE.

...

 

...

      SORT itab_zycbt131f BY dtassoc belnr_as DESCENDING.

      LOOP AT itab_zycbt131f WHERE belnr_as NE ' ' AND

                                   belnr_as NE '0000000000'.

        itab_zycbt036-belnr = itab_zycbt131f-belnr_as.

        itab_zycbt036-dtdocto = itab_zycbt131f-dtassoc.

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

        PERFORM verifica_ano_fiscal USING    /pws/zycbe112-bukrs

                                             itab_zycbt036-dtdocto

                                    CHANGING v_gjahr.

* << Fim da inclusão

        SELECT SINGLE kursf awkey FROM bkpf

               INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                            WHERE belnr EQ itab_zycbt036-belnr

                              AND bukrs EQ /pws/zycbe112-bukrs

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

                              AND gjahr EQ itab_zycbt131f-dtassoc(4).

* << Fim da exclusão

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

                              AND gjahr EQ v_gjahr.

* << Fim da inclusão

        EXIT.

      ENDLOOP.

      APPEND itab_zycbt036.

    ELSE.

      itab_zycbt036-belnr = /pws/zycbe112-belnr.

      itab_zycbt036-dtdocto = /pws/zycbe112-dtdesem.

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

      PERFORM verifica_ano_fiscal USING    /pws/zycbe112-bukrs

                                           itab_zycbt036-dtdocto

                                  CHANGING v_gjahr.

* << Fim da inclusão

      SELECT SINGLE kursf awkey FROM bkpf

             INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                          WHERE belnr EQ itab_zycbt036-belnr

                            AND bukrs EQ /pws/zycbe112-bukrs

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

                            AND gjahr EQ /pws/zycbe112-dtdesem(4).

* << Fim da exclusão

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

                            AND gjahr EQ v_gjahr.

* << Fim da inclusão

      APPEND itab_zycbt036.

    ENDIF.

  ENDIF.

ENDFORM.

FORM desmembra_docto_fatura.

...

 

...

    UPDATE /pws/zycbt108 SET dtassoc    = itab_zycbt036-dtdocto

                        belnr_as   = itab_zycbt036-belnr

                        belnr_lq   = itab_zycbt036-belnr

                  WHERE belnr      EQ itab_zycbt108-belnr

                   AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.

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

    PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                         itab_zycbt036-dtdocto

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE zuonr FROM bseg

                        INTO v_zuonr_fa

                        WHERE bukrs EQ itab_zycbt108-bukrs

                          AND belnr EQ itab_zycbt036-belnr

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

                          AND gjahr EQ itab_zycbt036-dtdocto(4)

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr

* << Fim da inclusão

                          AND augbl EQ ' '

                          AND koart EQ 'K'.

    v_ok = 'X'.

    EXIT.

  ENDIF.

...

 

...

  itab_zycbt036-tabela = '/PWS/ZYCBT108'.

  itab_zycbt036-cpochv = /pws/zycbt119-nrseq.

  IF NOT itab_zycbt108-belnr_as IS INITIAL .

    itab_zycbt036-belnr = itab_zycbt108-belnr_as.

    itab_zycbt036-dtdocto = itab_zycbt108-dtassoc.

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

    PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                         itab_zycbt036-dtdocto

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE kursf awkey FROM bkpf

           INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ itab_zycbt108-bukrs

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

                          AND gjahr EQ itab_zycbt108-dtassoc(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr.

* << Fim da inclusão

  ELSE.

    READ TABLE itab_zycmt005 INDEX 1.

    IF sy-subrc = 0.

      itab_zycbt036-belnr = itab_zycmt005-belnr_resid.

    ELSE.

...

 

...

                          WHERE mdcorresp   EQ 'IP'

                            AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat

                            AND belnr_as EQ itab_zycbt036-belnr.

    IF sy-subrc EQ 0.

      itab_zycbt036-dtdocto = /pws/zycbt131-dtassoc.

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

      PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                           itab_zycbt036-dtdocto

                                  CHANGING v_gjahr.

* << Fim da inclusão

      SELECT SINGLE kursf awkey FROM bkpf

             INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                          WHERE belnr EQ itab_zycbt036-belnr

                            AND bukrs EQ itab_zycbt108-bukrs

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

                            AND gjahr EQ /pws/zycbt131-dtassoc(4).

* << Fim da exclusão

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

                            AND gjahr EQ v_gjahr.

* << Fim da inclusão

    ELSE.

      IF NOT itab_zycbt108-bldat IS INITIAL AND

         NOT itab_zycbt108-bldat EQ '00000000'.

        itab_zycbt036-dtdocto = itab_zycbt108-bldat.

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

        PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                             itab_zycbt036-dtdocto

                                    CHANGING v_gjahr.

* << Fim da inclusão

        SELECT SINGLE kursf awkey FROM bkpf

               INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                            WHERE belnr EQ itab_zycbt036-belnr

                              AND bukrs EQ itab_zycbt108-bukrs

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

                              AND gjahr EQ itab_zycbt108-bldat(4).

* << Fim da exclusão

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

                              AND gjahr EQ v_gjahr.

* << Fim da inclusão

      ELSE.

        CLEAR /pws/zycbt119-dtincl.

        SELECT SINGLE dtincl FROM /pws/zycbt119

                             INTO /pws/zycbt119-dtincl

                             WHERE nrseq EQ itab_zycbt108-nrseq_pgfat.

        itab_zycbt036-dtdocto = /pws/zycbt119-dtincl.

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

        PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                             itab_zycbt036-dtdocto

                                    CHANGING v_gjahr.

* << Fim da inclusão

        SELECT SINGLE kursf awkey FROM bkpf

               INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                            WHERE belnr EQ itab_zycbt036-belnr

                              AND bukrs EQ itab_zycbt108-bukrs

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

                              AND gjahr EQ /pws/zycbt119-dtincl(4).

* << Fim da exclusão

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

                              AND gjahr EQ v_gjahr.

* << Fim da inclusão

      ENDIF.

    ENDIF.

  ENDIF.

  APPEND itab_zycbt036.

ENDFORM.

...

 

...

    itab_zycbe033-newbs = '29'.

    READ TABLE itab_zycbt036 INDEX 1.

    CLEAR itab_zycbe033-wrbtr.

    IF /pws/zycbe112-belnr_as EQ itab_zycbt131-belnr_rfin.

      REFRESH itab_bseg.

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

      PERFORM verifica_ano_fiscal USING    /pws/zycbe112-bukrs

                                           itab_zycbt036-dtdocto

                                  CHANGING v_gjahr.

* << Fim da inclusão

      SELECT *     FROM bseg

                   INTO TABLE itab_bseg

                   WHERE bukrs EQ /pws/zycbe112-bukrs

                     AND belnr EQ itab_zycbt036-belnr

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

                     AND gjahr EQ itab_zycbt036-dtdocto(4)

* << Fim da exclusão

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

                     AND gjahr EQ v_gjahr

* << Fim da inclusão

                     AND augbl EQ ' '

                     AND koart EQ 'K'.

      LOOP AT itab_bseg.

        itab_zycbe033-wrbtr = itab_zycbe033-wrbtr + itab_bseg-wrbtr.

      ENDLOOP.

    ELSE.

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

      PERFORM verifica_ano_fiscal USING    /pws/zycbe112-bukrs

                                           itab_zycbt036-dtdocto

                                  CHANGING v_gjahr.

* << Fim da inclusão

      SELECT SINGLE wrbtr FROM bseg

                    INTO  bseg-wrbtr

                   WHERE bukrs EQ /pws/zycbe112-bukrs

                     AND belnr EQ itab_zycbt036-belnr

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

                     AND gjahr EQ itab_zycbt036-dtdocto(4)

* << Fim da exclusão

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

                     AND gjahr EQ v_gjahr

* << Fim da inclusão

                     AND augbl EQ ' '

                     AND koart EQ 'K'.

      itab_zycbe033-wrbtr = bseg-wrbtr + itab_zycbt131-vlmefin.

    ENDIF.

    itab_zycbe033-waers  = /pws/zycbe112-waers.

...

 

...

  itab_zycbt036-tabela = '/PWS/ZYCBT112'.

  itab_zycbt036-cpochv = /pws/zycbe112-nrseq.

  itab_zycbt036-waers   = /pws/zycbe112-waers.

  itab_zycbt036-belnr   = /pws/zycbe112-belnr_as.

  itab_zycbt036-dtdocto = /pws/zycbe112-dtassoc.

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

  PERFORM verifica_ano_fiscal USING    /pws/zycbe112-bukrs

                                       /pws/zycbe112-dtassoc

                              CHANGING v_gjahr.

* << Fim da inclusão

  SELECT SINGLE kursf awkey FROM bkpf

         INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                      WHERE belnr EQ itab_zycbt036-belnr

                        AND bukrs EQ /pws/zycbe112-bukrs

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

                        AND gjahr EQ /pws/zycbe112-dtassoc(4).

* << Fim da exclusão

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

                        AND gjahr EQ v_gjahr.

* << Fim da inclusão

  APPEND itab_zycbt036.

  IF /pws/zycbe112-belnr_as NE itab_zycbt131-belnr_rfin.

    CLEAR itab_zycbt036.

    itab_zycbt036-tcode = 'F-51'.

    itab_zycbt036-tabela = '/PWS/ZYCBT112'.

    itab_zycbt036-cpochv = /pws/zycbe112-nrseq.

    itab_zycbt036-waers   = /pws/zycbe112-waers.

    itab_zycbt036-belnr   = itab_zycbt131-belnr_rfin.

    itab_zycbt036-dtdocto = itab_zycbt131-dtassoc.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe112-bukrs

                                         itab_zycbt131-dtassoc

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE kursf awkey FROM bkpf

           INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe112-bukrs

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

                          AND gjahr EQ itab_zycbt131-dtassoc(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr.

* << Fim da inclusão

    APPEND itab_zycbt036.

  ENDIF.

ENDFORM.

FORM f51_financ_moedas_iguais.

  DATA : v_codeven LIKE /pws/zycbt011-codeven.

...

 

...

    IF NOT itab_zycbt108-dtassoc IS INITIAL.

      v_data_docto = itab_zycbt108-dtassoc.

    ELSE.

      v_data_docto = itab_zycbt108-bldat.

    ENDIF.

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

    PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                         v_data_docto

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE awkey FROM bkpf

                        INTO itab_zycbt036-awkey

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ itab_zycbt108-bukrs

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

                          AND gjahr EQ v_data_docto(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr(4).

* << Fim da inclusão

    APPEND itab_zycbt036.

    CLEAR itab_zycbt036.

    itab_zycbt036-mandt = sy-mandt.

    itab_zycbt036-tcode = 'F-51'.

    itab_zycbt036-tabela = '/PWS/ZYCBT108'.

...

 

...

        SELECT SINGLE bldat FROM /pws/zycbt108

                      INTO v_data_docto

                      WHERE nrseq_pgfat = /pws/zycbe119-nrseq.

      ENDIF.

    ENDIF.

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

    PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                         v_data_docto

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE awkey FROM bkpf

                        INTO itab_zycbt036-awkey

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ itab_zycbt108-bukrs

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

                          AND gjahr EQ v_data_docto(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr.

* << Fim da inclusão

    APPEND itab_zycbt036.

  ENDIF.

ENDFORM.

FORM f51_financ_moedas_dif.

  DATA : v_codeven   LIKE /pws/zycbt011-codeven,

...

 

...

  itab_zycbt036-tabela = '/PWS/ZYCBT108'.

  itab_zycbt036-cpochv = /pws/zycbt119-nrseq.

  itab_zycbt036-waers   = itab_zycbt108-waers.

  itab_zycbt036-belnr   = itab_zycbt108-belnr_as.

  itab_zycbt036-dtdocto = itab_zycbt108-dtassoc.

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

  PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                       itab_zycbt108-dtassoc

                              CHANGING v_gjahr.

* << Fim da inclusão

  SELECT SINGLE kursf awkey FROM bkpf

         INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                      WHERE belnr EQ itab_zycbt036-belnr

                        AND bukrs EQ itab_zycbt108-bukrs

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

                        AND gjahr EQ itab_zycbt108-dtassoc(4).

* << Fim da exclusão

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

                        AND gjahr EQ v_gjahr.

* << Fim da inclusão

  APPEND itab_zycbt036.

  IF itab_zycbt108-belnr_as NE itab_zycbt131-belnr_rfat.

    CLEAR itab_zycbt036.

    itab_zycbt036-tcode = 'F-51'.

    itab_zycbt036-tabela = '/PWS/ZYCBT108'.

    itab_zycbt036-cpochv = /pws/zycbt119-nrseq.

    itab_zycbt036-waers   = itab_zycbt108-waers.

    itab_zycbt036-belnr   = itab_zycbt131-belnr_rfat.

    itab_zycbt036-dtdocto = itab_zycbt131-dtassoc.

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

    PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                         itab_zycbt131-dtassoc

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE kursf awkey FROM bkpf

           INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ itab_zycbt108-bukrs

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

                          AND gjahr EQ itab_zycbt131-dtassoc(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr.

* << Fim da inclusão

    APPEND itab_zycbt036.

  ENDIF.

ENDFORM.

FORM reclassifica_pgant.

  CLEAR v_belnr_f43.

...

 

...

    READ TABLE itab_zycbe033 INDEX 1.

    /pws/zycbe117-dtassoc         = itab_zycbt036-dtdocto.

    UPDATE /pws/zycbt117 SET belnr_as = itab_zycbt036-belnr

                        dtassoc  = itab_zycbt036-dtdocto

                  WHERE nrseq   EQ /pws/zycbe117-nrseq.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe117-bukrs

                                         itab_zycbt036-dtdocto

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE zuonr FROM bseg

                        INTO v_zuonr_fi

                        WHERE bukrs EQ /pws/zycbe117-bukrs

                          AND belnr EQ itab_zycbt036-belnr

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

                          AND gjahr EQ itab_zycbt036-dtdocto(4)

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr

* << Fim da inclusão

                          AND augbl EQ ' '

                          AND koart EQ 'K'

                          AND bschl EQ '29'.

    LOOP AT itab_zycmt020.

      itab_zycmt020-vlassoc = itab_zycmt020-saldo.

...

 

...

    itab_zycbt036-tabela = '/PWS/ZYCBT112'.

    itab_zycbt036-cpochv = /pws/zycbe117-nrseq.

    itab_zycbt036-waers   = /pws/zycbe117-waers.

    itab_zycbt036-belnr   = /pws/zycbe117-belnr_as.

    itab_zycbt036-dtdocto = /pws/zycbe117-dtassoc.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe117-bukrs

                                         /pws/zycbe117-dtassoc

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE kursf awkey FROM bkpf

           INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe117-bukrs

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

                          AND gjahr EQ /pws/zycbe117-dtassoc(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr.

* << Fim da inclusão

    APPEND itab_zycbt036.

    EXIT.

  ENDIF.

  CLEAR itab_zycbt036.

  itab_zycbt036-tcode = 'F-51'.

...

 

...

    SORT itab_zycbt131f BY dtassoc belnr_as DESCENDING.

    LOOP AT itab_zycbt131f WHERE belnr_as NE ' ' AND

                                 belnr_as NE '0000000000'.

      itab_zycbt036-belnr = itab_zycbt131f-belnr_as.

      itab_zycbt036-dtdocto = itab_zycbt131f-dtassoc.

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

      PERFORM verifica_ano_fiscal USING    /pws/zycbe117-bukrs

                                           itab_zycbt131f-dtassoc

                                  CHANGING v_gjahr.

* << Fim da inclusão

      SELECT SINGLE kursf awkey FROM bkpf

             INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                          WHERE belnr EQ itab_zycbt036-belnr

                            AND bukrs EQ /pws/zycbe117-bukrs

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

                            AND gjahr EQ itab_zycbt131f-dtassoc(4).

* << Fim da exclusão

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

                            AND gjahr EQ v_gjahr.

* << Fim da inclusão

      EXIT.

    ENDLOOP.

    APPEND itab_zycbt036.

  ELSE.

    itab_zycbt036-belnr = /pws/zycbe117-belnr_p.

    itab_zycbt036-dtdocto = /pws/zycbe117-dtpagto.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe117-bukrs

                                         itab_zycbt036-dtdocto

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE kursf awkey FROM bkpf

           INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe117-bukrs

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

                          AND gjahr EQ /pws/zycbe117-dtpagto(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr.

* << Fim da inclusão

    APPEND itab_zycbt036.

  ENDIF.

ENDFORM.

FORM reclassifica_pgtoant.

  DATA : v_codeven LIKE /pws/zycbt011-codeven.

...

 

...

                                    text-021.

    itab_zycbe033-bukrs  = /pws/zycbe117-bukrs.

    itab_zycbe033-newbs = '29'.

    READ TABLE itab_zycbt036 INDEX 1.

    CLEAR itab_zycbe033-wrbtr.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe117-bukrs

                                         itab_zycbt036-dtdocto

                              CHANGING v_gjahr.

* << Fim da inclusão

    IF /pws/zycbe117-belnr_as EQ itab_zycbt131-belnr_rfin.

      REFRESH itab_bseg.

      SELECT *     FROM bseg

                   INTO TABLE itab_bseg

                   WHERE bukrs EQ /pws/zycbe117-bukrs

                     AND belnr EQ itab_zycbt036-belnr

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

                     AND gjahr EQ itab_zycbt036-dtdocto(4)

* << Fim da exclusão

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

                     AND gjahr EQ v_gjahr

* << Fim da inclusão

                     AND augbl EQ ' '

                     AND shkzg EQ 'S'

                     AND koart EQ 'K'.

      LOOP AT itab_bseg.

        itab_zycbe033-wrbtr = itab_zycbe033-wrbtr + itab_bseg-wrbtr.

...

 

...

    ELSE.

      SELECT SINGLE wrbtr FROM bseg

                    INTO  bseg-wrbtr

                   WHERE bukrs EQ /pws/zycbe117-bukrs

                     AND belnr EQ itab_zycbt036-belnr

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

                     AND gjahr EQ itab_zycbt036-dtdocto(4)

* << Fim da exclusão

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

                     AND gjahr EQ v_gjahr

* << Fim da inclusão

                     AND augbl EQ ' '

                     AND koart EQ 'K'.

      itab_zycbe033-wrbtr = bseg-wrbtr + itab_zycbt131-vlmefin.

    ENDIF.

    itab_zycbe033-waers  = /pws/zycbe117-waers.

...

 

...

  itab_zycbt036-tabela = '/PWS/ZYCBT112'.

  itab_zycbt036-cpochv = /pws/zycbe117-nrseq.

  itab_zycbt036-waers   = /pws/zycbe117-waers.

  itab_zycbt036-belnr   = /pws/zycbe117-belnr_as.

  itab_zycbt036-dtdocto = /pws/zycbe117-dtassoc.

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

  PERFORM verifica_ano_fiscal USING    /pws/zycbe117-bukrs

                                       itab_zycbt036-dtdocto

                              CHANGING v_gjahr.

* << Fim da inclusão

  SELECT SINGLE kursf awkey FROM bkpf

         INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                      WHERE belnr EQ itab_zycbt036-belnr

                        AND bukrs EQ /pws/zycbe117-bukrs

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

                        AND gjahr EQ /pws/zycbe117-dtassoc(4).

* << Fim da exclusão

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

                        AND gjahr EQ v_gjahr.

* << Fim da inclusão

  APPEND itab_zycbt036.

  IF /pws/zycbe117-belnr_as NE itab_zycbt131-belnr_rfin.

    CLEAR itab_zycbt036.

    itab_zycbt036-tcode = 'F-51'.

    itab_zycbt036-tabela = '/PWS/ZYCBT112'.

    itab_zycbt036-cpochv = /pws/zycbe117-nrseq.

    itab_zycbt036-waers   = /pws/zycbe117-waers.

    itab_zycbt036-belnr   = itab_zycbt131-belnr_rfin.

    itab_zycbt036-dtdocto = itab_zycbt131-dtassoc.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe117-bukrs

                                         itab_zycbt036-dtdocto

                                  CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE kursf awkey FROM bkpf

           INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe117-bukrs

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

                          AND gjahr EQ itab_zycbt131-dtassoc(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr.

* << Fim da inclusão

    APPEND itab_zycbt036.

  ENDIF.

ENDFORM.

FORM f51_pgant_moedas_iguais.

  DATA : v_codeven LIKE /pws/zycbt011-codeven.

...

 

...

    READ TABLE itab_zycbe033 INDEX 1.

    /pws/zycbe119-dtassoc         = itab_zycbt036-dtdocto.

    UPDATE /pws/zycbt119 SET belnr_as = itab_zycbt036-belnr

                        dtassoc  = itab_zycbt036-dtdocto

                  WHERE nrseq   EQ /pws/zycbe119-nrseq.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe119-bukrs

                                         itab_zycbt036-dtdocto

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE zuonr FROM bseg

                        INTO v_zuonr_fi

                        WHERE bukrs EQ /pws/zycbe119-bukrs

                          AND belnr EQ itab_zycbt036-belnr

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

                          AND gjahr EQ itab_zycbt036-dtdocto(4)

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr

* << Fim da inclusão

                          AND augbl EQ ' '

                          AND koart EQ 'K'

                          AND bschl EQ '29'.

    LOOP AT itab_zycmt020.

      itab_zycmt020-vlassoc = itab_zycmt020-saldo.

...

 

...

    itab_zycbt036-tabela = '/PWS/ZYCBT112'.

    itab_zycbt036-cpochv = /pws/zycbe119-nrseq.

    itab_zycbt036-waers   = /pws/zycbe119-waers.

    itab_zycbt036-belnr   = /pws/zycbe119-belnr_as.

    itab_zycbt036-dtdocto = /pws/zycbe119-dtassoc.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe119-bukrs

                                         itab_zycbt036-dtdocto

                              CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE kursf awkey FROM bkpf

           INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe119-bukrs

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

                          AND gjahr EQ /pws/zycbe119-dtassoc(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr.

* << Fim da inclusão

    APPEND itab_zycbt036.

    EXIT.

  ENDIF.

  CLEAR itab_zycbt036.

  itab_zycbt036-tcode = 'F-51'.

...

 

...

    SORT itab_zycbt131f BY dtassoc belnr_as DESCENDING.

    LOOP AT itab_zycbt131f WHERE belnr_as NE ' ' AND

                                 belnr_as NE '0000000000'.

      itab_zycbt036-belnr = itab_zycbt131f-belnr_as.

      itab_zycbt036-dtdocto = itab_zycbt131f-dtassoc.

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

      PERFORM verifica_ano_fiscal USING    /pws/zycbe119-bukrs

                                           itab_zycbt036-dtdocto

                                CHANGING v_gjahr.

* << Fim da inclusão

      SELECT SINGLE kursf awkey FROM bkpf

             INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                          WHERE belnr EQ itab_zycbt036-belnr

                            AND bukrs EQ /pws/zycbe119-bukrs

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

                            AND gjahr EQ itab_zycbt131f-dtassoc(4).

* << Fim da exclusão

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

                            AND gjahr EQ v_gjahr.

* << Fim da inclusão

      EXIT.

    ENDLOOP.

    APPEND itab_zycbt036.

  ELSE.

    itab_zycbt036-belnr = /pws/zycbe119-belnr_p.

    itab_zycbt036-dtdocto = /pws/zycbe119-dtpagto.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe119-bukrs

                                         itab_zycbt036-dtdocto

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE kursf awkey FROM bkpf

           INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe119-bukrs

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

                          AND gjahr EQ /pws/zycbe119-dtpagto(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr.

* << Fim da inclusão

    APPEND itab_zycbt036.

  ENDIF.

ENDFORM.

FORM reclassifica_pgtofat.

  DATA : v_codeven LIKE /pws/zycbt011-codeven.

...

 

...

    itab_zycbe033-ftela = 'X'.

    READ TABLE itab_zycbt036 INDEX 1.

    CLEAR itab_zycbe033-wrbtr.

    IF /pws/zycbe119-belnr_as EQ itab_zycbt131-belnr_rfin.

      REFRESH itab_bseg.

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

      PERFORM verifica_ano_fiscal USING    /pws/zycbe119-bukrs

                                           itab_zycbt036-dtdocto

                                CHANGING v_gjahr.

* << Fim da inclusão

      SELECT *     FROM bseg

                   INTO TABLE itab_bseg

                   WHERE bukrs EQ /pws/zycbe119-bukrs

                     AND belnr EQ itab_zycbt036-belnr

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

                     AND gjahr EQ itab_zycbt036-dtdocto(4)

* << Fim da exclusão

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

                     AND gjahr EQ v_gjahr

* << Fim da inclusão

                     AND augbl EQ ' '

                     AND shkzg EQ 'S'

                     AND koart EQ 'K'.

      LOOP AT itab_bseg.

        itab_zycbe033-wrbtr = itab_zycbe033-wrbtr + itab_bseg-wrbtr.

      ENDLOOP.

    ELSE.

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

      PERFORM verifica_ano_fiscal USING    /pws/zycbe119-bukrs

                                           itab_zycbt036-dtdocto

                                CHANGING v_gjahr.

* << Fim da inclusão

      SELECT SINGLE wrbtr FROM bseg

                    INTO  bseg-wrbtr

                   WHERE bukrs EQ /pws/zycbe119-bukrs

                     AND belnr EQ itab_zycbt036-belnr

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

                     AND gjahr EQ itab_zycbt036-dtdocto(4)

* << Fim da exclusão

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

                     AND gjahr EQ v_gjahr

* << Fim da inclusão

                     AND augbl EQ ' '

                     AND koart EQ 'K'.

      itab_zycbe033-wrbtr = bseg-wrbtr + itab_zycbt131-vlmefin.

    ENDIF.

    itab_zycbe033-waers  = /pws/zycbe119-waers.

...

 

...

  itab_zycbt036-tabela = '/PWS/ZYCBT112'.

  itab_zycbt036-cpochv = /pws/zycbe119-nrseq.

  itab_zycbt036-waers   = /pws/zycbe119-waers.

  itab_zycbt036-belnr   = /pws/zycbe119-belnr_as.

  itab_zycbt036-dtdocto = /pws/zycbe119-dtassoc.

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

  PERFORM verifica_ano_fiscal USING    /pws/zycbe119-bukrs

                                       itab_zycbt036-dtdocto

                              CHANGING v_gjahr.

* << Fim da inclusão

  SELECT SINGLE kursf awkey FROM bkpf

         INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                      WHERE belnr EQ itab_zycbt036-belnr

                        AND bukrs EQ /pws/zycbe119-bukrs

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

                        AND gjahr EQ /pws/zycbe119-dtassoc(4).

* << Fim da exclusão

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

                        AND gjahr EQ v_gjahr.

* << Fim da inclusão

  APPEND itab_zycbt036.

  IF /pws/zycbe119-belnr_as NE itab_zycbt131-belnr_rfin.

    CLEAR itab_zycbt036.

    itab_zycbt036-tcode = 'F-51'.

    itab_zycbt036-tabela = '/PWS/ZYCBT112'.

    itab_zycbt036-cpochv = /pws/zycbe119-nrseq.

    itab_zycbt036-waers   = /pws/zycbe119-waers.

    itab_zycbt036-belnr   = itab_zycbt131-belnr_rfin.

    itab_zycbt036-dtdocto = itab_zycbt131-dtassoc.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe119-bukrs

                                         itab_zycbt036-dtdocto

                              CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE kursf awkey FROM bkpf

           INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe119-bukrs

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

                          AND gjahr EQ itab_zycbt131-dtassoc(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_gjahr.

* << Fim da inclusão

    APPEND itab_zycbt036.

  ENDIF.

ENDFORM.

FORM f51_pgfat_moedas_iguais.

  DATA : v_codeven LIKE /pws/zycbt011-codeven.

...

 

...

    MODIFY itab_zycbe035 INDEX v_tabix.

    itab_zycmt020-saldo = itab_zycmt020-saldo + v_dif_rateio.

    MODIFY itab_zycmt020 INDEX v_tabix.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM verifica_ano_fiscal USING    p_bukrs

                                  p_data

                         CHANGING p_gjahr.

  SELECT SINGLE periv FROM t001 INTO t001-periv

                          WHERE bukrs = p_bukrs.

  CALL FUNCTION 'DETERMINE_PERIOD'

       EXPORTING

            date                = p_data

            version             = t001-periv

       IMPORTING

            year                = p_gjahr

       EXCEPTIONS

            period_in_not_valid = 1

            period_not_assigned = 2

            version_undefined   = 3

            OTHERS              = 4.

  IF sy-subrc NE 0 OR v_gjahr IS INITIAL.

    p_gjahr = p_data(4).

  ENDIF.

ENDFORM.

* << Fim da inclusão