CE PLUS - Nota 007600

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Financiamento

Data/Hora da Publicação: 18/11/2008 00:00:00

Data/Hora Última Alteração: 18/02/2011 10:00:56

Descrição da Nota: ANO FISCAL FINANCIAMENTO - ANTECIPADO - FATURA - ASSOCIAÇÃO

Sintoma

Financiamento - Antecipado - Fatura - Associação não estão analisando o ano fiscal.

 

 

Solução

Incluir as funções de ano fiscal em todos os pontos que utilizam busca por ano/período.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

FATURA - DRILL-DOWN DO DOCUMENTO CONTÁBIL

FINANCIAMENTO DE IMPORTAÇÃO

ASSOCIAÇÃO DE FATURAS - MOEDAS DIFERENTES - DIFERENÇA EM REAIS

ASSOCIAÇÃO - DATA DA ASSOCIAÇÃO OBRIGATÓRIA E SEM VALOR PROPOSTO

REFINANCIAMENTO - CONTAS IGUAIS DE LP/CP/CURTÍSSIMO

Informações Complementares

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

Nota Número 07600 Data: 18/11/2008 Hora: 20:03:52

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

 

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

Nota Número              : 07600

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00007

Agrupamento              : 00074

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

Referência às notas relacionadas:

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

 

04552  - 00001 - 7.0    - 00002  - ASSOCIAÇÃO DE FATURAS - MOEDAS DIFERENTES - DIFERENÇA EM REAIS

04941  - 00002 - 7.0    - 00003  - REFINANCIAMENTO - CONTAS IGUAIS DE LP/CP/CURTÍSSIMO

06910  - 00003 - 7.0    - 00006  - FATURA - DRILL-DOWN DO DOCUMENTO CONTÁBIL

07346  - 00004 - 7.0    - 00007  - FINANCIAMENTO DE IMPORTAÇÃO

07487  - 00005 - 7.0    - 00007  - ASSOCIAÇÃO - DATA DA ASSOCIAÇÃO OBRIGATÓRIA E SEM VALOR PROPOSTO

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

ANO FISCAL FINANCIAMENTO - ANTECIPADO - FATURA - ASSOCIAÇÃO

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

Palavras Chave:

ANO FISCAL FINANCIAMENTO - ANTECIPADO - FATURA - ASSOCIAÇÃO

GJAHR

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

Objetos da nota:

RELE F6DK966428 20081118 194418 PWSCB

REPS /PWS/LZYCMGF2F01

REPS /PWS/MZYCB104F01

REPS /PWS/MZYCB104TOP

REPS /PWS/MZYCB106F01

REPS /PWS/MZYCB106I01

REPS /PWS/MZYCM101F01

REPS /PWS/MZYCM101I01

REPS /PWS/MZYCM101TOP

 

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

Modificações efetuadas em REPS /PWS/LZYCMGF2F01

 

...

                                  text-021.

  itab_zycbe033-bukrs  = itab_zycbt131-bukrs.

  itab_zycbe033-bldat  = itab_zycbt131-dtincl.

  IF v_tpdoc EQ 'I'.

    itab_zycbe033-budat  = itab_zycbt131-dtassoc.

  ELSEIF v_tpdoc EQ 'A'.

    itab_zycbe033-budat  = itab_zycbt131-dtassoc.

  ELSEIF v_tpdoc EQ 'P'.

    itab_zycbe033-budat  = itab_zycbt131-dtassoc.

  ENDIF.

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

  itab_zycbe033-gjahs  = itab_zycbt131-gjahr.

  v_monat = itab_zycbe033-budat+4(2).

* << Fim da exclusão

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

  PERFORM verifica_ano_fiscal USING    itab_zycbe033-bukrs

                                       itab_zycbe033-budat

                              CHANGING itab_zycbe033-gjahs.

  PERFORM determina_periodo USING    itab_zycbe033-budat

                                     itab_zycbe033-bukrs

                            CHANGING v_monat.

* << Fim da inclusão

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbe033-bukrs

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

            i_gjahr          = itab_zycbe033-budat+0(4)

* << Fim da exclusão

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

            i_gjahr          = itab_zycbe033-gjahs

* << Fim da inclusão

            i_koart          = '+'

...

 

...

                             AND bukrs = itab_zycbt108-bukrs

                             AND gjahr = itab_zycbt108-gjahr.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM grava_assoc_pgant.

  IF /pws/zycbe117-belnr_p IS INITIAL.

    MESSAGE w015(/pws/zycmm) WITH text-087 text-088.

    EXIT.

  ENDIF.

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

  PERFORM verifica_ano_fiscal USING    /pws/zycbe117-bukrs

                                       /pws/zycbe117-dtincl

                              CHANGING v_gjahr.

* << Fim da inclusão

  SELECT SINGLE ausbk bukrs belnr gjahr

    FROM vbkpf

    INTO (vbkpf-ausbk, vbkpf-bukrs, vbkpf-belnr, vbkpf-gjahr)

    WHERE ausbk = /pws/zycbe117-bukrs

      AND bukrs = /pws/zycbe117-bukrs

      AND belnr = /pws/zycbe117-belnr_p

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

      AND gjahr = /pws/zycbe117-dtincl+0(4).

* << Fim da exclusão

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

      AND gjahr = v_gjahr.

* << Fim da inclusão

  IF sy-subrc EQ 0.

    MESSAGE w015(/pws/zycmm) WITH text-089 text-088.

    EXIT.

  ENDIF.

  IF v_ind_errocont IS INITIAL.

    DELETE itab_zycbt131 WHERE vlme EQ ' '.

    IF NOT v_ind_delecao IS INITIAL.

      DELETE FROM /pws/zycbt131

          WHERE mdcorresp = c_mod_pgant

            AND nrseq     = v_nrseq.

...

 

...

      ENDIF.

    ENDIF.

  ENDIF.

  CLEAR ok_code.

ENDFORM.

FORM grava_assoc_pgfat.

  IF /pws/zycbe119-belnr_p IS INITIAL.

    MESSAGE w015(/pws/zycmm) WITH text-087 text-088.

    EXIT.

  ENDIF.

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

  PERFORM verifica_ano_fiscal USING    /pws/zycbe119-bukrs

                                       /pws/zycbe119-dtincl

                              CHANGING v_gjahr.

* << Fim da inclusão

  SELECT SINGLE ausbk bukrs belnr gjahr

    FROM vbkpf

    INTO (vbkpf-ausbk, vbkpf-bukrs, vbkpf-belnr, vbkpf-gjahr)

    WHERE ausbk = /pws/zycbe119-bukrs

      AND bukrs = /pws/zycbe119-bukrs

      AND belnr = /pws/zycbe119-belnr_p

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

      AND gjahr = /pws/zycbe119-dtincl+0(4).

* << Fim da exclusão

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

      AND gjahr = v_gjahr.

* << Fim da inclusão

  IF sy-subrc EQ 0.

    MESSAGE w015(/pws/zycmm) WITH text-089 text-088.

    EXIT.

  ENDIF.

  IF v_ind_errocont IS INITIAL.

    DELETE itab_zycbt131 WHERE vlme EQ ' '.

    IF NOT v_ind_delecao IS INITIAL.

      DELETE FROM /pws/zycbt131

          WHERE mdcorresp = c_mod_pgfat

            AND nrseq     = v_nrseq.

...

 

...

    ENDIF.

    IF sy-subrc NE 0 OR v_belnras IS INITIAL.

      SELECT * FROM /pws/zycbt031

                 UP TO 1 ROWS

               INTO /pws/zycbt031

             WHERE nrcorresp = /pws/zycbe117-nrseq

               AND mdcorresp = 'IA'.

      ENDSELECT.

      IF sy-subrc = 0.

        v_belnras = /pws/zycbt031-belnr_p.

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

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

* << Fim da exclusão

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

        PERFORM verifica_ano_fiscal USING    /pws/zycbt031-bukrs

                                             /pws/zycbt031-dtcredpr

                                    CHANGING v_gjahr.

* << Fim da inclusão

      ENDIF.

    ENDIF.

    SELECT * FROM bseg

             INTO TABLE itab_bseg

             WHERE bukrs = /pws/zycbe117-bukrs

               AND belnr = v_belnras

               AND gjahr = v_gjahr

               AND shkzg = 'S'

               AND bschl = '29'.

    SELECT SINGLE * FROM /pws/zycit006 INTO /pws/zycit006 WHERE

...

 

...

                        INTO t001a-kurst

                        WHERE bukrs EQ /pws/zycbe112-bukrs.

  ENDIF.

  CLEAR t001.

  SELECT SINGLE xslta FROM t001

                      INTO t001-xslta

                      WHERE bukrs = /pws/zycbe112-bukrs.

  IF NOT skb1-xsalh IS INITIAL OR

     NOT t001-xslta IS INITIAL.

    CLEAR bkpf.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe112-bukrs

                                         itab_zycbe033-budat

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE kursf FROM bkpf

                 INTO bkpf-kursf

                 WHERE belnr EQ itab_zycbt131-belnr_rfin

                   AND bukrs EQ /pws/zycbe112-bukrs

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

                   AND gjahr EQ itab_zycbe033-budat(4).

* << Fim da exclusão

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

                   AND gjahr EQ v_gjahr.

* << Fim da inclusão

    IF NOT bkpf-kursf IS INITIAL AND

       NOT bkpf-kursf EQ '0.00000'.

      CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'

           EXPORTING

                date             = itab_zycbe033-budat

                foreign_amount   = itab_zycbt131-vlmefin

                foreign_currency = /pws/zycbe112-waers

                local_currency   = wa_zycbt007-waersb

                rate             = bkpf-kursf

           IMPORTING

...

 

...

                        INTO t001a-kurst

                        WHERE bukrs EQ itab_zycbt108-bukrs.

  ENDIF.

  CLEAR t001.

  SELECT SINGLE xslta FROM t001

                      INTO t001-xslta

                      WHERE bukrs = itab_zycbt108-bukrs.

  IF NOT skb1-xsalh IS INITIAL OR

     NOT t001-xslta IS INITIAL.

    CLEAR bkpf.

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

    PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                         itab_zycbe033-budat

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE kursf FROM bkpf

                 INTO bkpf-kursf

                 WHERE belnr EQ itab_zycbt131-belnr_rfat

                   AND bukrs EQ itab_zycbt108-bukrs

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

                   AND gjahr EQ itab_zycbe033-budat(4).

* << Fim da exclusão

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

                   AND gjahr EQ v_gjahr.

* << Fim da inclusão

    IF NOT bkpf-kursf IS INITIAL AND

       NOT bkpf-kursf EQ '0.00000'.

      CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'

           EXPORTING

                date             = itab_zycbe033-budat

                foreign_amount   = itab_zycbt131-vlme

                foreign_currency = itab_zycbt108-waers

                local_currency   = wa_zycbt007-waersb

                type_of_rate     = t001a-kurst

                rate             = bkpf-kursf

...

 

...

  ELSE.

  ENDIF.

  SELECT SINGLE * FROM tcurx

            WHERE currkey = /pws/zycbe117-waers.

  IF sy-subrc <> 0.

    tcurx-currdec = 2.

  ENDIF.

  IF NOT skb1-xsalh IS INITIAL OR

     NOT t001-xslta IS INITIAL.

    CLEAR bkpf.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe117-bukrs

                                         itab_zycbe033-budat

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE kursf FROM bkpf

                 INTO bkpf-kursf

                 WHERE belnr EQ itab_zycbt131-belnr_rfin

                   AND bukrs EQ /pws/zycbe117-bukrs

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

                   AND gjahr EQ itab_zycbe033-budat(4).

* << Fim da exclusão

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

                   AND gjahr EQ v_gjahr.

* << Fim da inclusão

    IF NOT bkpf-kursf IS INITIAL AND

       NOT bkpf-kursf EQ '0.00000'.

      IF NOT itab_zycmt020[]  IS INITIAL.

        CLEAR v_reais_fi_rateio.

        LOOP AT itab_zycmt020.

          v_reais_fi_rateio = itab_zycmt020-vlassoc

                              / ( 10 ** ( tcurx-currdec - 2 ) ).

          v_reais_fi_rateio = ( ( bkpf-kursf / v_defator )

                                 * v_parafator ) * v_reais_fi_rateio.

          v_reais_fi = v_reais_fi + v_reais_fi_rateio.

...

 

...

  ENDIF.

  SELECT SINGLE * FROM tcurx

            WHERE currkey = itab_zycbt108-waers.

  IF sy-subrc <> 0.

    tcurx-currdec = 2.

  ENDIF.

  IF NOT skb1-xsalh IS INITIAL OR

     NOT t001-xslta IS INITIAL.

    CLEAR bkpf.

    IF NOT itab_zycbt108-dtassoc IS INITIAL.

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

      PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                           itab_zycbt108-dtassoc

                                  CHANGING v_gjahr.

* << Fim da inclusão

      SELECT SINGLE kursf FROM bkpf

                   INTO bkpf-kursf

                   WHERE belnr EQ itab_zycbt131-belnr_rfat

                     AND bukrs EQ itab_zycbt108-bukrs

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

                     AND gjahr EQ itab_zycbt108-dtassoc(4).

* << Fim da exclusão

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

                     AND gjahr EQ v_gjahr.

* << Fim da inclusão

    ELSE.

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

      PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                           itab_zycbt108-bldat

                                  CHANGING v_gjahr.

* << Fim da inclusão

      SELECT SINGLE kursf FROM bkpf

                   INTO bkpf-kursf

                   WHERE belnr EQ itab_zycbt131-belnr_rfat

                     AND bukrs EQ itab_zycbt108-bukrs

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

                     AND gjahr EQ itab_zycbt108-bldat(4).

* << Fim da exclusão

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

                     AND gjahr EQ v_gjahr.

* << Fim da inclusão

    ENDIF.

    IF NOT bkpf-kursf IS INITIAL AND

       NOT bkpf-kursf EQ '0.00000'.

      v_reais_fa = itab_zycbt131-vlme /

                             ( 10 ** ( tcurx-currdec - 2 ) ).

      v_reais_fa = ( ( bkpf-kursf / v_defator )

                             * v_parafator ) * v_reais_fa.

    ENDIF.

  ELSE.

    v_reais_fa = itab_zycbt131-vlme /

...

 

...

  ELSE.

  ENDIF.

  SELECT SINGLE * FROM tcurx

            WHERE currkey = /pws/zycbe119-waers.

  IF sy-subrc <> 0.

    tcurx-currdec = 2.

  ENDIF.

  IF NOT skb1-xsalh IS INITIAL OR

     NOT t001-xslta IS INITIAL.

    CLEAR bkpf.

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

    PERFORM verifica_ano_fiscal USING    /pws/zycbe119-bukrs

                                         itab_zycbe033-budat

                                CHANGING v_gjahr.

* << Fim da inclusão

    SELECT SINGLE kursf FROM bkpf

                 INTO bkpf-kursf

                 WHERE belnr EQ itab_zycbt131-belnr_rfin

                   AND bukrs EQ /pws/zycbe119-bukrs

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

                   AND gjahr EQ itab_zycbe033-budat(4).

* << Fim da exclusão

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

                   AND gjahr EQ v_gjahr.

* << Fim da inclusão

    IF NOT bkpf-kursf IS INITIAL AND

       NOT bkpf-kursf EQ '0.00000'.

      IF NOT itab_zycmt020[]  IS INITIAL.

        CLEAR v_reais_fi_rateio.

        LOOP AT itab_zycmt020.

          v_reais_fi_rateio = itab_zycmt020-vlassoc

                              / ( 10 ** ( tcurx-currdec - 2 ) ).

          v_reais_fi_rateio = ( ( bkpf-kursf / v_defator )

                                 * v_parafator ) * v_reais_fi_rateio.

          v_reais_fi = v_reais_fi + v_reais_fi_rateio.

...

 

...

  ENDIF.

  SELECT SINGLE * FROM tcurx

            WHERE currkey = itab_zycbt108-waers.

  IF sy-subrc <> 0.

    tcurx-currdec = 2.

  ENDIF.

  IF NOT skb1-xsalh IS INITIAL OR

     NOT t001-xslta IS INITIAL.

    CLEAR bkpf.

    IF NOT itab_zycbt108-dtassoc IS INITIAL.

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

    PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                         itab_zycbt108-dtassoc

                                CHANGING v_gjahr.

* << Fim da inclusão

      SELECT SINGLE kursf FROM bkpf

                   INTO bkpf-kursf

                   WHERE belnr EQ itab_zycbt131-belnr_rfat

                     AND bukrs EQ itab_zycbt108-bukrs

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

                     AND gjahr EQ itab_zycbt108-dtassoc(4).

* << Fim da exclusão

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

                     AND gjahr EQ v_gjahr.

* << Fim da inclusão

    ELSE.

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

    PERFORM verifica_ano_fiscal USING    itab_zycbt108-bukrs

                                         itab_zycbt108-bldat

                                CHANGING v_gjahr.

* << Fim da inclusão

      SELECT SINGLE kursf FROM bkpf

                   INTO bkpf-kursf

                   WHERE belnr EQ itab_zycbt131-belnr_rfat

                     AND bukrs EQ itab_zycbt108-bukrs

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

                     AND gjahr EQ itab_zycbt108-bldat(4).

* << Fim da exclusão

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

                     AND gjahr EQ v_gjahr.

* << Fim da inclusão

    ENDIF.

    IF NOT bkpf-kursf IS INITIAL AND

       NOT bkpf-kursf EQ '0.00000'.

      v_reais_fa = itab_zycbt131-vlme /

                             ( 10 ** ( tcurx-currdec - 2 ) ).

      v_reais_fa = ( ( bkpf-kursf / v_defator )

                             * v_parafator ) * v_reais_fa.

    ENDIF.

  ELSE.

    v_reais_fa = itab_zycbt131-vlme /

...

 

...

                         WHERE nrseq    EQ /pws/zycbe119-nrseq.

  ENDIF.

  IF v_fat_cont IS INITIAL.

    UPDATE /pws/zycbt108 SET   dtassoc     = v_dtdocto2

                               belnr_as    = v_belnr_as2

                               belnr_lq    = v_belnr_as2

       WHERE belnr       EQ itab_zycbt108-belnr

         AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.  "#EC CI_NOFIRST

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM determina_periodo USING    value(p_data)

                                value(p_bukrs)

                       CHANGING p_periodo.

  DATA v_periv(2).

  SELECT SINGLE periv

    FROM t001

    INTO v_periv

    WHERE bukrs EQ p_bukrs.

  CALL FUNCTION 'DETERMINE_PERIOD'

       EXPORTING

            date                = p_data

            version             = v_periv

       IMPORTING

            period              = p_periodo

       EXCEPTIONS

            period_in_not_valid = 1

            period_not_assigned = 2

            version_undefined   = 3

            OTHERS              = 4.

  IF sy-subrc NE 0.

    CLEAR p_periodo.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB104F01

 

...

FORM visualiza_documento.

  . GET CURSOR FIELD v_campo VALUE v_valor.

  IF v_campo EQ '/PWS/ZYCBE117-BELNR_P'.

    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

         EXPORTING

              input  = v_valor

         IMPORTING

              output = i_belnr

         EXCEPTIONS

            OTHERS        = 0.

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

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = /pws/zycbe117-bukrs

              v_date                 = /pws/zycbe117-dtpagto

         IMPORTING

              v_year                 = v_ano

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    IF sy-subrc <> 0.

    ELSE.

    ENDIF.

* << Fim da inclusão

    SELECT SINGLE * FROM bkpf

      WHERE bukrs = /pws/zycbe117-bukrs

        AND belnr = i_belnr

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

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

* << Fim da exclusão

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

        AND gjahr = v_ano.

* << Fim da inclusão

    IF sy-subrc EQ 0.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB104TOP

 

...

      v_sydynnr    LIKE sy-dynnr,

      v_visivel    LIKE /pws/zyglt319-visivel,

      v_tcodebotao LIKE /pws/zyglt319-tcode,"#EC NEEDED

      v_line          TYPE i,

      v_campo1(22)    TYPE c,

      v_valor1        LIKE ekko-ebeln,

      v_ped           LIKE ekpo-ebeln,

      v_lines         TYPE i,

      v_saldo         LIKE /pws/zycmt020-vlpago,

      v_tot_pedido    LIKE /pws/zycmt020-netwr,

* >> Início da exclusão:

      v_ebeln         LIKE /pws/zycbe117-ebeln.

* << Fim da exclusão

* >> Início da inclusão:

      v_ebeln         LIKE /pws/zycbe117-ebeln,

      v_ano           type bkpf-gjahr.

* << Fim da inclusão

DATA: v_nome_campo(35)   TYPE c,

      v_comp(35)         TYPE c,

      v_cod_grupo        LIKE /pws/zyglt320-cod_grupo,

      wa_zycbe117_aux    LIKE /pws/zycbe117."#EC NEEDED

RANGES:   r_doccompra FOR  ekko-ebeln,

          r_empresa   FOR  ekko-bukrs,

          r_tpcod     FOR  ekko-bsart,

          r_dtcriacao FOR  ekko-aedat,

          r_fornec    FOR  ekko-lifnr,

          r_condpgto  FOR  ekko-zterm,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB106F01

 

...

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

    ENDIF.

  ENDIF.

  PERFORM carrega_zycbt108.

  PERFORM clear_date_batch.

ENDFORM.

FORM carrega_zycbt108.

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

  CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       EXPORTING

            v_bukrs                = /pws/zycbe119-bukrs

            v_date                 = /pws/zycbe119-dtincl

       IMPORTING

            v_year                 = v_year

       EXCEPTIONS

            variante_de_exercicio  = 1

            data_nao_encontrada    = 2

            empresa_nao_encontrada = 3

            period_in_not_valid    = 4

            period_not_assigned    = 5

            version_undefined      = 6

            OTHERS                 = 7.

* << Fim da inclusão

  /pws/zycbt108-belnr = /pws/zycbe119-nrpagto.

  MOVE-CORRESPONDING /pws/zycbe119 TO /pws/zycbt108.

  MOVE: 'I'                  TO /pws/zycbt108-status,

        ''                   TO /pws/zycbt108-statusp,

        /pws/zycbe119-vlme        TO /pws/zycbt108-rmwwr,

        /pws/zycbe119-vlme        TO /pws/zycbt108-slfat,

        /pws/zycbe119-vlme        TO /pws/zycbt108-slfatcc,

        /pws/zycbe119-nrseq       TO /pws/zycbt108-nrseq_pgfat,

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

        /pws/zycbe119-dtincl+0(4) TO /pws/zycbt108-gjahr.

* << Fim da exclusão

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

        v_year                    TO /pws/zycbt108-gjahr.

* << Fim da inclusão

  IF /pws/zycbt108-bldat IS INITIAL OR

     /pws/zycbt108-bldat EQ '        ' OR

     /pws/zycbt108-bldat EQ '00000000'.

    MOVE itab_zycbe033-budat  TO /pws/zycbt108-bldat.

  ENDIF.

  IF NOT itab_zycbt032-belnr IS INITIAL.

    MOVE itab_zycbt032-belnr  TO /pws/zycbt108-belnr_co.

    MOVE itab_zycbt032-belnr  TO /pws/zycbe108-belnr_co.

  ENDIF.

  MODIFY /pws/zycbt108.

ENDFORM.

FORM estorna_doc_pag.

  DATA: v_monat LIKE t001b-frpe1.

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

  DATA: v_periv(2).

* << Fim da inclusão

  itab_zycbe033-mandt  = sy-mandt.

  itab_zycbe033-tcode  = text-022.

  itab_zycbe033-tabela = text-021.

  itab_zycbe033-cpochv = /pws/zycbe119-nrseq.

  itab_zycbe033-belnr  = /pws/zycbe108-belnr_co.

  itab_zycbe033-bukrs  = wa_zycbt119-bukrs.

  itab_zycbe033-budat  = wa_zycbt119-dtincl.

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

  itab_zycbe033-gjahs = itab_zycbe033-budat+0(4).

  v_monat = itab_zycbe033-budat+4(2).

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       EXPORTING

            v_bukrs                = /pws/zycbe119-bukrs

            v_date                 = itab_zycbe033-budat

       IMPORTING

            v_year                 = v_year

       EXCEPTIONS

            variante_de_exercicio  = 1

            data_nao_encontrada    = 2

            empresa_nao_encontrada = 3

            period_in_not_valid    = 4

            period_not_assigned    = 5

            version_undefined      = 6

            OTHERS                 = 7.

  IF sy-subrc = 0. ELSE. ENDIF.

  itab_zycbe033-gjahs = v_year.

  CLEAR v_monat.

  SELECT SINGLE periv FROM t001

               INTO v_periv

               WHERE bukrs EQ /pws/zycbe119-bukrs.

  CALL FUNCTION 'DETERMINE_PERIOD'

       EXPORTING

            date                = itab_zycbe033-budat

            version             = v_periv

       IMPORTING

            period              = v_monat

       EXCEPTIONS

            period_in_not_valid = 1

            period_not_assigned = 2

            version_undefined   = 3

            OTHERS              = 4.

* << Fim da inclusão

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbe033-bukrs

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

            i_gjahr          = itab_zycbe033-budat+0(4)

* << Fim da exclusão

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

            i_gjahr          = v_year

* << Fim da inclusão

            i_koart          = '+'

...

 

...

    itab_zycbe033-stgrd = '01'.

  ELSE.

    itab_zycbe033-stgrd = '02'.

    itab_zycbe033-budat  = sy-datum.

  ENDIF.

  APPEND itab_zycbe033.

  IF NOT itab_zycbe033-belnr IS INITIAL.

    CALL FUNCTION '/PWS/ZYCM_TRANSACAO_FB08'

         EXPORTING

              v_modo          = v_modo_bi

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

              v_gjahs         = wa_zycbt119-dtincl+0(4)

* << Fim da exclusão

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

              v_gjahs         = v_year

* << Fim da inclusão

         TABLES

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

              t_zycbt032      = itab_zycbt032

         EXCEPTIONS

              campo_em_branco = 1

              OTHERS          = 2.

    IF sy-subrc = 0.

      READ TABLE itab_zycbt032 WITH KEY tcode  = 'FB08'

                                        tabela = text-021

...

 

...

                      WHERE nrseq EQ /pws/zycbe119-nrpagto.

  IF sy-subrc EQ 0 AND NOT /pws/zycbe108-belnr_co IS INITIAL.

    IF v_kursfd IS INITIAL OR

       v_kursfd EQ text-074.

      CLEAR bkpf.

      IF /pws/zycbe108-belnr_ori IS INITIAL.

        v_docto_cont = /pws/zycbe108-belnr_co.

      ELSE.

        v_docto_cont = /pws/zycbe108-belnr_ori.

      ENDIF.

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

      CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

           EXPORTING

                v_bukrs                = /pws/zycbe119-bukrs

                v_date                 = /pws/zycbe108-bldat

           IMPORTING

                v_year                 = v_year

           EXCEPTIONS

                variante_de_exercicio  = 1

                data_nao_encontrada    = 2

                empresa_nao_encontrada = 3

                period_in_not_valid    = 4

                period_not_assigned    = 5

                version_undefined      = 6

                OTHERS                 = 7.

      IF sy-subrc = 0. ELSE. ENDIF.

* << Fim da inclusão

      SELECT SINGLE kursf FROM bkpf

                          INTO bkpf-kursf

                         WHERE belnr EQ v_docto_cont

                          AND   bukrs EQ wa_zycbt119-bukrs

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

                          AND   gjahr EQ /pws/zycbe108-bldat(4).

* << Fim da exclusão

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

                          AND   gjahr EQ v_year.

* << Fim da inclusão

      IF sy-subrc EQ 0.

        v_kursfd = bkpf-kursf.

        IF v_kursfd < 0.

          v_kursfd = v_kursfd * -1.

          /pws/zycbe119-vlmi =

            v_vlmeaux / ( ( v_kursfd / v_dfact ) * v_pfact ).

          IF wa_tcurx-currdec = 0.

            /pws/zycbe119-vlmi = /pws/zycbe119-vlmi *

              ( 10 ** ( wa_tcurx-currdec - 2 ) ).

          ENDIF.

...

 

...

  REFRESH itab_zycmt008_excluidos.

  CLEAR  itab_zycmt008_excluidos.

  DELETE ADJACENT DUPLICATES FROM itab_zycmt008

    COMPARING nrseq motivo numdesc.

  SORT itab_zycmt008 BY numdesc.

ENDFORM.

FORM estorna_descontos.

  DATA: v_monat LIKE t001b-frpe1,

        v_nrseqce  LIKE /pws/zycit006-nrseqce,

        v_identify LIKE /pws/zycit093-identify.

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

  DATA: v_periv(2).

* << Fim da inclusão

  PERFORM clear_date_batch.

  PERFORM get_parameters_estorno.

  PERFORM preenche_documento_estorno.

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-51'.

  itab_zycbe033-tabela = '/PWS/ZYCBT108'.

  itab_zycbe033-cpochv = itab_zycbt108_desconto-nrseq_pgfat.

  itab_zycbe033-bldat   = itab_zycmt008_excluidos-dtdes.

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

  itab_zycbe033-gjahs  = itab_zycbe033-bldat(4).

  v_monat = itab_zycbe033-bldat+4(2).

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       EXPORTING

            v_bukrs                = /pws/zycbe119-bukrs

            v_date                 = itab_zycbe033-bldat

       IMPORTING

            v_year                 = v_year

       EXCEPTIONS

            variante_de_exercicio  = 1

            data_nao_encontrada    = 2

            empresa_nao_encontrada = 3

            period_in_not_valid    = 4

            period_not_assigned    = 5

            version_undefined      = 6

            OTHERS                 = 7.

  IF sy-subrc = 0. ELSE. ENDIF.

  itab_zycbe033-gjahs = v_year.

  CLEAR v_monat.

  SELECT SINGLE periv FROM t001

               INTO v_periv

               WHERE bukrs EQ /pws/zycbe119-bukrs.

  CALL FUNCTION 'DETERMINE_PERIOD'

       EXPORTING

            date                = itab_zycbe033-bldat

            version             = v_periv

       IMPORTING

            period              = v_monat

       EXCEPTIONS

            period_in_not_valid = 1

            period_not_assigned = 2

            version_undefined   = 3

            OTHERS              = 4.

* << Fim da inclusão

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbt108_desconto-bukrs

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

            i_gjahr          = itab_zycbe033-bldat+0(4)

* << Fim da exclusão

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

            i_gjahr          = v_year

* << Fim da inclusão

            i_koart          = '+'

            i_monat          = v_monat

       EXCEPTIONS

            error_period     = 1

            error_period_acc = 2

            OTHERS           = 3.

  IF sy-subrc EQ 0.

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

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = itab_zycbt108_desconto-bukrs

              v_date                 = itab_zycmt008_excluidos-dtdes

         IMPORTING

              v_year                 = v_year

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    IF sy-subrc = 0. ELSE. ENDIF.

* << Fim da inclusão

    SELECT SINGLE kursf FROM bkpf

      INTO (v_taxacambial)

      WHERE bukrs EQ itab_zycbt108_desconto-bukrs

        AND belnr EQ itab_zycbt036-belnr

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

        AND gjahr EQ itab_zycmt008_excluidos-dtdes(4).

* << Fim da exclusão

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

        AND gjahr EQ v_year.

* << Fim da inclusão

    IF sy-subrc EQ 0.

      itab_zycbe033-kursf = v_taxacambial.

    ENDIF.

  ELSE.

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

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = itab_zycbt108_desconto-bukrs

              v_date                 = itab_zycmt008_excluidos-dtdes

         IMPORTING

              v_year                 = v_year

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    IF sy-subrc = 0. ELSE. ENDIF.

* << Fim da inclusão

    itab_zycbe033-bldat   = sy-datum.

    SELECT SINGLE kursf FROM bkpf

      INTO (v_taxacambial)

      WHERE bukrs EQ itab_zycbt108_desconto-bukrs

        AND belnr EQ itab_zycbt036-belnr

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

        AND gjahr EQ itab_zycmt008_excluidos-dtdes(4).

* << Fim da exclusão

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

        AND gjahr EQ v_year.

* << Fim da inclusão

    IF sy-subrc EQ 0.

      itab_zycbe033-kursf = v_taxacambial.

    ENDIF.

  ENDIF.

  PERFORM verify_null_field USING v_taxacambial

                                  'TAXA'

                                  text-092.

  itab_zycbe033-blart   = wa_zycbt011-blart.

  IF /pws/zycbe119-slpgfat IS INITIAL.

    itab_zycbe033-newbs   = '31'.

...

 

...

           WHERE mdcorresp = 'IP'                AND

                 nrseq     = /pws/zycbe119-nrseq AND

                 bukrs     = /pws/zycbe119-bukrs.

    ENDSELECT.

    IF sy-subrc NE 0.

      CLEAR v_belnr.

    ENDIF.

  ENDIF.

  CHECK v_belnr NE '          ' AND

        v_belnr NE '0000000000'.

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

  CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       EXPORTING

            v_bukrs                = /pws/zycbe119-bukrs

            v_date                 = v_data

       IMPORTING

            v_year                 = v_year

       EXCEPTIONS

            variante_de_exercicio  = 1

            data_nao_encontrada    = 2

            empresa_nao_encontrada = 3

            period_in_not_valid    = 4

            period_not_assigned    = 5

            version_undefined      = 6

            OTHERS                 = 7.

  IF sy-subrc = 0. ELSE. ENDIF.

* << Fim da inclusão

  SELECT buzei zterm zbd1t

         FROM bsik

           UP TO 1 ROWS

         INTO (v_buzei, v_zterm, v_zbd1t)

         WHERE belnr = v_belnr                AND

               bukrs = /pws/zycbe119-bukrs    AND

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

               gjahr = v_data(4)              AND

* << Fim da exclusão

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

               gjahr = v_year                 AND

* << Fim da inclusão

               shkzg = 'H'.

  ENDSELECT.

  CHECK sy-subrc EQ 0.

  v_zbd1t = v_zbd1t + v_pror.

  itab_zycbe033-mandt  = sy-mandt.

  itab_zycbe033-tcode  = 'FB02'.

  itab_zycbe033-tabela = '/PWS/ZYCBT119'.

  itab_zycbe033-cpochv = /pws/zycbe119-nrpagto.

  itab_zycbe033-bukrs  = /pws/zycbe119-bukrs.

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

  itab_zycbe033-gjahs  = v_data(4).

* << Fim da exclusão

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

  itab_zycbe033-gjahs  = v_year.

* << Fim da inclusão

  itab_zycbe033-belnr  = v_belnr.

  itab_zycbe033-ebene  = v_buzei+1(2).

  itab_zycbe033-zbd1t  = v_zbd1t.

  itab_zycbe033-agkoa  = 'K'.

  APPEND itab_zycbe033.

  CALL FUNCTION '/PWS/ZYCB_TRANSACAO_FB02'

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycbe033

...

 

...

        EXIT.

      ENDIF.

    ENDLOOP.

  ENDIF.

ENDFORM.

FORM estorna_descontos_cr.

  DATA: v_monat LIKE t001b-frpe1,

        v_nrseqce  LIKE /pws/zycit006-nrseqce,

        v_identify LIKE /pws/zycit093-identify,

        v_belnr    LIKE /pws/zycbt108-belnr.

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

  DATA: v_periv(2).

* << Fim da inclusão

  PERFORM clear_date_batch.

  PERFORM get_parameters_estorno.

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-43'.

  itab_zycbe033-tabela = '/PWS/ZYCBT108'.

  itab_zycbe033-cpochv = itab_zycbt108_desconto-nrseq_pgfat.

  itab_zycbe033-bldat   = itab_zycmt008_excluidos-dtdes.

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

  itab_zycbe033-gjahs  = itab_zycbe033-bldat(4).

  v_monat = itab_zycbe033-bldat+4(2).

* << Fim da exclusão

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

  CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       EXPORTING

            v_bukrs                = /pws/zycbe119-bukrs

            v_date                 = itab_zycbe033-bldat

       IMPORTING

            v_year                 = v_year

       EXCEPTIONS

            variante_de_exercicio  = 1

            data_nao_encontrada    = 2

            empresa_nao_encontrada = 3

            period_in_not_valid    = 4

            period_not_assigned    = 5

            version_undefined      = 6

            OTHERS                 = 7.

  IF sy-subrc = 0. ELSE. ENDIF.

  itab_zycbe033-gjahs = v_year.

  CLEAR v_monat.

  SELECT SINGLE periv FROM t001

               INTO v_periv

               WHERE bukrs EQ /pws/zycbe119-bukrs.

  CALL FUNCTION 'DETERMINE_PERIOD'

       EXPORTING

            date                = itab_zycbe033-bldat

            version             = v_periv

       IMPORTING

            period              = v_monat

       EXCEPTIONS

            period_in_not_valid = 1

            period_not_assigned = 2

            version_undefined   = 3

            OTHERS              = 4.

* << Fim da inclusão

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbt108_desconto-bukrs

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

            i_gjahr          = itab_zycbe033-bldat+0(4)

* << Fim da exclusão

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

            i_gjahr          = v_year

* << Fim da inclusão

            i_koart          = '+'

            i_monat          = v_monat

       EXCEPTIONS

            error_period     = 1

            error_period_acc = 2

            OTHERS           = 3.

  IF sy-subrc EQ 0.

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

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = /pws/zycbe119-bukrs

              v_date                 = itab_zycmt008_excluidos-dtdes

         IMPORTING

              v_year                 = v_year

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    IF sy-subrc = 0. ELSE. ENDIF.

* << Fim da inclusão

    SELECT SINGLE kursf FROM bkpf

      INTO (v_taxacambial)

      WHERE bukrs EQ itab_zycbt108_desconto-bukrs

        AND belnr EQ itab_zycbt036-belnr

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

        AND gjahr EQ itab_zycmt008_excluidos-dtdes(4).

* << Fim da exclusão

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

        AND gjahr EQ v_year.

* << Fim da inclusão

    IF sy-subrc EQ 0.

      itab_zycbe033-kursf = v_taxacambial.

    ENDIF.

  ELSE.

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

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = /pws/zycbe119-bukrs

              v_date                 = itab_zycmt008_excluidos-dtdes

         IMPORTING

              v_year                 = v_year

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    IF sy-subrc = 0. ELSE. ENDIF.

* << Fim da inclusão

    itab_zycbe033-bldat   = sy-datum.

    IF itab_zycbt108_desconto-belnr_lq IS INITIAL.

      v_belnr = itab_zycbt108_desconto-belnr_co.

    ELSE.

      v_belnr = itab_zycbt108_desconto-belnr_lq.

    ENDIF.

    SELECT SINGLE kursf FROM bkpf

      INTO (v_taxacambial)

      WHERE bukrs EQ itab_zycbt108_desconto-bukrs

        AND belnr EQ v_belnr

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

        AND gjahr EQ itab_zycmt008_excluidos-dtdes(4).

* << Fim da exclusão

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

        AND gjahr EQ v_year.

* << Fim da inclusão

    IF sy-subrc EQ 0.

      itab_zycbe033-kursf = v_taxacambial.

    ENDIF.

  ENDIF.

  PERFORM verify_null_field USING v_taxacambial

                                  'TAXA'

                                  text-092.

  itab_zycbe033-blart   = wa_zycbt011-blart.

  IF /pws/zycbe119-slpgfat IS INITIAL.

    itab_zycbe033-newbs   = '31'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB106I01

 

...

      IF v_campo EQ '/PWS/ZYCME008-BELNR_DES'.

        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

             EXPORTING

                  input  = v_valor

             IMPORTING

                  output = i_belnr

             EXCEPTIONS

            OTHERS        = 0.

        IF /pws/zycbe108-bldat NE ' ' AND

           /pws/zycbe108-bldat NE '00000000'.

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

          CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

               EXPORTING

                    v_bukrs                = /pws/zycbe119-bukrs

                    v_date                 = /pws/zycbe108-bldat

               IMPORTING

                    v_year                 = v_year

               EXCEPTIONS

                    variante_de_exercicio  = 1

                    data_nao_encontrada    = 2

                    empresa_nao_encontrada = 3

                    period_in_not_valid    = 4

                    period_not_assigned    = 5

                    version_undefined      = 6

                    OTHERS                 = 7.

          IF sy-subrc = 0. ELSE. ENDIF.

* << Fim da inclusão

          SELECT SINGLE * FROM bkpf

            WHERE bukrs = wa_zycbt119-bukrs

              AND belnr = i_belnr

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

               AND gjahr = /pws/zycbe108-bldat(4).

* << Fim da exclusão

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

               AND gjahr = v_year.

* << Fim da inclusão

        ELSE.

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

          CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

               EXPORTING

                    v_bukrs                = /pws/zycbe119-bukrs

                    v_date                 = wa_zycbt119-dtincl

               IMPORTING

                    v_year                 = v_year

               EXCEPTIONS

                    variante_de_exercicio  = 1

                    data_nao_encontrada    = 2

                    empresa_nao_encontrada = 3

                    period_in_not_valid    = 4

                    period_not_assigned    = 5

                    version_undefined      = 6

                    OTHERS                 = 7.

          IF sy-subrc = 0. ELSE. ENDIF.

* << Fim da inclusão

          SELECT SINGLE * FROM bkpf

            WHERE bukrs = wa_zycbt119-bukrs

              AND belnr = i_belnr

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

              AND gjahr = wa_zycbt119-dtincl(4).

* << Fim da exclusão

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

              AND gjahr = v_year.

* << Fim da inclusão

        ENDIF.

        IF sy-subrc EQ 0.

          SET PARAMETER ID 'BUK' FIELD wa_zycbt119-bukrs.

          SET PARAMETER ID 'BLN' FIELD i_belnr.

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

          IF /pws/zycbe108-bldat NE ' ' AND

             /pws/zycbe108-bldat NE '00000000'.

            SET PARAMETER ID 'GJR' FIELD /pws/zycbe108-bldat.

          ELSE.

            SET PARAMETER ID 'GJR' FIELD wa_zycbt119-dtincl(4).

          ENDIF.

* << Fim da exclusão

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

          SET PARAMETER ID 'GJR' FIELD v_year.

* << Fim da inclusão

          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.

      ENDIF.

    WHEN 'CLEAR'.

...

 

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

Modificações efetuadas em REPS /PWS/MZYCM101F01

 

...

    IF NOT itab_zycbt113p-dtcont IS INITIAL.

      itab_zycbe033-budat  = itab_zycbt113p-dtcont.

    ELSEIF NOT wa_zycbt112-dtcont IS INITIAL.

      itab_zycbe033-budat  = wa_zycbt112-dtcont.

    ELSE.

      itab_zycbe033-budat  = /pws/zycbe112-dtdesem.

    ENDIF.

    PERFORM determina_periodo

      USING    itab_zycbe033-budat

      CHANGING v_monat.

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

    PERFORM determina_ano

      USING    itab_zycbe033-budat

      CHANGING v_ano.

* << Fim da inclusão

    CALL FUNCTION 'FI_PERIOD_CHECK'

         EXPORTING

              i_bukrs          = itab_zycbe033-bukrs

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

              i_gjahr          = itab_zycbe033-budat+0(4)

* << Fim da exclusão

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

              i_gjahr          = v_ano

* << Fim da inclusão

              i_koart          = '+'

...

 

...

    ELSE.

      itab_zycbe033-budat  = wa_zycbt112-dtdesem.

    ENDIF.

    PERFORM determina_ano

     USING    itab_zycbe033-budat

     CHANGING itab_zycbe033-gjahs.

    v_monat = itab_zycbe033-budat+2(2).

    CALL FUNCTION 'FI_PERIOD_CHECK'

         EXPORTING

              i_bukrs          = itab_zycbe033-bukrs

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

              i_gjahr          = itab_zycbe033-budat+0(4)

* << Fim da exclusão

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

              i_gjahr          = itab_zycbe033-gjahs

* << Fim da inclusão

              i_koart          = '+'

              i_monat          = v_monat

         EXCEPTIONS

              error_period     = 1

              error_period_acc = 2

              OTHERS           = 3.

    IF sy-subrc = 0.

      itab_zycbe033-stgrd = '01'.

    ELSE.

      itab_zycbe033-stgrd = '02'.

...

 

...

    ENDIF.

  ENDLOOP.

  IF NOT /pws/zycbe112-belnr IS INITIAL.

    PERFORM clear_date_batch.

    REFRESH itab_zycbt036.

    CLEAR itab_zycbt036.

    itab_zycbt036-tcode  = text-083.

    itab_zycbt036-tabela = text-008.

    itab_zycbt036-cpochv = /pws/zycbe112-nrseq.

    itab_zycbt036-belnr = /pws/zycbe112-belnr.

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

    PERFORM determina_ano

      USING    /pws/zycbe112-dtdesem

      CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE awkey FROM bkpf

                        INTO itab_zycbt036-awkey

                        WHERE belnr EQ /pws/zycbe112-belnr

                          AND bukrs EQ /pws/zycbe112-bukrs

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

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

* << Fim da exclusão

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

                          AND gjahr EQ v_ano.

* << Fim da inclusão

    APPEND itab_zycbt036.

    v_vlres = /pws/zycbe112-vlme.

    PERFORM gera_novas_parcelas.

  ENDIF.

ENDFORM.

FORM preenche_documentos.

  itab_zycbt036-tcode  = text-083.

  itab_zycbt036-tabela = text-008.

  itab_zycbt036-cpochv = itab_zycbt112-nrseq.

  LOOP AT itab_zycbt116 WHERE nrfinanc = itab_zycbt112-nrseq.

...

 

...

    SELECT  dtcont

      FROM /pws/zycbt154

        UP TO 1 ROWS

      INTO /pws/zycbt154-dtcont

     WHERE nrcorresp EQ itab_zycbt112-nrseq

         AND tpcontr EQ itab_zycbt116-nrparc+1(2)

          AND codmod  EQ 'I'

         AND codmodul EQ 'T'.

    ENDSELECT.

    IF sy-subrc EQ 0.

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

      PERFORM determina_ano

        USING    /pws/zycbt154-dtcont

        CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE awkey FROM bkpf

                          INTO itab_zycbt036-awkey

                          WHERE belnr EQ /pws/zycbt113-belnr

                            AND bukrs EQ itab_zycbt112-bukrs

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

                            AND gjahr EQ /pws/zycbt154-dtcont(4).

* << Fim da exclusão

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

                            AND gjahr EQ v_ano.

* << Fim da inclusão

      APPEND itab_zycbt036.

    ELSE.

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

      PERFORM determina_ano

        USING    itab_zycbt112-dtdesem

        CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE awkey FROM bkpf

                          INTO itab_zycbt036-awkey

                          WHERE belnr EQ /pws/zycbt113-belnr

                            AND bukrs EQ itab_zycbt112-bukrs

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

                            AND gjahr EQ itab_zycbt112-dtdesem(4).

* << Fim da exclusão

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

                            AND gjahr EQ v_ano.

* << Fim da inclusão

      APPEND itab_zycbt036.

    ENDIF.

  ENDLOOP.

  itab_zycbt036-tcode  = text-083.

  itab_zycbt036-tabela = text-008.

  itab_zycbt036-cpochv = itab_zycbt112-nrseq.

  itab_zycbt036-belnr  = /pws/zycbe112-belnr.

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

  PERFORM determina_ano

    USING    /pws/zycbe112-dtdesem

    CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE awkey FROM bkpf

                      INTO itab_zycbt036-awkey

                      WHERE belnr EQ /pws/zycbe112-belnr

                        AND bukrs EQ /pws/zycbe112-bukrs

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

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

* << Fim da exclusão

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

                        AND gjahr EQ v_ano.

* << Fim da inclusão

  APPEND itab_zycbt036.

ENDFORM.

FORM calcula_montante.

  DATA:  v_difer       LIKE /pws/zycbt116-vlme,

         v_parcela_brl LIKE /pws/zycbt116-vlme,

         v_txcbrl      LIKE tcurr-ukurs,                    "#EC NEEDED

         v_vlrme       LIKE /pws/zycbt116-vlme,

         v_msg1(30),

         v_msg2(30),

         v_ctmoed      TYPE /pws/zycbt011-ctmoed.

...

 

...

  ENDIF.

ENDFORM.

FORM associacao.

ENDFORM.

FORM drill_down_cabecalho.

  GET CURSOR FIELD v_campo VALUE v_valor.

  IF v_campo EQ '/PWS/ZYCBE112-BELNR'.

    IF NOT v_valor IS INITIAL.

      i_belnr = v_valor.

      i_bukrs = /pws/zycbe112-bukrs.

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

      i_gjahr = wa_zycbt112-dtdesem(4).

* << Fim da exclusão

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

      PERFORM determina_ano

        USING    wa_zycbt112-dtdesem

        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.

...

 

...

      itab_zycbe033-budat  = wa_zycbt112-dtcont.

    ELSE.

      itab_zycbe033-budat  = wa_zycbt112-dtdesem.

    ENDIF.

  ELSE.

    itab_zycbe033-budat  = wa_zycbt112-dtdesem.

  ENDIF.

  PERFORM determina_ano

       USING itab_zycbe033-budat

    CHANGING itab_zycbe033-gjahs.

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

  v_monat = itab_zycbe033-budat+2(2).

* << Fim da exclusão

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

  PERFORM determina_periodo

    USING    itab_zycbe033-budat

    CHANGING v_monat.

* << Fim da inclusão

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbe033-bukrs

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

            i_gjahr          = itab_zycbe033-budat+0(4)

* << Fim da exclusão

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

            i_gjahr          = itab_zycbe033-gjahs

* << Fim da inclusão

            i_koart          = '+'

...

 

...

      v_flag = 'X'.

      CONTINUE.

    ENDIF.

    v_vlres = v_vlres + itab_zycbt113pa-vlme.

    IF v_prazo1 EQ 'L' AND

       itab_zycbt113pa-ftransf EQ 'L'.

      itab_zycbt036-tcode  = text-083.

      itab_zycbt036-tabela = text-008.

      itab_zycbt036-cpochv = /pws/zycbe112-nrseq.

      itab_zycbt036-belnr = itab_zycbt113pa-belnr.

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

      PERFORM determina_ano

        USING    wa_zycbt112-dtdesem

        CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE awkey FROM bkpf

                          INTO itab_zycbt036-awkey

                          WHERE belnr EQ itab_zycbt113pa-belnr

                            AND bukrs EQ wa_zycbt112-bukrs

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

                            AND gjahr EQ wa_zycbt112-dtdesem(4).

* << Fim da exclusão

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

                            AND gjahr EQ v_ano.

* << Fim da inclusão

      APPEND itab_zycbt036.

      CONTINUE.

    ENDIF.

    PERFORM busca_conta_parcela.

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = text-083.

    itab_zycbe033-tabela = text-008.

    itab_zycbe033-cpochv = /pws/zycbe112-nrseq.

    CASE wa_zycbt007-fdtdoc.

      WHEN 'D'.

...

 

...

    PERFORM verify_null_field USING /pws/zycbe112-sldesem

                                    'SLDESEM'

                                    text-015.

    itab_zycbe033-wrbtr  = itab_zycbt113pa-vlme.

    itab_zycbe033-newbs = '50'.

    itab_zycbe033-c_newko = v_newkof.

    itab_zycbe033-d_newko = v_newkof.

    itab_zycbe033-agkon = itab_zyglt316-konth.

    itab_zycbe033-agkoa = 'S'.

    itab_zycbe033-belnr = itab_zycbt113pa-belnr.

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

    PERFORM determina_ano

      USING    wa_zycbt112-dtdesem

      CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE awkey FROM bkpf

                        INTO itab_zycbe033-awkey

                        WHERE belnr EQ itab_zycbt113pa-belnr

                          AND bukrs EQ wa_zycbt112-bukrs

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

                          AND gjahr EQ itab_zycbe033-gjahs.

* << Fim da exclusão

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

                          AND gjahr EQ v_ano.

* << Fim da inclusão

    IF /pws/zycbe112-bco_forn IS INITIAL.

      PERFORM verify_null_field USING /pws/zycbe112-lifnr

                                      'LIFNR'

                                      text-022.

    ELSE.

      PERFORM verify_null_field USING /pws/zycbe112-bcofinan

                                      'LIFNR'

                                      text-022.

    ENDIF.

    itab_zycbe033-d_gsber = /pws/zycbe112-gsber.

...

 

...

          CONCATENATE text-058

                      itab_zycbt032-msg

                 INTO wa_mensagem-msg

            SEPARATED BY space.

          APPEND wa_mensagem TO itab_mensagem.

          REFRESH itab_zycbt036.

          itab_zycbt036-tcode  = text-083.

          itab_zycbt036-tabela = text-008.

          itab_zycbt036-cpochv = /pws/zycbe112-nrseq.

          itab_zycbt036-belnr = itab_zycbt032-belnr.

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

          PERFORM determina_ano

            USING    v_budat

            CHANGING v_ano.

* << Fim da inclusão

          SELECT SINGLE awkey FROM bkpf

                              INTO itab_zycbt036-awkey

                              WHERE belnr EQ itab_zycbt032-belnr

                                AND bukrs EQ /pws/zycbe112-bukrs

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

                                 AND gjahr EQ v_budat(4).

* << Fim da exclusão

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

                                AND gjahr EQ v_ano.

* << Fim da inclusão

          APPEND itab_zycbt036.

          itab_zycbt113p-belnr = itab_zycbt032-belnr.

          IF v_prazo EQ c_prazo_l.

            itab_zycbt113p-belnr_lp = itab_zycbt032-belnr.

            itab_zycbt113p-ftransf  = c_prazo_l.

          ELSEIF v_prazo EQ c_prazo_c.

            itab_zycbt113p-ftransf = c_prazo_c.

          ELSE.

            itab_zycbt113p-ftransf = c_prazo_s.

          ENDIF.

...

 

...

          CONCATENATE text-058

                      itab_zycbt032-msg

                 INTO wa_mensagem-msg

            SEPARATED BY space.

          APPEND wa_mensagem TO itab_mensagem.

          REFRESH itab_zycbt036.

          itab_zycbt036-tcode  = text-083.

          itab_zycbt036-tabela = text-008.

          itab_zycbt036-cpochv = wa_zycbt112r-nrseq.

          itab_zycbt036-belnr  = itab_zycbt032-belnr.

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

          PERFORM determina_ano

            USING    itab_zycbe033-budat

            CHANGING v_ano.

* << Fim da inclusão

          SELECT SINGLE awkey FROM bkpf

                 INTO itab_zycbt036-awkey

                 WHERE bukrs = itab_zycbe033-bukrs

                   AND belnr = itab_zycbt032-belnr

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

                   AND gjahr = itab_zycbe033-budat(4).

* << Fim da exclusão

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

                   AND gjahr = v_ano.

* << Fim da inclusão

          APPEND itab_zycbt036.

          CLEAR v_zuonr.

          IF NOT v_flag IS INITIAL.

            CONCATENATE wa_zycbt112r-nrseq 'R' INTO v_zuonr.

          ENDIF.

          wa_zycbt113-belnr = itab_zycbt032-belnr.

          IF v_prazo EQ 'L'.

            wa_zycbt113-belnr_lp = itab_zycbt032-belnr.

          ENDIF.

          wa_zycbt112r-slrefin  = wa_zycbt112r-slrefin +

...

 

...

FORM finaliza_processo_contabil.

  DATA:

    wa_mensagem LIKE LINE OF itab_mensagem.

  SORT itab_zycbt113p BY nrparc DESCENDING.

  LOOP AT itab_zycbt113p WHERE belnr NE ' '.

    REFRESH itab_zycbt036.

    itab_zycbt036-tcode  = text-083.

    itab_zycbt036-tabela = text-008.

    itab_zycbt036-cpochv = /pws/zycbe112-nrseq.

    itab_zycbt036-belnr = itab_zycbt113p-belnr.

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

    PERFORM determina_ano

      USING    /pws/zycbe112-dtdesem

      CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE awkey FROM bkpf

                        INTO itab_zycbt036-awkey

                        WHERE belnr EQ itab_zycbt113p-belnr

                          AND bukrs EQ /pws/zycbe112-bukrs

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

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

* << Fim da exclusão

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

                          AND gjahr EQ v_ano.

* << Fim da inclusão

    APPEND itab_zycbt036.

    EXIT.

  ENDLOOP.

  CLEAR:

         v_nrdias.

  SORT itab_zycbt113p BY nrparc ASCENDING.

  LOOP AT itab_zycbt113p WHERE dtpagto EQ ' ' OR

                               dtpagto EQ '00000000'.

    IF itab_zycbt113p-belnr IS INITIAL.

      v_vlres = v_vlres + itab_zycbt113p-vlme.

...

 

...

          CONCATENATE text-058

                      itab_zycbt032-msg

                 INTO wa_mensagem-msg

            SEPARATED BY space.

          APPEND wa_mensagem TO itab_mensagem.

          REFRESH itab_zycbt036.

          itab_zycbt036-tcode  = text-083.

          itab_zycbt036-tabela = text-008.

          itab_zycbt036-cpochv = /pws/zycbe112-nrseq.

          itab_zycbt036-belnr = itab_zycbt032-belnr.

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

          PERFORM determina_ano

            USING    /pws/zycbe112-dtdesem

            CHANGING v_ano.

* << Fim da inclusão

          SELECT SINGLE awkey FROM bkpf

                              INTO itab_zycbt036-awkey

                              WHERE belnr EQ itab_zycbt032-belnr

                                AND bukrs EQ /pws/zycbe112-bukrs

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

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

* << Fim da exclusão

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

                                AND gjahr EQ v_ano.

* << Fim da inclusão

          APPEND itab_zycbt036.

          itab_zycbt113p-belnr = itab_zycbt032-belnr.

          IF v_prazo EQ 'L'.

            itab_zycbt113p-belnr_lp = itab_zycbt032-belnr.

            itab_zycbt113p-ftransf  = 'L'.

          ELSE.

            itab_zycbt113p-ftransf = 'S'.

          ENDIF.

          MODIFY itab_zycbt113p.

          UPDATE /pws/zycbt113 SET belnr    = itab_zycbt032-belnr

...

 

...

        wa_mensagem LIKE LINE OF itab_mensagem,

        v_codeven     LIKE /pws/zycbt011-codeven.

  PERFORM clear_date_batch.

  PERFORM get_parameters_f_51_estorno.

  CLEAR itab_zycbt036.

  REFRESH itab_zycbt036.

  itab_zycbt036-tcode  = text-083.

  itab_zycbt036-tabela = text-008.

  itab_zycbt036-cpochv = /pws/zycbe112-nrseq.

  itab_zycbt036-belnr  = /pws/zycbe112-belnr_as.

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

  PERFORM determina_ano

    USING    /pws/zycbe112-dtassoc

    CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE budat awkey FROM bkpf

                      INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                      WHERE belnr EQ /pws/zycbe112-belnr_as

                        AND bukrs EQ /pws/zycbe112-bukrs

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

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

* << Fim da exclusão

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

                        AND gjahr EQ v_ano.

* << Fim da inclusão

  APPEND itab_zycbt036.

  LOOP AT itab_zycbt113p.

    itab_zycbt036-tcode  = text-083.

    itab_zycbt036-tabela = text-008.

    itab_zycbt036-cpochv = itab_zycbt113p-nrseq.

    itab_zycbt036-belnr  = itab_zycbt113p-belnr.

    itab_zycbt036-zuonr  = itab_zycbt113p-ftransf.

    IF NOT wa_zycbt112-dtcont IS INITIAL.

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

      PERFORM determina_ano

        USING    wa_zycbt112-dtcont

        CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE budat awkey

        FROM bkpf

        INTO (itab_zycbt036-dtdocto, itab_zycbt036-awkey)

        WHERE belnr EQ itab_zycbt113p-belnr AND

              bukrs EQ /pws/zycbe112-bukrs  AND

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

              gjahr EQ wa_zycbt112-dtcont(4).

* << Fim da exclusão

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

              gjahr EQ v_ano.

* << Fim da inclusão

    ELSE.

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

      PERFORM determina_ano

        USING    wa_zycbt112-dtdesem

        CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE budat awkey FROM bkpf

                       INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                          WHERE belnr EQ itab_zycbt113p-belnr

                            AND bukrs EQ /pws/zycbe112-bukrs

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

                            AND gjahr EQ wa_zycbt112-dtdesem(4).

* << Fim da exclusão

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

                            AND gjahr EQ v_ano.

* << Fim da inclusão

    ENDIF.

    APPEND itab_zycbt036.

  ENDLOOP.

  IF sy-subrc EQ 0.

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = text-083.

    itab_zycbe033-tabela = text-008.

    itab_zycbe033-cpochv = /pws/zycbe112-nrseq.

    CASE wa_zycbt007-fdtdoc.

      WHEN 'D'.

...

 

...

  DATA: END OF itab_processados.

  DATA: BEGIN OF itab_processados2 OCCURS 0.

          INCLUDE STRUCTURE bseg.

  DATA: END OF itab_processados2.

  DATA: v_processado(1) TYPE c,

        wa_zycbt113p    LIKE itab_zycbt113p.

  CLEAR:   itab_bseg, itab_processados, itab_processados2.

  REFRESH: itab_bseg, itab_processados, itab_processados2.

  SORT itab_zycmt020 BY ebeln ebelp.

  LOOP AT itab_zycbt113p INTO wa_zycbt113p WHERE belnr <> ' '.

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

    PERFORM determina_ano

      USING    wa_zycbt112-dtdesem

      CHANGING v_ano.

* << Fim da inclusão

    CALL FUNCTION 'BBP_FI_DOCUMENT_READ'

         EXPORTING

              i_bukrs     = /pws/zycbe112-bukrs

              i_belnr     = wa_zycbt113p-belnr

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

              i_gjahr     = wa_zycbt112-dtdesem(4)

* << Fim da exclusão

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

              i_gjahr     = v_ano

* << Fim da inclusão

         TABLES

              t_bseg      = itab_bseg

         EXCEPTIONS

              wrong_input = 1

              not_found   = 2

              OTHERS      = 3.

    IF sy-subrc = 0.

    ELSE.

    ENDIF.

    LOOP AT itab_bseg WHERE ebeln <> ' '.

...

 

...

    SELECT  dtcont

      FROM /pws/zycbt154

        UP TO 1 ROWS

      INTO /pws/zycbt154-dtcont

     WHERE nrcorresp EQ /pws/zycbe112-nrseq

       AND tpcontr EQ itab_zycbt113p-nrparc+1(2)

       AND codmod  EQ 'I'

       AND codmodul EQ 'T'.

    ENDSELECT.

    IF sy-subrc = 0.

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

      itab_zycbe033-gjahs  = /pws/zycbt154-dtcont.

* << Fim da exclusão

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

      PERFORM determina_ano

        USING    /pws/zycbt154-dtcont

        CHANGING itab_zycbe033-gjahs.

* << Fim da inclusão

    ELSE.

      IF NOT itab_zycbt113p-dtcont IS INITIAL.

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

        itab_zycbe033-gjahs  = itab_zycbt113p-dtcont.

* << Fim da exclusão

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

        PERFORM determina_ano

          USING    itab_zycbt113p-dtcont

          CHANGING itab_zycbe033-gjahs.

* << Fim da inclusão

      ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.

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

        itab_zycbe033-gjahs  = /pws/zycbe112-dtcont.

* << Fim da exclusão

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

        PERFORM determina_ano

          USING    /pws/zycbe112-dtcont

          CHANGING itab_zycbe033-gjahs.

* << Fim da inclusão

      ELSE.

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

        itab_zycbe033-gjahs  = /pws/zycbe112-dtdesem.

* << Fim da exclusão

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

        PERFORM determina_ano

          USING    /pws/zycbe112-dtdesem

          CHANGING itab_zycbe033-gjahs.

* << Fim da inclusão

      ENDIF.

    ENDIF.

  ELSE.

    IF NOT itab_zycbt113p-dtcont IS INITIAL.

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

      itab_zycbe033-gjahs  = itab_zycbt113p-dtcont.

* << Fim da exclusão

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

      PERFORM determina_ano

        USING    itab_zycbt113p-dtcont

        CHANGING itab_zycbe033-gjahs.

* << Fim da inclusão

    ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.

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

      itab_zycbe033-gjahs  = /pws/zycbe112-dtcont.

* << Fim da exclusão

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

      PERFORM determina_ano

        USING    /pws/zycbe112-dtcont

        CHANGING itab_zycbe033-gjahs.

* << Fim da inclusão

    ELSE.

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

      itab_zycbe033-gjahs  = /pws/zycbe112-dtdesem.

* << Fim da exclusão

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

      PERFORM determina_ano

        USING    /pws/zycbe112-dtdesem

        CHANGING itab_zycbe033-gjahs.

* << Fim da inclusão

    ENDIF.

  ENDIF.

  PERFORM verify_null_field

          USING itab_zycbe033-gjahs 'GJAHS' text-464.

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

      WHEN 'ZFBDT'.

        CASE itab_zyglt321-cpocb.

          WHEN 'DTFINAL'.

            itab_zycbe033-zfbdt = itab_zycbt113p-dtfinal.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCM101I01

 

...

            CLEAR /pws/zycbt031.

            SELECT *

              FROM /pws/zycbt031

                up to 1 rows

              WHERE nrcorresp EQ /pws/zycbe112-nrseq

                AND mdcorresp EQ 'IF'

                AND tpparc    EQ 'P'

                AND nrparc    EQ itab_zycbt113p-nrparc.

            endselect.

          ENDIF.

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

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

* << Fim da exclusão

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

          PERFORM determina_ano

            USING    /pws/zycbt031-dtcredpr

            CHANGING i_gjahr.

* << Fim da inclusão

        ELSE.

          READ TABLE itab_zycbt113p WITH KEY belnr = v_valor.

          IF itab_zycbt113p-ftransf EQ 'C'.

            CLEAR /pws/zycbt154.

            SELECT dtcont

              FROM /pws/zycbt154

                up to 1 rows

              INTO /pws/zycbt154-dtcont

             WHERE codmod EQ 'I'

             AND codmodul EQ 'T'

            AND nrcorresp EQ /pws/zycbe112-nrseq

             AND belnr_cl EQ v_valor.

            endselect.

            IF sy-subrc = 0.

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

              i_gjahr = /pws/zycbt154-dtcont(4).

* << Fim da exclusão

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

              PERFORM determina_ano

                USING    /pws/zycbt154-dtcont

                CHANGING i_gjahr.

* << Fim da inclusão

            ELSE.

               IF NOT itab_zycbt113p-dtcont IS INITIAL.

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

                  i_gjahr = itab_zycbt113p-dtcont(4).

* << Fim da exclusão

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

                PERFORM determina_ano

                  USING    itab_zycbt113p-dtcont

                  CHANGING i_gjahr.

* << Fim da inclusão

               ELSEIF NOT wa_zycbt112-dtcont IS INITIAL.

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

                  i_gjahr = wa_zycbt112-dtcont(4).

* << Fim da exclusão

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

                PERFORM determina_ano

                  USING    wa_zycbt112-dtcont

                  CHANGING i_gjahr.

* << Fim da inclusão

               ELSE.

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

                  i_gjahr = wa_zycbt112-dtdesem(4).

* << Fim da exclusão

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

                PERFORM determina_ano

                  USING    wa_zycbt112-dtdesem

                  CHANGING i_gjahr.

* << Fim da inclusão

               ENDIF.

            ENDIF.

          ELSE.

            IF NOT itab_zycbt113p-dtcont IS INITIAL.

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

               i_gjahr = itab_zycbt113p-dtcont(4).

* << Fim da exclusão

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

              PERFORM determina_ano

                USING    itab_zycbt113p-dtcont

                CHANGING i_gjahr.

* << Fim da inclusão

            ELSEIF NOT wa_zycbt112-dtcont IS INITIAL.

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

               i_gjahr = wa_zycbt112-dtcont(4).

* << Fim da exclusão

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

              PERFORM determina_ano

                USING    wa_zycbt112-dtcont

                CHANGING i_gjahr.

* << Fim da inclusão

            ELSE.

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

               i_gjahr = wa_zycbt112-dtdesem(4).

* << Fim da exclusão

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

              PERFORM determina_ano

                USING    wa_zycbt112-dtdesem

                CHANGING i_gjahr.

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

...

 

...

          CLEAR /pws/zycbt031.

          SELECT *

            FROM /pws/zycbt031

              up to 1 rows

            WHERE nrcorresp EQ /pws/zycbe112-nrseq

              AND mdcorresp EQ 'IF'

              AND tpparc    EQ 'J'

              AND nrparc    EQ itab_zycbt113j-nrparc.

        endselect.

        ENDIF.

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

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

* << Fim da exclusão

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

        PERFORM determina_ano

          USING    /pws/zycbt031-dtcredpr

          CHANGING i_gjahr.

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

...

 

...

            CLEAR /pws/zycbt031.

            SELECT *

              FROM /pws/zycbt031

                up to 1 rows

              WHERE nrcorresp EQ /pws/zycbe112-nrseq

                AND mdcorresp EQ 'IF'

                AND tpparc    EQ 'J'

                AND nrparc    EQ itab_zycbt113c-nrparc.

        endselect.

          ENDIF.

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

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

* << Fim da exclusão

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

          PERFORM determina_ano

            USING    /pws/zycbt031-dtcredpr

            CHANGING i_gjahr.

* << Fim da inclusão

        ELSE.

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

          i_gjahr = wa_zycbt112-dtdesem(4).

* << Fim da exclusão

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

          PERFORM determina_ano

            USING    wa_zycbt112-dtdesem

            CHANGING i_gjahr.

* << Fim da inclusão

        ENDIF.

...

 

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

Modificações efetuadas em REPS /PWS/MZYCM101TOP

 

...

  v_mdparc,

  v_nrdias         TYPE i,

  v_newkof         LIKE /pws/zycbt012-saknr1,

  v_vlres          LIKE /pws/zycbt113-vlme,

  v_zuonr          LIKE bseg-zuonr,

  v_budat          TYPE /pws/zycbt113-dtcont,

  v_dias(1),

  v_jurpg(1),

  norma            LIKE /pws/zyglt214-norma,

  v_pedido,

* >> Início da inclusão:

  v_ano            type bkpf-gjahr,

* << Fim da inclusão

  v_display,

  v_exclui(1)      TYPE c,

  v_relevante,

  v_errof(1)       TYPE c,

  v_modifp ,"#EC NEEDED

  txtmodalidade(25) TYPE c,

  v_syrepid        LIKE sy-repid,

  v_sydynnr        LIKE sy-dynnr,"#EC NEEDED

  v_nrseq_agrp     LIKE /pws/zycbt112-nrseq,

  v_codaux1        LIKE /pws/zyglt316-codaux1,

...