CE PLUS - Nota 007606

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Rotina de Pagamento

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

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

Descrição da Nota: COMPLEMENTO DO BOLETO - ANO FISCAL

Sintoma

Ao salvar o complemento do boleto, qualquer ponto que necessite o ano contábil ou período contábil

correto(ano fiscal diferente do padrão), ocorre erro.

 

 

Solução

Incluir em todos os pontos que necessitam ano contábil/período contábil, as funções para analisar o

ano fiscal da empresa.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

COMPLEMENTO DO BOLETO - ESTORNO - DESPESA EXP. COM ESTRATÉGIA

COMPLEMENTO DO BOLETO

COMPLEMENTO DO BOLETO - ESTORNO PERÍODO FECHADO - FB08

COMPLEMENTO DO BOLETO - ESTORNO - PAGAMENTO FATURA

COMPLEMENTO DO BOLETO - EMPRÉSTIMO-PRINCIPAL- F-51 - COMPENSA DOCTO F-63

Informações Complementares

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

Nota Número 07606 Data: 19/11/2008 Hora: 11:17:46

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

 

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

Nota Número              : 07606

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

 

02184  - 00001 - 6.0    - 00025  - COMPLEMENTO DO BOLETO - ESTORNO - PAGAMENTO FATURA

04625  - 00002 - 7.0    - 00003  - COMPLEMENTO DO BOLETO - ESTORNO - DESPESA EXP. COM ESTRATÉGIA

04634  - 00003 - 7.0    - 00003  - COMPLEMENTO DO BOLETO - ESTORNO PERÍODO FECHADO - FB08

04712  - 00004 - 7.0    - 00003  - COMPLEMENTO DO BOLETO

05312  - 00005 - 7.0    - 00003  - COMPLEMENTO DO BOLETO - EMPRÉSTIMO-PRINCIPAL- F-51 - COMPENSA DOC

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

COMPLEMENTO DO BOLETO - ANO FISCAL

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

Palavras Chave:

COMPLEMENTO DO BOLETO ANO FISCAL GJAHR

 

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

Objetos da nota:

REPS /PWS/MZYCA110F01

REPS /PWS/MZYCB110F01

REPS /PWS/MZYCB110I01

REPS /PWS/MZYCM110F01

REPS /PWS/MZYGL110F01

 

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

Modificações efetuadas em REPS /PWS/MZYCA110F01

 

...

  CLEAR itab_zycbt036.

  REFRESH itab_zycbt036.

  IF wa_zycbt118-frpagto EQ 'C'.

    itab_zycbt036-tcode  = 'F-51'.

    itab_zycbt036-tabela = '/PWS/ZYCBT031'.

    itab_zycbt036-cpochv = /pws/zycbe031-nrseq.

    itab_zycbt036-belnr  = wa_zycbt118-belnrdesp.

    IF t021r IS INITIAL.

      itab_zycbt036-dtdocto = wa_zycbt118-dtincl.

    ELSE.

* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_CD

      PERFORM determina_ano USING wa_zycbt118-dtincl

                                  wa_zycbt118-bukrs

                         CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE awkey FROM bkpf

                          INTO itab_zycbt036-awkey

                          WHERE belnr EQ wa_zycbt118-belnrdesp

                            AND bukrs EQ wa_zycbt118-bukrs

* >> Início da exclusão: FORM FILL_DATE_F-63OUF-02_CD

                            AND gjahr EQ wa_zycbt118-dtincl(4).

* << Fim da exclusão

* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_CD

                            AND gjahr EQ v_ano.

* << Fim da inclusão

    ENDIF.

    APPEND itab_zycbt036.

  ENDIF.

  LOOP AT itab_zycbt034.

    MESSAGE i127 WITH itab_zycbt034-descricao v_evento.

  ENDLOOP.

  CLEAR sy-subrc.

  IF itab_zycbt034 IS INITIAL.

    IF wa_zycbt118-frpagto = 'R'.

      v_syrepid = sy-repid.

...

 

...

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycbe033

            t_campo         = itab_zycbt034

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0.

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

    PERFORM determina_ano USING sy-datum

                                itab_zycbe033-bukrs

                       CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE * FROM bkpf

      WHERE bukrs EQ itab_zycbe033-bukrs

        AND belnr EQ v_belnr

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

        AND gjahr EQ sy-datum+0(4).

* << Fim da exclusão

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

        AND gjahr EQ v_ano.

* << Fim da inclusão

    IF bkpf-bstat NE 'Z'.

...

 

...

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycbe033

            t_campo         = itab_zycbt034

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0.

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

    PERFORM determina_ano USING sy-datum

                                itab_zycbe033-bukrs

                       CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE * FROM bkpf

      WHERE bukrs EQ itab_zycbe033-bukrs

        AND belnr EQ v_belnr

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

        AND gjahr EQ sy-datum+0(4).

* << Fim da exclusão

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

        AND gjahr EQ v_ano.

* << Fim da inclusão

    IF bkpf-bstat NE 'Z'.

...

 

...

      ENDIF.

      IF wa_zycbt129-ftransf EQ 'C' AND

         itab_zycbt064-tpparc EQ 'P'.

        CLEAR /pws/zycbt154-dtcont.

        SELECT SINGLE dtcont FROM /pws/zycbt154

                             INTO /pws/zycbt154-dtcont

                             WHERE codmod    EQ 'F'

                               AND codmodul  EQ 'T'

                               AND nrcorresp EQ itab_zycbt064-nrchave

                               AND belnr_cl  EQ itab_zycbt036-belnr.

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

        PERFORM determina_ano USING /pws/zycbt154-dtcont

                                    /pws/zycbt128-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

        SELECT SINGLE awkey FROM bkpf

                            INTO itab_zycbt036-awkey

                            WHERE belnr EQ itab_zycbt036-belnr

                              AND bukrs EQ /pws/zycbt128-bukrs

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

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

* << Fim da exclusão

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

                              AND gjahr EQ v_ano.

* << Fim da inclusão

      ELSE.

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

        PERFORM determina_ano USING /pws/zycbt128-dtdesem

                                    /pws/zycbt128-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

        SELECT SINGLE awkey FROM bkpf

                            INTO itab_zycbt036-awkey

                            WHERE belnr EQ itab_zycbt036-belnr

                              AND bukrs EQ /pws/zycbt128-bukrs

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

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

* << Fim da exclusão

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

                              AND gjahr EQ v_ano.

* << Fim da inclusão

      ENDIF.

      APPEND itab_zycbt036.

    ENDLOOP.

    READ TABLE itab_zycbt036 WITH KEY belnr = ' '.

    IF sy-subrc EQ 0.

      EXIT.

    ENDIF.

    itab_zycbt036-tcode  = text-066.

    itab_zycbt036-tabela = text-110.

    itab_zycbt036-cpochv = /pws/zycbe031-nrseq.

    IF ( /pws/zycbe031-tpparc EQ 'C' AND sy-index NE '2' )

       OR /pws/zycbe031-tpparc EQ 'P'.

      itab_zycbt036-belnr  = /pws/zycbe031-belnr_p.

    ELSE.

      itab_zycbt036-belnr  = /pws/zycbe031-belnr_pi.

    ENDIF.

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

        PERFORM determina_ano USING /pws/zycbe031-dtcredpr

                                    /pws/zycbe031-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE awkey FROM bkpf

                        INTO itab_zycbt036-awkey

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe031-bukrs

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

                          AND gjahr EQ /pws/zycbe031-dtcredpr(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_ano.

* << Fim da inclusão

    APPEND itab_zycbt036.

    IF /pws/zycbe031-tpparc EQ 'P'.

      CONCATENATE  wa_zycbt128-tpemprest wa_zycbt129-ftransf

                   INTO v_codaux1 SEPARATED BY space.

      CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

           EXPORTING

                bukrs           = /pws/zycbe031-bukrs

                ktosl           = 'EPP'

                codaux1         = v_codaux1

           TABLES

...

 

...

          WHEN 'NRDESP'.

            itab_zycbe033-d_zuonr = wa_zycbt118-nrdesp.

            itab_zycbe033-c_zuonr = wa_zycbt118-nrdesp.

        ENDCASE.

    ENDCASE.

  ENDLOOP.

  PERFORM determina_ano USING itab_zycbe033-budat

                              /pws/zycbe031-bukrs

                     CHANGING v_ano.

  itab_zycbe033-gjahs  = v_ano.

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

      PERFORM determina_periodo USING itab_zycbe033-budat

                                       /pws/zycbe031-bukrs

                                CHANGING v_monat.

* << Fim da inclusão

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbe033-bukrs

            i_gjahr          = v_ano

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

            i_koart          = 'S'

* << Fim da exclusão

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

            i_koart          = '+'

* << Fim da inclusão

            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.

...

 

...

      IF NOT /pws/zycbe145-belnrcomp_tc IS INITIAL.

        PERFORM estorna_doc_compensacao_f04_tc.

        PERFORM clear_date_batch.

      ENDIF.

    ENDIF.

    IF v_belnr IS INITIAL.

      CONTINUE.

    ENDIF.

    IF v_erro_fbra_tc IS INITIAL AND v_erro_fb08_tc IS INITIAL AND

       v_erro_fbra_cash IS INITIAL AND v_erro_fb08_cash IS INITIAL.

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

        PERFORM determina_ano USING /pws/zycbe031-dtcredpr

                                    /pws/zycbe031-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE * FROM bkpf INTO wa_bkpf

                           WHERE bukrs = /pws/zycbe031-bukrs

                             AND belnr = v_belnr

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

                             AND gjahr = /pws/zycbe031-dtcredpr+0(4).

* << Fim da exclusão

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

                             AND gjahr = v_ano.

* << Fim da inclusão

      itab_zycbe033-mandt  = sy-mandt.

      itab_zycbe033-tcode  = 'FB08'.

      itab_zycbe033-tabela = '/PWS/ZYCBT031'.

      itab_zycbe033-cpochv = /pws/zycbe031-nrseq.

      itab_zycbe033-belnr  = v_belnr.

      itab_zycbe033-bukrs  = /pws/zycbe031-bukrs.

      itab_zycbe033-budat  = wa_bkpf-budat.

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

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

      v_monat = itab_zycbe033-budat+4(2).

* << Fim da exclusão

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

      PERFORM determina_periodo USING itab_zycbe033-budat

                                       /pws/zycbe031-bukrs

                                CHANGING v_monat.

      PERFORM determina_ano USING itab_zycbe033-budat

                                       /pws/zycbe031-bukrs

                            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_DOCTOS_TV

                i_gjahr          = itab_zycbe033-budat+0(4)

                i_koart          = 'S'

* << Fim da exclusão

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

                i_gjahr          = v_ano

                i_koart          = '+'

* << Fim da inclusão

                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.

...

 

...

  SELECT SINGLE * FROM /pws/zycbt145

                  INTO /pws/zycbt145

                  WHERE nrseq EQ wa_zycbe031c-nrseq.

  IF /pws/zyglt009-comp_trans EQ 'C'.

    itab_zycbe033-belnr   = /pws/zycbt145-belnrcomp_tc.

    itab_zycbe033-belnr2  = /pws/zycbt145-belnrcomp_cash.

  ELSE.

    itab_zycbe033-belnr   = /pws/zycbt145-belnr_tc.

    itab_zycbe033-belnr2  = /pws/zycbt145-belnr_cash.

  ENDIF.

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

      PERFORM determina_ano USING    wa_zycbe031c-dtcredpr

                                     wa_zycbe031c-bukrs

                            CHANGING v_ano.

* << Fim da inclusão

  IF NOT itab_zycbe033-belnr IS INITIAL.

    SELECT SINGLE awkey FROM bkpf

                        INTO itab_zycbe033-awkey

                        WHERE belnr EQ itab_zycbe033-belnr

                          AND bukrs EQ wa_zycbe031c-bukrs

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

                          AND gjahr EQ wa_zycbe031c-dtcredpr(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_ano.

* << Fim da inclusão

  ENDIF.

  IF NOT itab_zycbe033-belnr2 IS INITIAL.

    SELECT SINGLE awkey FROM bkpf

                        INTO itab_zycbe033-awkey2

                        WHERE belnr EQ itab_zycbe033-belnr2

                          AND bukrs EQ wa_zycbe031c-bukrs

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

                          AND gjahr EQ wa_zycbe031c-dtcredpr(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_ano.

* << Fim da inclusão

  ENDIF.

  itab_zycbe033-wrbtr = /pws/zycbe031-vlme.

  PERFORM verify_null_field USING /pws/zycbe031-bukrs

                                  'BUKRS'

                                  text-010.

  itab_zycbe033-bukrs  = /pws/zycbe031-bukrs.

  PERFORM verify_null_field USING /pws/zycbe031-waers

                                  'WAERS'

                                  text-011.

  itab_zycbe033-waers  = /pws/zycbe031-waers.

...

 

...

    itab_zycbt036-tcode   = 'F-30'.

    itab_zycbt036-tabela  = '/PWS/ZYCBT031'.

    itab_zycbt036-cpochv  = /pws/zycbe031-nrseq.

    IF itab_zycbt124_aux-buzei > 0.

      itab_zycbt036-belnr   = itab_zycbt124_aux-belnr_f51.

    ELSEIF NOT itab_zycbt124_aux-belnr_assoc IS INITIAL.

      itab_zycbt036-belnr = itab_zycbt124_aux-belnr_assoc.

    ELSE.

      itab_zycbt036-belnr   = itab_zycbt124_aux-belnr.

    ENDIF.

* >> Início da inclusão: FORM FILL_DATE_F-30_CP

        PERFORM determina_ano USING itab_zycbt124_aux-dtdocto

                                    /pws/zycbe031-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE budat awkey FROM bkpf

                        INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe031-bukrs

* >> Início da exclusão: FORM FILL_DATE_F-30_CP

                          AND gjahr EQ itab_zycbt124_aux-dtdocto(4).

* << Fim da exclusão

* >> Início da inclusão: FORM FILL_DATE_F-30_CP

                          AND gjahr EQ v_ano.

* << Fim da inclusão

    APPEND itab_zycbt036.

    PERFORM verify_null_field USING itab_zycbt036-belnr

                                    'BELNR'

                                    text-035.

  ENDLOOP.

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

      WHEN 'SGTXT'.

        IF itab_zyglt321-cpocb = 'NRFAT'.

          itab_zycbe033-c_sgtxt = wa_zycbt124-nrfat.

...

 

...

           WITH KEY koart = 'F'

                    shkzg = 'C'.

      itab_zycbe033-newbs = itab_zycat027-bschl.

      v_koart_bi = 'F'.

      v_shkzg_bi = 'C'.

      itab_zycbe033-agkoa = 'K'.

    ENDIF.

  ENDIF.

  v_buzei = itab_zycbt124_aux-buzei.

  itab_zycbe033-belnr = itab_zycbt124_aux-belnr.

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

        PERFORM determina_ano USING itab_zycbt124_aux-dtdocto

                                    itab_zycbt124_aux-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE budat kursf awkey FROM bkpf

                      INTO (itab_zycbe033-dtdocto,itab_zycbe033-kursf,

                            itab_zycbe033-awkey)

                      WHERE bukrs EQ itab_zycbt124_aux-bukrs

                        AND belnr EQ itab_zycbt124_aux-belnr

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

                        AND gjahr EQ itab_zycbt124_aux-dtdocto(4).

* << Fim da exclusão

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

                        AND gjahr EQ v_ano.

* << Fim da inclusão

  itab_zycbe033-c_gsber = itab_zycbt124_aux-gsber.

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

      WHEN 'SGTXT'.

        IF itab_zyglt321-cpocb = 'NRFAT'.

          itab_zycbe033-c_sgtxt = itab_zycbt124_aux-nrfat.

          itab_zycbe033-d_sgtxt = itab_zycbt124_aux-nrfat.

        ELSEIF itab_zyglt321-cpocb = 'NRCONTR'.

          itab_zycbe033-c_sgtxt = itab_zycbt124_aux-nrcontr.

          itab_zycbe033-d_sgtxt = itab_zycbt124_aux-nrcontr.

...

 

...

        itab_zycbt154-nrcorresp = /pws/zycbe031-nrcorresp .

        itab_zycbt154-tpcontr   = /pws/zycbe031-nrparc+1(02).

        itab_zycbt154-codmodul  = v_codmod_aux                .

        itab_zycbt154-bukrs     = /pws/zycbe031-bukrs     .

        itab_zycbt154-codmod    = 'F'                     .

        itab_zycbt154-waers     = /pws/zycbe031-waers     .

        itab_zycbt154-c_newko   = itab_zycbe033a-c_newko  .

        itab_zycbt154-d_newko   = itab_zycbe033a-d_newko  .

        itab_zycbt154-dtcont    = itab_zycbe033a-budat    .

        itab_zycbt154-gsber     = wa_zycbt128-gsber       .

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

        itab_zycbt154-gjahr     = itab_zycbe033a-budat(4) .

* << Fim da exclusão

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

        PERFORM determina_ano USING itab_zycbe033a-budat

                                    /pws/zycbe031-bukrs

                           CHANGING v_ano.

        itab_zycbt154-gjahr     = v_ano.

* << Fim da inclusão

        itab_zycbt154-vlme      = itab_zycbe033a-wrbtr    .

        itab_zycbt154-kursf     = itab_zycbe033a-kursf    .

        itab_zycbt154-belnr_pr  = itab_zycbt032a-belnr     .

        APPEND itab_zycbt154.

        MOVE itab_zycbt154 TO wa_zycbt154.

        INSERT INTO /pws/zycbt154 VALUES wa_zycbt154.

      ELSE.

        LOOP AT itab_zycbt032.

          MESSAGE i015 WITH itab_zycbt032-msg+0(50)

                            itab_zycbt032-msg+50(50).

...

 

...

    ELSE.

      /pws/zycbe031-belnr_p     = itab_zycbt124_aux-belnr.

    ENDIF.

    IF /pws/zycbe031-belnr_p IS INITIAL.

      erro_bi = 'X'.

    ENDIF.

    UPDATE /pws/zycbt124 SET statusp  = itab_zycbt124_aux-statusp

                         WHERE nrseq  = itab_zycbt124_aux-nrseq.

    CLEAR v_total_mi.

    LOOP AT itab_zycbt124_aux.

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

        PERFORM determina_ano USING itab_zycbt124_aux-dtdocto

                                    itab_zycbt124_aux-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr

                    WHERE bukrs = itab_zycbt124_aux-bukrs

                      AND belnr = itab_zycbt124_aux-belnr_f51p

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

                      AND gjahr = itab_zycbt124_aux-dtdocto(4)

* << Fim da exclusão

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

                      AND gjahr = v_ano

* << Fim da inclusão

                      AND shkzg = 'H'.

      IF sy-subrc = 0.

        v_total_mi = v_total_mi + bseg-dmbtr.

      ELSE.

        SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr

                      WHERE bukrs = itab_zycbt124_aux-bukrs

                        AND belnr = itab_zycbt124_aux-belnr_f51

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

                        AND gjahr = itab_zycbt124_aux-dtdocto(4)

* << Fim da exclusão

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

                        AND gjahr = v_ano

* << Fim da inclusão

                        AND shkzg = 'H'.

        IF sy-subrc = 0.

          v_total_mi = v_total_mi + bseg-dmbtr.

        ELSE.

          SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr

                        WHERE bukrs = itab_zycbt124_aux-bukrs

                      AND belnr = itab_zycbt124_aux-belnr

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

                      AND gjahr = itab_zycbt124_aux-dtdocto(4)

* << Fim da exclusão

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

                        AND gjahr = v_ano

* << Fim da inclusão

                      AND shkzg = 'H'.

          IF sy-subrc = 0.

            v_total_mi = v_total_mi + bseg-dmbtr.

          ENDIF.

        ENDIF.

      ENDIF.

      SELECT SINGLE kursf FROM bkpf INTO bkpf-kursf

                    WHERE bukrs = itab_zycbt124_aux-bukrs

                      AND belnr = itab_zycbt124_aux-belnr

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

                      AND gjahr = itab_zycbt124_aux-dtdocto(4).

* << Fim da exclusão

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

                        AND gjahr = v_ano.

* << Fim da inclusão

      IF sy-subrc = 0 AND bkpf-kursf NE /pws/zycbe031-kursf.

        CLEAR v_total_mi.

        EXIT.

      ENDIF.

    ENDLOOP.

    IF NOT /pws/zycbe031-vlmi IS INITIAL   AND

       NOT v_total_mi         IS INITIAL   AND

           /pws/zycbe031-vlmi < v_total_mi.

      /pws/zycbe031-vlmi = v_total_mi.

      itab_dados_tc-vlmi = v_total_mi.

...

 

...

    ELSE.

      /pws/zycbe031-statuspi   = 'C'.

      /pws/zycbe031-belnr_pi   = itab_zycat025-belnr_pr.

    ENDIF.

    IF /pws/zycbe031-belnr_pi     IS INITIAL AND

       NOT itab_zycat024-cont_imp IS INITIAL.

      erro_bi = 'X'.

    ENDIF.

    CLEAR v_total_mi.

    LOOP AT itab_zycat025 WHERE tpimp = p_tpimp.

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

        PERFORM determina_ano USING itab_zycat025-dtlanc

                                    itab_zycat025-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr

                    WHERE bukrs = itab_zycat025-bukrs

                      AND belnr = itab_zycat025-belnr_pr

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

                      AND gjahr = itab_zycat025-dtlanc(4)

* << Fim da exclusão

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

                      AND gjahr = v_ano

* << Fim da inclusão

                      AND shkzg = 'H'.

      IF sy-subrc = 0.

        v_total_mi = v_total_mi + bseg-dmbtr.

      ENDIF.

      SELECT SINGLE kursf FROM bkpf INTO bkpf-kursf

                    WHERE bukrs = itab_zycat025-bukrs

                      AND belnr = itab_zycat025-belnr_pr

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

                      AND gjahr = itab_zycat025-dtlanc(4).

* << Fim da exclusão

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

                      AND gjahr = v_ano.

* << Fim da inclusão

      IF sy-subrc = 0 AND bkpf-kursf NE /pws/zycbe031-taxair.

        CLEAR v_total_mi.

        EXIT.

      ENDIF.

    ENDLOOP.

    IF NOT /pws/zycbe031-vlmiir IS INITIAL AND

       NOT v_total_mi           IS INITIAL AND

           /pws/zycbe031-vlmiir < v_total_mi.

      /pws/zycbe031-vlmiir = v_total_mi.

      itab_dados_tc-vlmi   = v_total_mi.

...

 

...

    ELSE.

      /pws/zycbe031-statuspc   = 'C'.

      /pws/zycbe031-belnr_cide = itab_zycat025-belnr_pr.

    ENDIF.

    IF /pws/zycbe031-belnr_cide   IS INITIAL AND

       NOT itab_zycat024-cont_imp IS INITIAL.

      erro_bi = 'X'.

    ENDIF.

    CLEAR v_total_mi.

    LOOP AT itab_zycat025 WHERE tpimp = p_tpimp.

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

        PERFORM determina_ano USING itab_zycat025-dtlanc

                                    itab_zycat025-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr

                    WHERE bukrs = itab_zycat025-bukrs

                      AND belnr = itab_zycat025-belnr_pr

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

                      AND gjahr = itab_zycat025-dtlanc(4)

* << Fim da exclusão

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

                      AND gjahr = v_ano

* << Fim da inclusão

                      AND shkzg = 'H'.

      IF sy-subrc = 0.

        v_total_mi = v_total_mi + bseg-dmbtr.

      ENDIF.

      SELECT SINGLE kursf FROM bkpf INTO bkpf-kursf

                    WHERE bukrs = itab_zycat025-bukrs

                      AND belnr = itab_zycat025-belnr_pr

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

                      AND gjahr = itab_zycat025-dtlanc(4).

* << Fim da exclusão

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

                      AND gjahr = v_ano.

* << Fim da inclusão

      IF sy-subrc = 0 AND bkpf-kursf NE /pws/zycbe031-taxacide.

        CLEAR v_total_mi.

        EXIT.

      ENDIF.

    ENDLOOP.

    IF NOT /pws/zycbe031-vlmicide IS INITIAL AND

       NOT v_total_mi             IS INITIAL AND

           /pws/zycbe031-vlmicide < v_total_mi.

      /pws/zycbe031-vlmicide = v_total_mi.

      itab_dados_tc-vlmi     = v_total_mi.

      MODIFY itab_dados_tc TRANSPORTING vlmi WHERE tpimp = p_tpimp.

    ENDIF.

  ELSEIF p_tpimp(3) = 'IOF'.

    /pws/zycbe145-belnr_iof    = itab_zycat025-belnr_pr.

    IF /pws/zycbe145-belnr_iof    IS INITIAL AND

       NOT itab_zycat024-cont_imp IS INITIAL.

      erro_bi = 'X'.

    ENDIF.

    CLEAR v_total_mi.

    LOOP AT itab_zycat025 WHERE tpimp = p_tpimp.

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

        PERFORM determina_ano USING itab_zycat025-dtlanc

                                    itab_zycat025-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr

                    WHERE bukrs = itab_zycat025-bukrs

                      AND belnr = itab_zycat025-belnr_pr

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

                      AND gjahr = itab_zycat025-dtlanc(4)

* << Fim da exclusão

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

                      AND gjahr = v_ano

* << Fim da inclusão

                      AND shkzg = 'H'.

      IF sy-subrc = 0.

        v_total_mi = v_total_mi + bseg-dmbtr.

      ENDIF.

      SELECT SINGLE kursf FROM bkpf INTO bkpf-kursf

                    WHERE bukrs = itab_zycat025-bukrs

                      AND belnr = itab_zycat025-belnr_pr

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

                      AND gjahr = itab_zycat025-dtlanc(4).

* << Fim da exclusão

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

                      AND gjahr = v_ano.

* << Fim da inclusão

      IF sy-subrc = 0 AND bkpf-kursf NE /pws/zycbe145-taxaiof.

        CLEAR v_total_mi.

        EXIT.

      ENDIF.

    ENDLOOP.

    IF NOT /pws/zycbe145-vlmiiof IS INITIAL AND

       NOT v_total_mi            IS INITIAL AND

           /pws/zycbe145-vlmiiof < v_total_mi.

      /pws/zycbe145-vlmiiof = v_total_mi.

      itab_dados_tc-vlmi    = v_total_mi.

      MODIFY itab_dados_tc TRANSPORTING vlmi WHERE tpimp = p_tpimp.

    ENDIF.

  ELSEIF p_tpimp(3) = 'ISS'.

    /pws/zycbe145-belnr_iss    = itab_zycat025-belnr_pr.

    IF /pws/zycbe145-belnr_iss    IS INITIAL AND

       NOT itab_zycat024-cont_imp IS INITIAL.

      erro_bi = 'X'.

    ENDIF.

    CLEAR v_total_mi.

    LOOP AT itab_zycat025 WHERE tpimp = p_tpimp.

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

        PERFORM determina_ano USING itab_zycat025-dtlanc

                                    itab_zycat025-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr

                    WHERE bukrs = itab_zycat025-bukrs

                      AND belnr = itab_zycat025-belnr_pr

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

                      AND gjahr = itab_zycat025-dtlanc(4)

* << Fim da exclusão

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

                      AND gjahr = v_ano

* << Fim da inclusão

                      AND shkzg = 'H'.

      IF sy-subrc = 0.

        v_total_mi = v_total_mi + bseg-dmbtr.

      ENDIF.

      SELECT SINGLE kursf FROM bkpf INTO bkpf-kursf

                    WHERE bukrs = itab_zycat025-bukrs

                      AND belnr = itab_zycat025-belnr_pr

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

                      AND gjahr = itab_zycat025-dtlanc(4).

* << Fim da exclusão

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

                      AND gjahr = v_ano.

* << Fim da inclusão

      IF sy-subrc = 0 AND bkpf-kursf NE /pws/zycbe145-taxaiss.

        CLEAR v_total_mi.

        EXIT.

      ENDIF.

    ENDLOOP.

    IF NOT /pws/zycbe145-vlmiiss IS INITIAL AND

       NOT v_total_mi            IS INITIAL AND

           /pws/zycbe145-vlmiiss < v_total_mi.

      /pws/zycbe145-vlmiiss = v_total_mi.

      itab_dados_tc-vlmi    = v_total_mi.

      MODIFY itab_dados_tc TRANSPORTING vlmi WHERE tpimp = p_tpimp.

    ENDIF.

  ELSEIF p_tpimp(3) = 'PIS'.

    /pws/zycbe145-belnr_pis    = itab_zycat025-belnr_pr.

    IF /pws/zycbe145-belnr_pis    IS INITIAL AND

       NOT itab_zycat024-cont_imp IS INITIAL.

      erro_bi = 'X'.

    ENDIF.

    CLEAR v_total_mi.

    LOOP AT itab_zycat025 WHERE tpimp = p_tpimp.

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

        PERFORM determina_ano USING itab_zycat025-dtlanc

                                    itab_zycat025-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr

                    WHERE bukrs = itab_zycat025-bukrs

                      AND belnr = itab_zycat025-belnr_pr

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

                      AND gjahr = itab_zycat025-dtlanc(4)

* << Fim da exclusão

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

                      AND gjahr = v_ano

* << Fim da inclusão

                      AND shkzg = 'H'.

      IF sy-subrc = 0.

        v_total_mi = v_total_mi + bseg-dmbtr.

      ENDIF.

      SELECT SINGLE kursf FROM bkpf INTO bkpf-kursf

                    WHERE bukrs = itab_zycat025-bukrs

                      AND belnr = itab_zycat025-belnr_pr

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

                      AND gjahr = itab_zycat025-dtlanc(4).

* << Fim da exclusão

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

                      AND gjahr = v_ano.

* << Fim da inclusão

      IF sy-subrc = 0 AND bkpf-kursf NE /pws/zycbe145-taxapis.

        CLEAR v_total_mi.

        EXIT.

      ENDIF.

    ENDLOOP.

    IF NOT /pws/zycbe145-vlmipis IS INITIAL AND

       NOT v_total_mi            IS INITIAL AND

           /pws/zycbe145-vlmipis < v_total_mi.

      /pws/zycbe145-vlmipis = v_total_mi.

      itab_dados_tc-vlmi    = v_total_mi.

      MODIFY itab_dados_tc TRANSPORTING vlmi WHERE tpimp = p_tpimp.

    ENDIF.

  ELSEIF p_tpimp(6) = 'COFINS'.

    /pws/zycbe145-belnr_cofins = itab_zycat025-belnr_pr.

    IF /pws/zycbe145-belnr_cofins IS INITIAL AND

       NOT itab_zycat024-cont_imp IS INITIAL.

      erro_bi = 'X'.

    ENDIF.

    CLEAR v_total_mi.

    LOOP AT itab_zycat025 WHERE tpimp = p_tpimp.

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

        PERFORM determina_ano USING itab_zycat025-dtlanc

                                    itab_zycat025-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr

                    WHERE bukrs = itab_zycat025-bukrs

                      AND belnr = itab_zycat025-belnr_pr

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

                      AND gjahr = itab_zycat025-dtlanc(4)

* << Fim da exclusão

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

                      AND gjahr = v_ano

* << Fim da inclusão

                      AND shkzg = 'H'.

      IF sy-subrc = 0.

        v_total_mi = v_total_mi + bseg-dmbtr.

      ENDIF.

      SELECT SINGLE kursf FROM bkpf INTO bkpf-kursf

                    WHERE bukrs = itab_zycat025-bukrs

                      AND belnr = itab_zycat025-belnr_pr

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

                      AND gjahr = itab_zycat025-dtlanc(4).

* << Fim da exclusão

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

                      AND gjahr = v_ano.

* << Fim da inclusão

      IF sy-subrc = 0 AND bkpf-kursf NE /pws/zycbe145-taxacofins.

        CLEAR v_total_mi.

        EXIT.

      ENDIF.

    ENDLOOP.

    IF NOT /pws/zycbe145-vlmicofins IS INITIAL AND

       NOT v_total_mi               IS INITIAL AND

           /pws/zycbe145-vlmicofins < v_total_mi.

      /pws/zycbe145-vlmicofins = v_total_mi.

      itab_dados_tc-vlmi       = v_total_mi.

...

 

...

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0.

    READ TABLE itab_zycbt032 WITH KEY tcode  = 'FBV0'

                                      tabela = '/PWS/ZYCBT031'

                                      cpochv = /pws/zycbe031-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc EQ 0.

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

        PERFORM determina_ano USING p_data

                                    itab_zycbe033-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE * FROM bkpf

        WHERE bukrs EQ itab_zycbe033-bukrs

          AND belnr EQ v_belnr

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

          AND gjahr EQ p_data+0(4)

* << Fim da exclusão

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

          AND gjahr EQ v_ano

* << Fim da inclusão

          AND bstat EQ 'V'.

...

 

...

                            p_motivo

                            p_recuperar.

  IF /pws/zycbe145-cod_fech = 'TR' AND p_recuperar IS INITIAL.

    LOOP AT itab_zycbt031_tc1 WHERE dtliquida NE '00000000'

                                AND dtliquida NE '        '.

      PERFORM anula_estorna_trava_cp USING p_tpimp.

    ENDLOOP.

  ENDIF.

  CHECK NOT p_belnr IS INITIAL.

  CLEAR bkpf.

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

        PERFORM determina_ano USING p_data

                                    /pws/zycbe031-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE * FROM bkpf

         WHERE bukrs EQ /pws/zycbe031-bukrs

           AND belnr EQ p_belnr

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

           AND gjahr EQ p_data(4)

* << Fim da exclusão

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

           AND gjahr EQ v_ano

* << Fim da inclusão

           AND bstat EQ 'V'.

...

 

...

    ENDIF.

    EXIT.

  ENDIF.

  PERFORM clear_date_batch.

  itab_zycbe033-tcode  = 'FB08'.

  itab_zycbe033-tabela = '/PWS/ZYCBT031'.

  itab_zycbe033-cpochv = /pws/zycbe031-nrseq.

  itab_zycbe033-belnr  = p_belnr.

  itab_zycbe033-bukrs  = /pws/zycbe031-bukrs.

  itab_zycbe033-budat  = p_data.

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

  itab_zycbe033-gjahs  = p_data(4).

* << Fim da exclusão

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

  itab_zycbe033-gjahs  = v_ano.

* << Fim da inclusão

  PERFORM determina_periodo USING itab_zycbe033-budat

                                  itab_zycbe033-bukrs

                         CHANGING v_monat.

  PERFORM determina_ano USING itab_zycbe033-budat

                              itab_zycbe033-bukrs

                     CHANGING v_ano.

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbe033-bukrs

            i_gjahr          = v_ano

...

 

...

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycbe033

            t_campo         = itab_zycbt034

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0.

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

        PERFORM determina_ano USING p_data

                                    itab_zycbe033-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE * FROM bkpf

      WHERE bukrs EQ itab_zycbe033-bukrs

        AND belnr EQ p_belnr

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

        AND gjahr EQ p_data(4)

* << Fim da exclusão

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

        AND gjahr EQ v_ano

* << Fim da inclusão

        AND bstat NE 'Z'.

...

 

...

                                     p_dtvencto.

  PERFORM clear_date_batch.

  READ TABLE itab_zycbt124_aux WITH KEY nrseq = p_nrseq.

  CHECK sy-subrc = 0.

  PERFORM get_parameters_cp USING p_tpimp.

  itab_zycbe033-mandt   = sy-mandt.

  itab_zycbe033-tcode   = 'FB02'.

  itab_zycbe033-tabela  = '/PWS/ZYCBT031'.

  itab_zycbe033-cpochv  = /pws/zycbe031-nrseq.

  itab_zycbe033-bukrs   = p_bukrs.

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

  itab_zycbe033-gjahs   = p_dtlanc(4).

* << Fim da exclusão

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

        PERFORM determina_ano USING p_dtlanc

                                    p_bukrs

                           CHANGING v_ano.

  itab_zycbe033-gjahs   = v_ano.

* << Fim da inclusão

  itab_zycbe033-belnr   = p_belnr.

  itab_zycbe033-c_valut = p_dtvencto.

  itab_zycbe033-zfbdt   = p_dtvencto.

  itab_zycbe033-zterm   = wa_zycbt007-condpgvista.

  itab_zycbe033-c_gsber = itab_zycbt124_aux-gsber.

  itab_zycbe033-c_kostl = itab_zycbt124_aux-kostl.

  itab_zycbe033-c_prctr = itab_zycbt124_aux-prctr.

  itab_zycbe033-c_fipos = itab_zycbt124_aux-fipos.

  itab_zycbe033-c_fictr = itab_zycbt124_aux-fictr.

  LOOP AT itab_zyglt321.

...

 

...

  PERFORM verify_null_field USING itab_zycbe033-c_newko

                                  'C_NEWKO'

                                  text-018.

  CLEAR itab_zycbt036.

  REFRESH itab_zycbt036.

  IF sy-index <= 1.

    itab_zycbt036-tcode   = 'F-51'.

    itab_zycbt036-tabela  = '/PWS/ZYCBT124'.

    itab_zycbt036-cpochv  = itab_zycbt124_aux-nrseq.

    itab_zycbt036-belnr   = itab_zycbt124_aux-belnr_f51.

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

        PERFORM determina_ano USING itab_zycbt124_aux-dtdocto

                                    itab_zycbt124_aux-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE budat awkey FROM bkpf

                        INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ itab_zycbt124_aux-bukrs

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

                          AND gjahr EQ itab_zycbt124_aux-dtdocto(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_ano.

* << Fim da inclusão

    APPEND itab_zycbt036.

    PERFORM verify_null_field USING itab_zycbt036-belnr

                                    'BELNR'

                                    text-141.

  ELSEIF sy-index = 2.

    itab_zycbt036-tcode   = 'F-51'.

    itab_zycbt036-tabela  = '/PWS/ZYCBT124'.

    itab_zycbt036-cpochv  = itab_zycbt124_aux-nrseq.

    itab_zycbt036-belnr   = itab_zycbt124_aux-belnr_f51p.

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

        PERFORM determina_ano USING itab_zycbt124_aux-dtdocto

                                    itab_zycbt124_aux-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE budat awkey FROM bkpf

                        INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt124_aux-belnr_f51p

                          AND bukrs EQ itab_zycbt124_aux-bukrs

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

                          AND gjahr EQ itab_zycbt124_aux-dtdocto(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_ano.

* << Fim da inclusão

    APPEND itab_zycbt036.

    PERFORM verify_null_field USING itab_zycbt036-belnr

                                    'BELNR'

                                    text-141.

  ENDIF.

  CONCATENATE itab_zycbt124_aux-nrseq 'R-IR' INTO v_zuonr.

  PERFORM verify_null_field USING itab_zycbt124_aux-bukrs

                                  'BUKRS'

                                  text-010.

  itab_zycbe033-bukrs  = itab_zycbt124_aux-bukrs.

...

 

...

    PERFORM ano_contabil_estorna.

    PERFORM determina_periodo USING itab_zycbe033-budat

                                    /pws/zycbe031-bukrs

                           CHANGING v_monat.

    itab_zycbe033a-gjahs = v_date_est.

  ENDIF.

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbe033a-bukrs

            i_gjahr          = v_date_est

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

            i_koart          = 'S'

* << Fim da exclusão

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

            i_koart          = '+'

* << Fim da inclusão

            i_monat          = v_monat

       EXCEPTIONS

            error_period     = 1

            error_period_acc = 2

            OTHERS           = 3.

  IF sy-subrc = 0.

    itab_zycbe033a-stgrd = '01'.

  ELSE.

    itab_zycbe033a-stgrd = '02'.

  ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB110F01

 

...

                itab_zycbe033-xblnr = /pws/zycbe031-nrinvoic.

            ENDCASE.

          WHEN 'ZUONR'.

            CASE itab_zycbt013-cpocb.

              WHEN 'NRINVOIC'.

                itab_zycbe033-d_zuonr = /pws/zycbe031-nrinvoic.

                itab_zycbe033-c_zuonr = /pws/zycbe031-nrinvoic.

            ENDCASE.

        ENDCASE.

      ENDLOOP.

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

      PERFORM data_estorno_com USING    /pws/zycbe031-dtboleto+4(2)

* << Fim da exclusão

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

      PERFORM determina_ano USING /pws/zycbe031-dtboleto

* << Fim da inclusão

                                        /pws/zycbe031-bukrs

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

                                        /pws/zycbe031-dtboleto(4)

* << Fim da exclusão

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

                         CHANGING v_ano.

      PERFORM determina_periodo USING /pws/zycbe031-dtboleto

                                  /pws/zycbe031-bukrs

                         CHANGING v_monat.

      PERFORM data_estorno_com USING    v_monat

                                        /pws/zycbe031-bukrs

                                        v_ano

* << Fim da inclusão

                                        /pws/zycbe031-dtboleto

                                        /pws/zycbe031-lifnr

                               CHANGING itab_zycbe033-budat.

      itab_zycbe033-bldat = itab_zycbe033-budat.

      itab_zycbe033-d_newko = itab_zycbt017-kunag.

      PERFORM verify_null_field USING itab_zycbe033-d_newko

                                     'KONTO'

                                     text-116.

      IF /pws/zycbt007-comis = 'C'.

        itab_zycbe033-c_newko = itab_zycbt012a-saknr1.

...

 

...

  ENDIF.

  v_monat = p_monat.

  v_gjahr = p_gjahr.

  v_conta = p_konto.

  WHILE v_ok <> 'S'.

    ADD 1 TO v_cont.

    CALL FUNCTION 'FI_PERIOD_CHECK'

         EXPORTING

              i_bukrs          = p_bukrs

              i_gjahr          = v_gjahr

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

              i_koart          = 'K'

* << Fim da exclusão

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

              i_koart          = '+'

* << Fim da inclusão

              i_konto          = v_conta

              i_monat          = v_monat

         EXCEPTIONS

              error_period     = 1

              error_period_acc = 2

              OTHERS           = 3.

    IF sy-subrc <> 0.

      IF v_monat EQ 12.

        v_monat = 1.

      ELSE.

...

 

...

    APPEND itab_zycbe033.

    REFRESH itab_zycbt036.

    LOOP AT itab_aux2

         WHERE nrinvoic EQ itab_zycbt030_a-nrinvoic

           AND vbeln    EQ itab_zycbt030_a-vbeln.

      CLEAR itab_zycbt036.

      itab_zycbt036-tcode  = 'F-30'.

      itab_zycbt036-tabela = text-094.

      itab_zycbt036-cpochv = v_cpochv.

      itab_zycbt036-belnr  = itab_aux2-belnr22.

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

      PERFORM determina_ano USING itab_aux2-budat

                                  /pws/zycbe031-bukrs

                         CHANGING v_ano.

* << Fim da inclusão

      SELECT * FROM bkpf

         WHERE bukrs = /pws/zycbe031-bukrs

           AND belnr = itab_zycbt036-belnr

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

           AND gjahr = itab_aux2-budat(4).

* << Fim da exclusão

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

           AND gjahr = v_ano.

* << Fim da inclusão

      ENDSELECT.

...

 

...

      APPEND itab_zycbt036.

    ENDLOOP.

    IF sy-subrc EQ 0.

      itab_zycbt036-tcode  = 'F-30'.

      itab_zycbt036-tabela = text-094.

      itab_zycbt036-cpochv = v_cpochv.

      itab_zycbt036-belnr  = itab_aux2-belnr6.

      SELECT * FROM bkpf

         WHERE bukrs = /pws/zycbe031-bukrs

           AND belnr = itab_zycbt036-belnr

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

           AND gjahr = itab_aux2-budat(4).

* << Fim da exclusão

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

           AND gjahr = v_ano.

* << Fim da inclusão

      ENDSELECT.

      itab_zycbt036-dtdocto = bkpf-budat.

      APPEND itab_zycbt036.

      v_belnr6 = itab_aux2-belnr6.

    ENDIF.

    IF itab_zycbt034 IS INITIAL.

      CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30'

           EXPORTING

                v_modo          = v_modo_bi

           TABLES

...

 

...

        itab_zycbe033-agkoa = 'K'.

      ELSE.

        itab_zycbe033-agkoa = 'S'.

        itab_zycbe033-agkon = itab_zycbt012a-saknr1.

      ENDIF.

      APPEND itab_zycbe033.

      itab_zycbt036-tcode   = 'F-30'.

      itab_zycbt036-tabela  = text-094.

      itab_zycbt036-cpochv  = v_cpochv.

      itab_zycbt036-belnr   = itab_zycet010-belnr51.

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

      PERFORM determina_ano USING itab_zycet010-dtlanc

                                  /pws/zycbe031-bukrs

                         CHANGING v_ano.

* << Fim da inclusão

      SELECT * FROM bkpf

         WHERE bukrs = /pws/zycbe031-bukrs

           AND belnr = itab_zycet010-belnr51

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

           AND gjahr = itab_zycet010-dtlanc(4).

* << Fim da exclusão

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

           AND gjahr = v_ano.

* << Fim da inclusão

      ENDSELECT.

      itab_zycbt036-dtdocto = bkpf-budat.

      APPEND itab_zycbt036.

      LOOP AT itab_aux2

              WHERE nrinvoic EQ itab_zycet010-nrseq

                AND lifnr    EQ itab_zycet010-lifnr

                AND dtvencto EQ itab_zycet010-dtvencto.

        itab_zycbt036-tcode  = 'F-30'.

        itab_zycbt036-tabela = text-094.

        itab_zycbt036-cpochv = v_cpochv.

        itab_zycbt036-belnr  = itab_aux2-belnr22.

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

        PERFORM determina_ano USING itab_aux2-budat

                                    /pws/zycbe031-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

        SELECT * FROM bkpf

           WHERE bukrs = /pws/zycbe031-bukrs

             AND belnr = itab_aux2-belnr22

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

             AND gjahr = itab_aux2-budat(4).

* << Fim da exclusão

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

             AND gjahr = v_ano.

* << Fim da inclusão

        ENDSELECT.

...

 

...

        itab_zycbe033-agkoa = 'K'.

      ELSE.

        itab_zycbe033-agkoa = 'S'.

        itab_zycbe033-agkon = itab_zycbt012a-saknr1.

      ENDIF.

      APPEND itab_zycbe033.

      itab_zycbt036-tcode   = 'F-30'.

      itab_zycbt036-tabela  = text-094.

      itab_zycbt036-cpochv  = v_cpochv.

      itab_zycbt036-belnr   = itab_zycet013-belnr_cl.

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

      PERFORM determina_ano USING itab_zycet013-dtlanc

                                  /pws/zycbe031-bukrs

                         CHANGING v_ano.

* << Fim da inclusão

      SELECT * FROM bkpf

         WHERE bukrs = /pws/zycbe031-bukrs

           AND belnr = itab_zycet013-belnr_cl

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

           AND gjahr = itab_zycet013-dtlanc(4).

* << Fim da exclusão

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

           AND gjahr = v_ano.

* << Fim da inclusão

      ENDSELECT.

...

 

...

      APPEND itab_zycbt036.

      LOOP AT itab_aux2

              WHERE nrinvoic EQ itab_zycet013-nrseq

                AND lifnr    EQ itab_zycet013-lifnr

                AND gsberf   EQ itab_zycet013-gsber

                AND prctr    EQ itab_zycet013-prctr.

        itab_zycbt036-tcode  = 'F-30'.

        itab_zycbt036-tabela = text-094.

        itab_zycbt036-cpochv = v_cpochv.

        itab_zycbt036-belnr  = itab_aux2-belnr22.

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

        PERFORM determina_ano USING itab_aux2-budat

                                    /pws/zycbe031-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

        SELECT * FROM bkpf

           WHERE bukrs = /pws/zycbe031-bukrs

             AND belnr = itab_aux2-belnr22

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

             AND gjahr = itab_aux2-budat(4).

* << Fim da exclusão

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

             AND gjahr = v_ano.

* << Fim da inclusão

        ENDSELECT.

...

 

...

      WHEN 'D'.

        v_dtdocto = wa_zycbe001-dtdesem.

      WHEN 'C'.

        v_dtdocto = wa_zycbe001-dtcred.

      WHEN 'O'.

        v_dtdocto = wa_zycbe001-dtcontr.

    ENDCASE.

  ELSE.

    v_dtdocto = wa_zycbe001-dt_lcto_tr.

  ENDIF.

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

  PERFORM determina_ano USING v_dtdocto

                              wa_zycbe001-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE * FROM bkpf

   WHERE bukrs = wa_zycbe001-bukrs

     AND belnr = wa_zycbe001-belnr_tr

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

     AND gjahr = v_dtdocto(4).

* << Fim da exclusão

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

     AND gjahr = v_ano.

* << Fim da inclusão

  itab_zycbe033-dtdocto = bkpf-budat.

...

 

...

             AND nrcorresp = /pws/zycbe031-nrcorresp

             AND nrseq     <> /pws/zycbe031-nrseq.

  CLEAR itab_zycbt036.

  REFRESH itab_zycbt036.

  LOOP AT itab_zycbt031_tr.

    itab_zycbt036-tcode   = 'F-30'.

    itab_zycbt036-tabela  = '/PWS/ZYCBT001'.

    itab_zycbt036-cpochv  = /pws/zycbe031-nrseq.

    itab_zycbt036-belnr   = itab_zycbt031_tr-belnr_p.

    itab_zycbt036-dtdocto = itab_zycbt031_tr-dtcredpr.

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

    PERFORM determina_ano USING itab_zycbt036-dtdocto

                                /pws/zycbe031-bukrs

                       CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE awkey FROM bkpf

                        INTO itab_zycbt036-awkey

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe031-bukrs

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

                          AND gjahr EQ itab_zycbt036-dtdocto(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_ano.

* << Fim da inclusão

    APPEND itab_zycbt036.

  ENDLOOP.

  itab_zycbe033-d_gsber = wa_zycbe001-gsber.

  itab_zycbe033-d_kostl = wa_zycbe001-kostl.

  itab_zycbe033-d_prctr = wa_zycbe001-prctr.

  itab_zycbe033-d_fipos = wa_zycbe001-fipos.

  itab_zycbe033-c_gsber = wa_zycbe001-gsber.

  itab_zycbe033-c_kostl = wa_zycbe001-kostl.

  itab_zycbe033-c_prctr = wa_zycbe001-prctr.

  itab_zycbe033-c_fipos = wa_zycbe001-fipos.

...

 

...

  itab_zycbe033-agkoa = 'S'.

  MODIFY itab_zycbe033 INDEX 1.

  itab_zycbt036-tcode  = 'F-30'.

  itab_zycbt036-tabela = '/PWS/ZYCBT001'.

  itab_zycbt036-cpochv = /pws/zycbe031-nrseq.

  IF wa_zycbe001-belnr_tr IS INITIAL.

    itab_zycbt036-belnr  = wa_zycbe001-belnr.

  ELSE.

    itab_zycbt036-belnr  = wa_zycbe001-belnr_tr.

  ENDIF.

* >> Início da inclusão: FORM FILL_DATE_1_F-30_TR

  PERFORM determina_ano USING wa_zycbe001-dt_lcto_tr

                              wa_zycbe001-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE * FROM bkpf

     WHERE bukrs = wa_zycbe001-bukrs

       AND belnr = itab_zycbt036-belnr

* >> Início da exclusão: FORM FILL_DATE_1_F-30_TR

       AND gjahr = wa_zycbe001-dt_lcto_tr(4).

* << Fim da exclusão

* >> Início da inclusão: FORM FILL_DATE_1_F-30_TR

       AND gjahr = v_ano.

* << Fim da inclusão

  itab_zycbt036-dtdocto = bkpf-budat.

  APPEND itab_zycbt036.

  itab_zycbt036-tcode  = 'F-30'.

  itab_zycbt036-tabela = '/PWS/ZYCBT001'.

  itab_zycbt036-cpochv = /pws/zycbe031-nrseq.

  itab_zycbt036-belnr  = p_belnr_p.

* >> Início da inclusão: FORM FILL_DATE_1_F-30_TR

  PERFORM determina_ano USING itab_zycbe033-budat

                              wa_zycbe001-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE * FROM bkpf

     WHERE bukrs = wa_zycbe001-bukrs

       AND belnr = p_belnr_p

* >> Início da exclusão: FORM FILL_DATE_1_F-30_TR

       AND gjahr = itab_zycbe033-budat(4).

* << Fim da exclusão

* >> Início da inclusão: FORM FILL_DATE_1_F-30_TR

       AND gjahr = v_ano.

* << Fim da inclusão

  itab_zycbt036-dtdocto = bkpf-budat.

...

 

...

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0.

    READ TABLE itab_zycbt032 WITH KEY tcode  = 'FBV0'

                                      tabela = '/PWS/ZYCBT031'

                                      cpochv = /pws/zycbe031-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc EQ 0.

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

      PERFORM determina_ano USING sy-datum

                                  itab_zycbe033-bukrs

                         CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE * FROM bkpf

        WHERE bukrs EQ itab_zycbe033-bukrs

          AND belnr EQ /pws/zycbe031-belnr_pi

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

          AND gjahr EQ sy-datum+0(4)

* << Fim da exclusão

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

          AND gjahr EQ v_ano

* << Fim da inclusão

          AND bstat EQ 'V'.

...

 

...

    ENDIF.

  ELSE.

    LOOP AT itab_zycbt034.

      MESSAGE i016 WITH itab_zycbt034-descricao v_evento.

    ENDLOOP.

  ENDIF.

ENDFORM.

FORM estorna_ir.

  PERFORM clear_date_batch.

  CHECK NOT /pws/zycbe031-belnr_pi IS INITIAL.

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

  PERFORM determina_ano USING /pws/zycbe031-dtcredir

                              /pws/zycbe031-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE * FROM bkpf

     WHERE bukrs EQ /pws/zycbe031-bukrs

       AND belnr EQ /pws/zycbe031-belnr_pi

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

       AND gjahr EQ /pws/zycbe031-dtcredir(4)

* << Fim da exclusão

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

       AND gjahr EQ v_ano

* << Fim da inclusão

       AND bstat EQ 'V'.

...

 

...

    PERFORM ano_contabil_estorna.

    PERFORM determina_periodo USING itab_zycbe033-budat

                                    /pws/zycbe031-bukrs

                           CHANGING v_monat.

    itab_zycbe033-gjahs = v_date_est.

  ENDIF.

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbe033-bukrs

            i_gjahr          = v_date_est

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

            i_koart          = 'S'

* << Fim da exclusão

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

            i_koart          = '+'

* << Fim da inclusão

            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.

...

 

...

    PERFORM ano_contabil_estorna.

    PERFORM determina_periodo USING itab_zycbe033-budat

                                    /pws/zycbe031-bukrs

                           CHANGING v_monat.

    itab_zycbe033-gjahs = v_date_est.

  ENDIF.

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbe033-bukrs

            i_gjahr          = v_date_est

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

            i_koart          = 'S'

* << Fim da exclusão

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

            i_koart          = '+'

* << Fim da inclusão

            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.

...

 

...

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycbe033

            t_campo         = itab_zycbt034

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0.

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

    PERFORM determina_ano USING sy-datum

                                itab_zycbe033-bukrs

                       CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE * FROM bkpf

      WHERE bukrs EQ itab_zycbe033-bukrs

        AND belnr EQ /pws/zycbe031-belnr_pi

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

        AND gjahr EQ sy-datum+0(4).

* << Fim da exclusão

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

        AND gjahr EQ v_ano.

* << Fim da inclusão

    IF bkpf-bstat NE 'Z'.

...

 

...

  itab_zycbe033-d_fipos = wa_zycbt124-fipos.

  itab_zycbe033-d_fictr = wa_zycbt124-fictr.

  itab_zycbe033-c_gsber = wa_zycbt124-gsber.

  itab_zycbe033-c_kostl = wa_zycbt124-kostl.

  itab_zycbe033-c_prctr = wa_zycbt124-prctr.

  itab_zycbe033-c_fipos = wa_zycbt124-fipos.

  itab_zycbe033-c_fictr = wa_zycbt124-fictr.

  itab_zycbe033-agkoa = 'S'.

  itab_zycbe033-agkon = itab_zycbt012-saknr1.

  itab_zycbe033-belnr = wa_zycbt124-belnr_p.

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

  PERFORM determina_ano USING /pws/zycbe031-dtcredir

                              wa_zycbt124-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE awkey FROM bkpf

         INTO itab_zycbe033-awkey

         WHERE belnr EQ wa_zycbt124-belnr_p

         AND bukrs   EQ wa_zycbt124-bukrs

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

         AND gjahr   EQ /pws/zycbe031-dtcredir(4).

* << Fim da exclusão

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

         AND gjahr   EQ v_ano.

* << Fim da inclusão

  APPEND itab_zycbe033.

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL.

    CALL FUNCTION '/PWS/ZYCA_TRANSACAO_F_04'

         EXPORTING

              v_modo          = v_modo_bi

         TABLES

              t_dados         = itab_zycbe033

...

 

...

    PERFORM ano_contabil_estorna.

    PERFORM determina_periodo USING itab_zycbe033-budat

                                    /pws/zycbe031-bukrs

                           CHANGING v_monat.

    itab_zycbe033-gjahs = v_date_est.

  ENDIF.

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbe033-bukrs

            i_gjahr          = v_date_est

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

            i_koart          = 'S'

* << Fim da exclusão

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

            i_koart          = '+'

* << Fim da inclusão

            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.

...

 

...

          /pws/zycbe031-statuspg = 'C'.

          /pws/zycbe031-belnr_p  = itab_zycbt032-belnr.

          itab_zycbt031_tc-belnr_c  = itab_zycbt032-belnr.

          MODIFY itab_zycbt031_tc TRANSPORTING belnr_c

                 WHERE nrseq = /pws/zycbe031-nrseq.

          IF NOT /pws/zycbe145-bukrs_p IS INITIAL AND

             /pws/zycbe145-bukrs_p     NE /pws/zycbe031-bukrs.

            READ TABLE itab_zycbt108 INDEX 1.

            IF sy-subrc = 0 AND

               NOT itab_zycbt108-belnr_lq IS INITIAL.

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

              PERFORM determina_ano USING itab_zycbt108-dtassoc

                                          /pws/zycbe031-bukrs

                                 CHANGING v_ano.

* << Fim da inclusão

              SELECT SINGLE augbl FROM bseg

                            INTO /pws/zycbe145-belnr_saida

                            WHERE bukrs = /pws/zycbe031-bukrs

                              AND belnr = itab_zycbt108-belnr_lq

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

                              AND gjahr = itab_zycbt108-dtassoc(4)

* << Fim da exclusão

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

                              AND gjahr = v_ano

* << Fim da inclusão

                              AND shkzg = 'H'.

            ELSEIF sy-subrc = 0 AND

                   NOT itab_zycbt108-belnr_co IS INITIAL.

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

              PERFORM determina_ano USING itab_zycbt108-dtincl

                                          /pws/zycbe031-bukrs

                                 CHANGING v_ano.

* << Fim da inclusão

              SELECT SINGLE augbl FROM bseg

                            INTO /pws/zycbe145-belnr_saida

                            WHERE bukrs = /pws/zycbe031-bukrs

                              AND belnr = itab_zycbt108-belnr_co

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

                              AND gjahr = itab_zycbt108-dtincl

* << Fim da exclusão

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

                              AND gjahr = v_ano

* << Fim da inclusão

                              AND shkzg = 'H'.

            ENDIF.

            UPDATE /pws/zycbt145 SET

                                 belnr_saida = /pws/zycbe145-belnr_saida

                                 WHERE nrseq = /pws/zycbe031-nrseq.

          ENDIF.

          LOOP AT itab_zycbt031_tc.

            CLEAR v_slpgfat.

            READ TABLE itab_zycbt119 WITH KEY

                                     nrseq = itab_zycbt031_tc-nrcorresp.

...

 

...

              OTHERS           = 3.

    IF sy-subrc = 0.

      itab_zycbe033-stgrd = '01'.

    ELSE.

      itab_zycbe033-stgrd = '02'.

    ENDIF.

    SELECT SINGLE * FROM bsas

             WHERE bukrs   = itab_zycbt134-bukrs

               AND hkont   = v_newko

               AND belnr   = itab_zycbe033-belnr

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

               AND gjahr   = itab_zycbt134-dtlanc(4).

* << Fim da exclusão

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

               AND gjahr   = v_ano.

* << Fim da inclusão

    IF sy-subrc = 0.

      MESSAGE i061 WITH text-141 itab_zycbe033-belnr text-244 text-245.

      EXIT.

    ENDIF.

    CLEAR v_data_mes.

    IF itab_zycbe033-stgrd = '02'.

      v_dias = '01'.

      CONCATENATE sy-datum(6) v_dias INTO v_data_mes.

      PERFORM calendario CHANGING v_data_mes.

    ENDIF.

...

 

...

      itab_zycbt036-tcode   = 'F-53'.

      itab_zycbt036-tabela  = '/PWS/ZYCBT134'.

      itab_zycbt036-cpochv  = v_cpochv.

      IF itab_zycbt108-belnr_lq IS INITIAL.

        itab_zycbt036-belnr = itab_zycbt108-belnr_co.

      ELSE.

        itab_zycbt036-belnr = itab_zycbt108-belnr_lq.

      ENDIF.

      itab_zycbt036-lifnr = itab_zycbt108-lifnr.

      IF NOT itab_zycbt108-belnr_co IS INITIAL.

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

        PERFORM determina_ano USING itab_zycbt108-bldat

                                    itab_zycbt119-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

        SELECT SINGLE budat awkey FROM bkpf

               INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                            WHERE belnr EQ itab_zycbt036-belnr

                            AND   bukrs EQ itab_zycbt119-bukrs

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

                            AND   gjahr EQ itab_zycbt108-bldat(4).

* << Fim da exclusão

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

                            AND   gjahr EQ v_ano.

* << Fim da inclusão

        APPEND itab_zycbt036.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

ENDFORM.

FORM atualiza_fatura.

  CLEAR: v_slpgfat, v_slfat.

  IF itab_zycbt064[] IS INITIAL.

    SELECT * FROM /pws/zycbt064

               INTO TABLE itab_zycbt064

...

 

...

ENDFORM.

FORM verifica_documento_eo.

  IF sy-index = 2.

    v_belnr = /pws/zycbe031-belnr_pi.

  ELSEIF sy-index = 1 OR sy-index = 0.

    v_belnr = /pws/zycbe031-belnr_p.

  ELSEIF sy-index = 3.

    v_belnr = /pws/zycbe031-belnr_cide.

  ENDIF.

  CLEAR bseg-augbl.

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

  PERFORM determina_ano USING wa_zycbt031-dtcredpr

                              /pws/zycbe031-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE augbl FROM bseg INTO bseg-augbl

                  WHERE belnr = v_belnr

                    AND bukrs = /pws/zycbe031-bukrs

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

                    AND gjahr = wa_zycbt031-dtcredpr(4)

* << Fim da exclusão

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

                    AND gjahr = v_ano

* << Fim da inclusão

                    AND shkzg = 'S'.

...

 

...

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycbe033

            t_campo         = itab_zycbt034

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0.

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

    PERFORM determina_ano USING sy-datum

                                itab_zycbe033-bukrs

                       CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE * FROM bkpf

      WHERE bukrs EQ itab_zycbe033-bukrs

        AND belnr EQ v_belnr

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

        AND gjahr EQ sy-datum+0(4).

* << Fim da exclusão

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

        AND gjahr EQ v_ano.

* << Fim da inclusão

    IF bkpf-bstat NE 'Z'.

...

 

...

  wa_zycbe033-werks  = wa_zycbt117-werks.

  wa_zycbe033-brnch  = wa_zycbt117-j_1bbranch.

  PERFORM busca_filial

    USING    wa_zycbe033-bukrs

             wa_zycbe033-werks

    CHANGING wa_zycbe033-brnch.

  wa_zycbt036-mandt   = sy-mandt.

  wa_zycbt036-cpochv  = wa_zycbe033-cpochv.

  wa_zycbt036-tcode   = wa_zycbe033-tcode.

  wa_zycbt036-tabela  = wa_zycbe033-tabela.

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

  v_ano   = wa_zycbe033-bldat(4).

  v_monat = wa_zycbe033-bldat+4(2).

* << Fim da exclusão

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

  PERFORM determina_ano USING wa_zycbe033-bldat

                              wa_zycbe033-bukrs

                     CHANGING v_ano.

  PERFORM determina_periodo USING wa_zycbe033-bldat

                                  wa_zycbe033-bukrs

                            CHANGING v_monat.

* << Fim da inclusão

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = wa_zycbe033-bukrs

            i_gjahr          = v_ano

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

            i_koart          = 'K'

* << Fim da exclusão

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

            i_koart          = '+'

* << Fim da inclusão

            i_monat          = v_monat

       EXCEPTIONS

            error_period     = 1

            error_period_acc = 2

            OTHERS           = 3.

  IF sy-subrc NE '0'.

    wa_zycbe033-bldat  = sy-datum.

    wa_zycbe033-budat  = sy-datum.

  ENDIF.

  CASE p_processo.

...

 

...

        wa_zycbe033-d_newko      'D_NEWKO' 'Conta débito'(016),

        wa_zycbe033-c_newko      'C_NEWKO' 'Conta crédito'(018).

    WHEN c_f51lfn.

      wa_zycbe033-d_newko = 132456789.

      wa_zycbe033-agkon = wa_zycbt117-lifnr.

      wa_zycbe033-agkoa  = 'K'.

      READ TABLE itab_mensagem INTO wa_mensagem

        WITH KEY transacao = c_f02.

      wa_zycbt036-belnr   = wa_mensagem-belnr.

      wa_zycbt036-dtdocto = wa_mensagem-bldat.

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

  PERFORM determina_ano USING wa_mensagem-bldat

                              wa_zycbt117-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE budat awkey FROM bkpf

        INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)

        WHERE belnr EQ wa_mensagem-belnr

          AND bukrs EQ wa_zycbt117-bukrs

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

          AND gjahr EQ wa_mensagem-bldat(4).

* << Fim da exclusão

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

          AND gjahr EQ v_ano.

* << Fim da inclusão

      APPEND wa_zycbt036 TO itab_zycbt036.

      wa_zycbt036-belnr   = wa_zycbt117-belnr_p.

      wa_zycbt036-dtdocto = wa_zycbt117-dtpagto.

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

  PERFORM determina_ano USING wa_zycbt036-dtdocto

                              wa_zycbt117-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE budat awkey FROM bkpf

        INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)

        WHERE belnr EQ wa_zycbt036-belnr

          AND bukrs EQ wa_zycbt117-bukrs

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

          AND gjahr EQ wa_zycbt036-dtdocto(4).

* << Fim da exclusão

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

          AND gjahr EQ v_ano.

* << Fim da inclusão

      APPEND wa_zycbt036 TO itab_zycbt036.

    WHEN c_f51rze.

      wa_zycbe033-d_newko = 132456789.

      wa_zycbe033-agkon = wa_zycbt117-lifnr.

      wa_zycbe033-agkoa = 'K'.

      wa_zycbe033-agums = /pws/zycbt011-agums.

      READ TABLE itab_mensagem INTO wa_mensagem

        WITH KEY transacao = c_f02.

      wa_zycbt036-belnr   = wa_mensagem-belnr.

      wa_zycbt036-dtdocto = wa_mensagem-bldat.

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

  PERFORM determina_ano USING wa_mensagem-bldat

                              wa_zycbt117-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE budat awkey FROM bkpf

        INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)

        WHERE belnr EQ wa_mensagem-belnr

          AND bukrs EQ wa_zycbt117-bukrs

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

          AND gjahr EQ wa_mensagem-bldat(4).

* << Fim da exclusão

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

          AND gjahr EQ v_ano.

* << Fim da inclusão

      APPEND wa_zycbt036 TO itab_zycbt036.

      wa_zycbt036-belnr   = wa_zycbt117-belnr_as.

      wa_zycbt036-dtdocto = wa_zycbt117-dtassoc.

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

  PERFORM determina_ano USING wa_zycbt036-dtdocto

                              wa_zycbt117-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE budat awkey FROM bkpf

        INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)

        WHERE belnr EQ wa_zycbt036-belnr

          AND bukrs EQ wa_zycbt117-bukrs

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

          AND gjahr EQ wa_zycbt036-dtdocto(4).

* << Fim da exclusão

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

          AND gjahr EQ v_ano.

* << Fim da inclusão

      APPEND wa_zycbt036 TO itab_zycbt036.

  ENDCASE.

  PERFORM busca_parametros321_ia

    CHANGING wa_zycbe033.

  PERFORM verifica_campo_vazio USING:

    wa_zycbe033-bukrs        'BUKRS'   'Empresa'(010),

    wa_zycbe033-waers        'WAERS'   'Moeda'(011),

    wa_zycbe033-blart        'BLART'   'Tipo de documento'(268),

    wa_zycbe033-bldat        'BLDAT'   'Data documento'(267),

    wa_zycbe033-budat        'BUDAT'   'Data lançamento'(269).

...

 

...

  wa_zycbe033-werks  = wa_zycbt119-werks.

  wa_zycbe033-brnch  = wa_zycbt119-j_1bbranch.

  PERFORM busca_filial

    USING    wa_zycbe033-bukrs

             wa_zycbe033-werks

    CHANGING wa_zycbe033-brnch.

  wa_zycbt036-mandt   = sy-mandt.

  wa_zycbt036-cpochv  = wa_zycbe033-cpochv.

  wa_zycbt036-tcode   = wa_zycbe033-tcode.

  wa_zycbt036-tabela  = wa_zycbe033-tabela.

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

  v_ano   = wa_zycbe033-bldat(4).

  v_monat = wa_zycbe033-bldat+4(2).

* << Fim da exclusão

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

  PERFORM determina_ano USING wa_zycbe033-bldat

                              wa_zycbe033-bukrs

                     CHANGING v_ano.

  PERFORM determina_periodo USING wa_zycbe033-bldat

                                  wa_zycbe033-bukrs

                            CHANGING v_monat.

* << Fim da inclusão

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = wa_zycbe033-bukrs

            i_gjahr          = v_ano

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

            i_koart          = 'K'

* << Fim da exclusão

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

            i_koart          = '+'

* << Fim da inclusão

            i_monat          = v_monat

       EXCEPTIONS

            error_period     = 1

            error_period_acc = 2

            OTHERS           = 3.

  IF sy-subrc NE '0'.

    wa_zycbe033-bldat  = sy-datum.

    wa_zycbe033-budat  = sy-datum.

  ENDIF.

  CASE p_processo.

...

 

...

        wa_zycbe033-d_newko      'D_NEWKO' 'Conta débito'(016),

        wa_zycbe033-c_newko      'C_NEWKO' 'Conta crédito'(018).

    WHEN c_f51lfn.

      wa_zycbe033-d_newko = 132456789.

      wa_zycbe033-agkon = wa_zycbt119-lifnr.

      wa_zycbe033-agkoa  = 'K'.

      READ TABLE itab_mensagem INTO wa_mensagem

        WITH KEY transacao = c_f02.

      wa_zycbt036-belnr   = wa_mensagem-belnr.

      wa_zycbt036-dtdocto = wa_mensagem-bldat.

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

  PERFORM determina_ano USING wa_mensagem-bldat

                              wa_zycbt119-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE budat awkey FROM bkpf

        INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)

        WHERE belnr EQ wa_mensagem-belnr

          AND bukrs EQ wa_zycbt119-bukrs

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

          AND gjahr EQ wa_mensagem-bldat(4).

* << Fim da exclusão

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

          AND gjahr EQ v_ano.

* << Fim da inclusão

      APPEND wa_zycbt036 TO itab_zycbt036.

      wa_zycbt036-belnr   = wa_zycbt119-belnr_p.

      wa_zycbt036-dtdocto = wa_zycbt119-dtpagto.

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

  PERFORM determina_ano USING wa_zycbt036-dtdocto

                              wa_zycbt119-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE budat awkey FROM bkpf

        INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)

        WHERE belnr EQ wa_zycbt036-belnr

          AND bukrs EQ wa_zycbt119-bukrs

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

          AND gjahr EQ wa_zycbt036-dtdocto(4).

* << Fim da exclusão

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

          AND gjahr EQ v_ano.

* << Fim da inclusão

      APPEND wa_zycbt036 TO itab_zycbt036.

    WHEN c_f51rze.

      wa_zycbe033-d_newko = 132456789.

      wa_zycbe033-agkon = wa_zycbt119-lifnr.

      wa_zycbe033-agkoa = 'K'.

      wa_zycbe033-agums = /pws/zycbt011-agums.

      READ TABLE itab_mensagem INTO wa_mensagem

        WITH KEY transacao = c_f02.

      wa_zycbt036-belnr   = wa_mensagem-belnr.

      wa_zycbt036-dtdocto = wa_mensagem-bldat.

      SELECT SINGLE budat awkey FROM bkpf

        INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)

        WHERE belnr EQ wa_mensagem-belnr

          AND bukrs EQ wa_zycbt119-bukrs

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

          AND gjahr EQ wa_mensagem-bldat(4).

* << Fim da exclusão

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

          AND gjahr EQ v_ano.

* << Fim da inclusão

      APPEND wa_zycbt036 TO itab_zycbt036.

      wa_zycbt036-belnr   = wa_zycbt119-belnr_as.

      wa_zycbt036-dtdocto = wa_zycbt119-dtassoc.

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

  PERFORM determina_ano USING wa_zycbt036-dtdocto

                              wa_zycbt119-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE budat awkey FROM bkpf

        INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)

        WHERE belnr EQ wa_zycbt036-belnr

          AND bukrs EQ wa_zycbt119-bukrs

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

          AND gjahr EQ wa_zycbt036-dtdocto(4).

* << Fim da exclusão

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

          AND gjahr EQ v_ano.

* << Fim da inclusão

      APPEND wa_zycbt036 TO itab_zycbt036.

  ENDCASE.

  PERFORM busca_parametros321_ip

    USING v_codeven

    CHANGING wa_zycbe033.

  PERFORM verifica_campo_vazio USING:

    wa_zycbe033-bukrs        'BUKRS'   'Empresa'(010),

    wa_zycbe033-waers        'WAERS'   'Moeda'(011),

    wa_zycbe033-blart        'BLART'   'Tipo de documento'(268),

    wa_zycbe033-bldat        'BLDAT'   'Data documento'(267),

...

 

...

      USING 'FBRA' c_zycbt117 p_cpochv

            'Cancelamento do documento'(265)

      CHANGING wa_mensagem.

    IF NOT wa_mensagem IS INITIAL.

    ENDIF.

  ENDIF.

ENDFORM.

FORM contabiliza_repatriacao_cp.

  PERFORM clear_date_batch.

  PERFORM get_parameters_repatriacao_cp.

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

  PERFORM determina_ano USING itab_dados_tc-dtlanc

                              itab_zycbt124_aux-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE awkey FROM bkpf

         INTO itab_zycbe033-awkey

        WHERE belnr EQ wa_zycat028-belnr_as

          AND bukrs EQ itab_zycbt124_aux-bukrs

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

          AND gjahr EQ itab_dados_tc-dtlanc(4).

* << Fim da exclusão

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

          AND gjahr EQ v_ano.

* << Fim da inclusão

  itab_zycbe033-mandt = sy-mandt.

  itab_zycbe033-tcode = 'F-51'.

  itab_zycbe033-tabela = '/PWS/ZYCBT031'.

  itab_zycbe033-cpochv = itab_zycbt124_aux-nrseq.

  itab_zycbe033-bktxt = wa_zycbt007-bktxt.

  itab_zycbe033-budat = itab_dados_tc-dtlanc.

  IF wa_zycbt007-fdtdoc   = 'D'.

    itab_zycbe033-bldat   = sy-datum.

  ELSE.

    itab_zycbe033-bldat   = itab_zycbe033-budat.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB110I01

 

...

    WHEN 'MODO'.

      PERFORM modo_batch_input.

    WHEN 'CS'.

      GET CURSOR FIELD v_campo VALUE v_valor.

      IF v_campo EQ '/PWS/ZYCBE145-BELNR_CASH' OR

         v_campo EQ '/PWS/ZYCBE145-BELNR_TC'.

        IF NOT v_valor IS INITIAL.

          i_belnr = v_valor.

          i_bukrs = /pws/zycbe031-bukrs.

          IF v_campo EQ '/PWS/ZYCBE031-NRCORRESP'.

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

            i_gjahr = /pws/zycbe031-dtincl(4).

* << Fim da exclusão

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

  PERFORM determina_ano USING /pws/zycbe031-dtincl

                              /pws/zycbe031-bukrs

                     CHANGING i_gjahr.

* << Fim da inclusão

          ELSE.

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

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

* << Fim da exclusão

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

  PERFORM determina_ano USING /pws/zycbe031-dtcredpr

                              /pws/zycbe031-bukrs

                     CHANGING i_gjahr.

* << Fim da inclusão

          ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCM110F01

 

...

      ENDIF.

      IF wa_zycbt113-ftransf EQ 'C' AND

         itab_zycbt064-tpparc EQ 'P'.

        CLEAR /pws/zycbt154-dtcont.

        SELECT SINGLE dtcont FROM /pws/zycbt154

                             INTO /pws/zycbt154-dtcont

                             WHERE codmod    EQ 'I'

                               AND codmodul  EQ 'T'

                               AND nrcorresp EQ itab_zycbt064-nrchave

                               AND belnr_cl  EQ itab_zycbt036-belnr.

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

        PERFORM determina_ano USING /pws/zycbt154-dtcont

                                    /pws/zycbt112-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

        SELECT SINGLE budat awkey FROM bkpf

                      INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                            WHERE belnr EQ itab_zycbt036-belnr

                              AND bukrs EQ /pws/zycbt112-bukrs

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

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

* << Fim da exclusão

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

                              AND gjahr EQ v_ano.

* << Fim da inclusão

      ELSE.

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

        PERFORM determina_ano USING /pws/zycbt112-dtdesem

                                    /pws/zycbt112-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

        SELECT SINGLE budat awkey FROM bkpf

                      INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                            WHERE belnr EQ itab_zycbt036-belnr

                              AND bukrs EQ /pws/zycbt112-bukrs

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

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

* << Fim da exclusão

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

                              AND gjahr EQ v_ano.

* << Fim da inclusão

      ENDIF.

      APPEND itab_zycbt036.

    ENDLOOP.

    READ TABLE itab_zycbt036 WITH KEY belnr = ' '.

    IF sy-subrc EQ 0.

      EXIT.

    ENDIF.

    CLEAR itab_zycbt036.

    itab_zycbt036-tcode  = text-066.

    itab_zycbt036-tabela = text-092.

    itab_zycbt036-cpochv = /pws/zycbe031-nrseq.

    itab_zycbt036-belnr  = /pws/zycbe031-belnr_p.

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

        PERFORM determina_ano USING /pws/zycbe031-dtcredpr

                                    /pws/zycbe031-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE budat awkey FROM bkpf

                      INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                        WHERE belnr EQ itab_zycbt036-belnr

                          AND bukrs EQ /pws/zycbe031-bukrs

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

                          AND gjahr EQ /pws/zycbe031-dtcredpr(4).

* << Fim da exclusão

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

                          AND gjahr EQ v_ano.

* << Fim da inclusão

    APPEND itab_zycbt036.

    IF /pws/zycbe031-tpparc EQ 'P'.

      CONCATENATE wa_zycbt112-codint wa_zycbt113-ftransf

                  INTO v_tipo_prazo SEPARATED BY space.

      CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

           EXPORTING

                bukrs           = /pws/zycbe031-bukrs

                ktosl           = 'PFI'

                codaux1         = v_tipo_prazo

           TABLES

...

 

...

                  WHERE event = 'SU-AG'

                    AND feldn = 'AWKEY'.

  IF wa_zycbt118-frpagto EQ 'C'.

    itab_zycbt036-tcode  = 'F-51'.

    itab_zycbt036-tabela = '/PWS/ZYCBT031'.

    itab_zycbt036-cpochv = /pws/zycbe031-nrseq.

    itab_zycbt036-belnr  = wa_zycbt118-belnrdesp.

    IF t021r IS INITIAL.

      itab_zycbt036-dtdocto = wa_zycbt118-dtincl.

    ELSE.

* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_ID

        PERFORM determina_ano USING wa_zycbt118-dtincl

                                    wa_zycbt118-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE awkey FROM bkpf

                          INTO itab_zycbt036-awkey

                          WHERE belnr EQ wa_zycbt118-belnrdesp

                            AND bukrs EQ wa_zycbt118-bukrs

* >> Início da exclusão: FORM FILL_DATE_F-63OUF-02_ID

                            AND gjahr EQ wa_zycbt118-dtincl(4).

* << Fim da exclusão

* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_ID

                            AND gjahr EQ v_ano.

* << Fim da inclusão

    ENDIF.

    APPEND itab_zycbt036.

  ENDIF.

  LOOP AT itab_zycbt034.

    MESSAGE i127 WITH itab_zycbt034-descricao v_evento.

  ENDLOOP.

  CLEAR sy-subrc.

  IF itab_zycbt034 IS INITIAL.

    IF wa_zycbt118-frpagto = 'R'.

      v_syrepid = sy-repid.

...

 

...

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycbe033

            t_campo         = itab_zycbt034

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0.

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

        PERFORM determina_ano USING sy-datum

                                    itab_zycbe033-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE * FROM bkpf

      WHERE bukrs EQ itab_zycbe033-bukrs

        AND belnr EQ v_belnr

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

        AND gjahr EQ sy-datum+0(4).

* << Fim da exclusão

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

        AND gjahr EQ v_ano.

* << Fim da inclusão

    IF bkpf-bstat NE 'Z'.

...

 

...

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycbe033

            t_campo         = itab_zycbt034

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0.

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

        PERFORM determina_ano USING sy-datum

                                    itab_zycbe033-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE * FROM bkpf

      WHERE bukrs EQ itab_zycbe033-bukrs

        AND belnr EQ v_belnr

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

        AND gjahr EQ sy-datum+0(4).

* << Fim da exclusão

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

        AND gjahr EQ v_ano.

* << Fim da inclusão

    IF bkpf-bstat NE 'Z'.

...

 

...

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycbe033

            t_campo         = itab_zycbt034

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0.

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

        PERFORM determina_ano USING sy-datum

                                    itab_zycbe033-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE * FROM bkpf

      WHERE bukrs EQ itab_zycbe033-bukrs

        AND belnr EQ v_belnr

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

        AND gjahr EQ sy-datum+0(4).

* << Fim da exclusão

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

        AND gjahr EQ v_ano.

* << Fim da inclusão

    IF bkpf-bstat NE 'Z'.

...

 

...

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycbe033

            t_campo         = itab_zycbt034

            t_zycbt032      = itab_zycbt032

       EXCEPTIONS

            campo_em_branco = 1

            OTHERS          = 2.

  IF sy-subrc = 0.

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

        PERFORM determina_ano USING sy-datum

                                    itab_zycbe033-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE * FROM bkpf

      WHERE bukrs EQ itab_zycbe033-bukrs

        AND belnr EQ v_belnr

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

        AND gjahr EQ sy-datum+0(4).

* << Fim da exclusão

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

        AND gjahr EQ v_ano.

* << Fim da inclusão

    IF bkpf-bstat NE 'Z'.

...

 

...

  itab_zycbe033-agums = wa_zycbt011-agums.

  itab_zycbe033-agkoa = wa_zycbt011-koart.

  itab_zycbe033-agkon = wa_zycbt119-lifnr.

  PERFORM verify_null_field USING itab_zycbe033-agkon

                                  'AGKON'

                                  text-061.

  itab_zycbt036-tcode  = text-066.

  itab_zycbt036-tabela = text-067.

  itab_zycbt036-cpochv = /pws/zycbe031-nrseq.

  itab_zycbt036-belnr  = /pws/zycbe031-belnr_p.

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

        PERFORM determina_ano USING /pws/zycbe031-dtcredpr

                                    /pws/zycbe031-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE budat awkey FROM bkpf

                      INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                      WHERE belnr EQ /pws/zycbe031-belnr_p

                        AND bukrs EQ /pws/zycbe031-bukrs

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

                        AND gjahr EQ /pws/zycbe031-dtcredpr(4).

* << Fim da exclusão

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

                        AND gjahr EQ v_ano.

* << Fim da inclusão

  APPEND itab_zycbt036.

  CLEAR itab_zycbt064.

  REFRESH itab_zycbt064.

  SELECT *

         FROM /pws/zycbt064

         INTO TABLE itab_zycbt064

         WHERE nrboleto EQ /pws/zycbe031-nrseq AND

               dtboleto EQ /pws/zycbe031-dtboleto.      "#EC CI_NOFIRST

  LOOP AT itab_zycbt064.

    SELECT SINGLE bldat belnr_co belnr_lq

...

 

...

    ELSE.

      itab_zycbt036-belnr  = /pws/zycbt108-belnr_co.

    ENDIF.

    CLEAR /pws/zycbt131.

    SELECT SINGLE dtassoc FROM  /pws/zycbt131

                          INTO  /pws/zycbt131-dtassoc

                          WHERE mdcorresp   EQ 'IP'

                            AND nrseq_pgfat EQ itab_zycbt064-nrchave

                            AND belnr_as    EQ itab_zycbt036-belnr.

    IF sy-subrc EQ 0.

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

        PERFORM determina_ano USING /pws/zycbt131-dtassoc

                                    /pws/zycbe031-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE budat awkey FROM bkpf

                        INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                          WHERE belnr EQ itab_zycbt036-belnr

                            AND bukrs EQ /pws/zycbe031-bukrs

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

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

* << Fim da exclusão

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

                            AND gjahr EQ v_ano.

* << Fim da inclusão

    ELSE.

      IF NOT /pws/zycbt108-bldat IS INITIAL AND

         NOT /pws/zycbt108-bldat EQ '00000000'.

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

        PERFORM determina_ano USING /pws/zycbt108-bldat

                                    /pws/zycbe031-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

        SELECT SINGLE budat awkey FROM bkpf

                      INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                            WHERE belnr EQ itab_zycbt036-belnr

                              AND bukrs EQ /pws/zycbe031-bukrs

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

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

* << Fim da exclusão

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

                              AND gjahr EQ v_ano.

* << Fim da inclusão

      ELSE.

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

        PERFORM determina_ano USING wa_zycbt119-dtincl

                                    /pws/zycbe031-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

        SELECT SINGLE budat awkey FROM bkpf

                      INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                            WHERE belnr EQ itab_zycbt036-belnr

                              AND bukrs EQ /pws/zycbe031-bukrs

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

                              AND gjahr EQ wa_zycbt119-dtincl(4).

* << Fim da exclusão

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

                              AND gjahr EQ v_ano.

* << Fim da inclusão

      ENDIF.

    ENDIF.

    APPEND itab_zycbt036.

  ENDLOOP.

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

     WHERE nrseq EQ wa_zycbt119-nrpagto.

  IF sy-subrc NE 0.

    READ TABLE itab_zyglt009 INDEX 1.

    IF itab_zyglt009-docprov IS INITIAL AND

           /pws/zycbt108-belnr_co IS INITIAL AND

...

 

...

  itab_zycbe033-agkoa  = 'S'.

  itab_zycbe033-newbs  = '50'.

  itab_zycbe033-agkon   = itab_zycbt012-saknr1.

  PERFORM verify_null_field USING itab_zycbt012-saknr1

                                  'AGKON'

                                  text-012.

  itab_zycbe033-d_newko = itab_zycbt012-saknr2.

  PERFORM verify_null_field USING itab_zycbt012-saknr2

                                  'NEWKO'

                                  text-016.

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

        PERFORM determina_ano USING /pws/zycbe031-dtcredpr

                                    /pws/zycbe031-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE awkey FROM bkpf

                      INTO itab_zycbe033-awkey

                      WHERE belnr EQ itab_zycbe033-belnr

                        AND bukrs EQ /pws/zycbe031-bukrs

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

                        AND gjahr EQ /pws/zycbe031-dtcredpr(4).

* << Fim da exclusão

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

                        AND gjahr EQ v_ano.

* << Fim da inclusão

  PERFORM converte_moeda.

  MODIFY itab_zycbe033 INDEX 1.

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL.

    CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_04'

         EXPORTING

              v_modo          = v_modo_bi

         TABLES

...

 

...

  itab_zycbe033-newbs  = '50'.

  PERFORM converte_moeda.

  itab_zycbe033-agkon   = itab_zycbt012-saknr1.

  PERFORM verify_null_field USING itab_zycbt012-saknr1

                                  'AGKON'

                                  text-012.

  itab_zycbe033-d_newko = itab_zycbt012-saknr2.

  PERFORM verify_null_field USING itab_zycbt012-saknr2

                                  'NEWKO'

                                  text-016.

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

        PERFORM determina_ano USING /pws/zycbe031-dtcredpr

                                    /pws/zycbe031-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE awkey FROM bkpf

                      INTO itab_zycbe033-awkey

                      WHERE belnr EQ itab_zycbe033-belnr

                        AND bukrs EQ /pws/zycbe031-bukrs

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

                        AND gjahr EQ /pws/zycbe031-dtcredpr(4).

* << Fim da exclusão

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

                        AND gjahr EQ v_ano.

* << Fim da inclusão

  MODIFY itab_zycbe033 INDEX 1.

  LOOP AT itab_zycbt034.

    MESSAGE i016 WITH itab_zycbt034-descricao.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL.

    CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_04'

         EXPORTING

              v_modo          = v_modo_bi

         TABLES

              t_dados         = itab_zycbe033

...

 

...

    itab_zycbt036-belnr  = /pws/zycbt108-belnr_lq.

  ENDIF.

  itab_zycbt036-cpochv = /pws/zycbe031-nrseq.

  CLEAR /pws/zycbt131.

  SELECT SINGLE dtassoc FROM  /pws/zycbt131

                        INTO  /pws/zycbt131-dtassoc

                        WHERE mdcorresp   EQ 'IP'

                          AND nrseq_pgfat EQ /pws/zycbt108-nrseq_pgfat

                          AND belnr_as EQ itab_zycbt036-belnr.

  IF sy-subrc EQ 0.

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

        PERFORM determina_ano USING /pws/zycbt131-dtassoc

                                    /pws/zycbt108-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE budat awkey FROM bkpf

                  INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                  WHERE belnr EQ itab_zycbt036-belnr

                    AND bukrs EQ /pws/zycbt108-bukrs

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

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

* << Fim da exclusão

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

                    AND gjahr EQ v_ano.

* << Fim da inclusão

  ELSE.

    IF /pws/zycbt108-bldat NE ' ' AND

       /pws/zycbt108-bldat NE '00000000'.

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

        PERFORM determina_ano USING /pws/zycbt108-bldat

                                    /pws/zycbt108-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE budat awkey FROM bkpf

                    INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                    WHERE belnr EQ itab_zycbt036-belnr

                      AND bukrs EQ /pws/zycbt108-bukrs

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

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

* << Fim da exclusão

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

                      AND gjahr EQ v_ano.

* << Fim da inclusão

    ELSE.

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

        PERFORM determina_ano USING wa_zycbt119-dtincl

                                    /pws/zycbt108-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE budat awkey FROM bkpf

                    INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                    WHERE belnr EQ itab_zycbt036-belnr

                      AND bukrs EQ /pws/zycbt108-bukrs

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

                      AND gjahr EQ wa_zycbt119-dtincl(4).

* << Fim da exclusão

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

                      AND gjahr EQ v_ano.

* << Fim da inclusão

    ENDIF.

  ENDIF.

  APPEND itab_zycbt036.

  itab_zycbe033-c_newko = /pws/zycbe031-bcooper.

  itab_zycbe033-d_newko = wa_zycbt119-lifnr.

  itab_zycbe033-agkoa = 'K'.

  v_exec_f51 = 'X'.

ENDFORM.

FORM contabiliza_ia_f_43.

  CHECK /pws/zycbe031-belnr_p IS INITIAL.

...

 

...

        itab_zycbt154-nrcorresp = /pws/zycbe031-nrcorresp .

        itab_zycbt154-tpcontr   = /pws/zycbe031-nrparc+1(02).

        itab_zycbt154-codmodul  = v_codmod_aux                .

        itab_zycbt154-bukrs     = /pws/zycbe031-bukrs     .

        itab_zycbt154-codmod    = 'I'                     .

        itab_zycbt154-waers     = /pws/zycbe031-waers     .

        itab_zycbt154-c_newko   = itab_zycbe033a-c_newko  .

        itab_zycbt154-d_newko   = itab_zycbe033a-d_newko  .

        itab_zycbt154-dtcont    = itab_zycbe033a-budat    .

        itab_zycbt154-gsber     = wa_zycbt112-gsber       .

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

        itab_zycbt154-gjahr     = itab_zycbe033a-budat(4) .

* << Fim da exclusão

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

        PERFORM determina_ano USING itab_zycbe033a-budat

                                    /pws/zycbe031-bukrs

                           CHANGING itab_zycbt154-gjahr.

* << Fim da inclusão

        itab_zycbt154-vlme      = itab_zycbe033a-wrbtr    .

        itab_zycbt154-kursf     = itab_zycbe033a-kursf    .

        itab_zycbt154-belnr_pr  = itab_zycbt032a-belnr     .

        APPEND itab_zycbt154.

        MOVE itab_zycbt154 TO wa_zycbt154.

        INSERT INTO /pws/zycbt154 VALUES wa_zycbt154.

      ELSE.

        LOOP AT itab_zycbt032.

          MESSAGE i015 WITH itab_zycbt032-msg+0(50)

                            itab_zycbt032-msg+50(50).

...

 

...

    PERFORM ano_contabil_estorna.

    PERFORM determina_periodo USING itab_zycbe033-budat

                                    /pws/zycbe031-bukrs

                           CHANGING v_monat.

    itab_zycbe033-gjahs = v_date_est.

  ENDIF.

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbe033-bukrs

            i_gjahr          = v_date_est

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

            i_koart          = 'S'

* << Fim da exclusão

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

            i_koart          = '+'

* << Fim da inclusão

            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.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYGL110F01

 

...

         EXCEPTIONS

              campo_em_branco = 1

              OTHERS          = 2.

  ENDIF.

  IF sy-subrc = 0.

    READ TABLE itab_zycbt032 WITH KEY tcode  = 'FBV0'

                                      tabela = '/PWS/ZYCBT031'

                                      cpochv = /pws/zycbe031-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc EQ 0.

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

      PERFORM determina_ano USING sy-datum

                                  itab_zycbe033-bukrs

                         CHANGING v_ano.

* << Fim da inclusão

      SELECT SINGLE * FROM bkpf

        WHERE bukrs EQ itab_zycbe033-bukrs

          AND belnr EQ v_belnr

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

          AND gjahr EQ sy-datum+0(4)

* << Fim da exclusão

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

          AND gjahr EQ v_ano

* << Fim da inclusão

          AND bstat EQ 'V'.

...

 

...

            IF /pws/zycbe031-belnr_p IS INITIAL AND sy-index EQ 1.

              EXIT.

            ELSEIF sy-index = 1.

              v_belnr = /pws/zycbe031-belnr_p.

            ENDIF.

            IF /pws/zycbe031-belnr_pi IS INITIAL AND sy-index EQ 2.

              EXIT.

            ELSEIF sy-index = 2.

              v_belnr = /pws/zycbe031-belnr_pi.

            ENDIF.

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

            PERFORM determina_ano USING /pws/zycbe031-dtcredpr

                                        /pws/zycbe031-bukrs

                               CHANGING v_ano.

* << Fim da inclusão

           SELECT SINGLE * FROM bkpf WHERE bukrs EQ /pws/zycbe031-bukrs

                                                   AND belnr EQ v_belnr

                                                           AND gjahr EQ

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

                                              /pws/zycbe031-dtcredpr(4)

* << Fim da exclusão

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

                                               v_ano

* << Fim da inclusão

                                                       AND bstat EQ 'V'.

...

 

...

                             value(p_fieldname)

                             value(p_description).

  IF p_field IS INITIAL.

    itab_zycbt034-campo = p_fieldname.

    itab_zycbt034-descricao = p_description.

    APPEND itab_zycbt034.

  ENDIF.

ENDFORM.

FORM verif_aprov.

  CLEAR v_est_aprov.

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

  PERFORM determina_ano USING /pws/zycbe031-dtcredpr

                              /pws/zycbe031-bukrs

                     CHANGING v_ano.

* << Fim da inclusão

  SELECT SINGLE * FROM bkpf

     WHERE bukrs EQ /pws/zycbe031-bukrs

       AND ( belnr EQ /pws/zycbe031-belnr_p OR

             belnr EQ /pws/zycbe031-belnr_pi OR

             belnr EQ /pws/zycbe031-belnr_cide )

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

       AND gjahr EQ /pws/zycbe031-dtcredpr(4)

* << Fim da exclusão

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

       AND gjahr EQ v_ano

* << Fim da inclusão

       AND bstat EQ 'V'.

  IF sy-subrc EQ 0.

    v_est_aprov = 'N'.

  ELSE.

    v_est_aprov = 'S'.

  ENDIF.

ENDFORM.

FORM verifica_pagtoirrf.

  IF /pws/zycbe031-vlir GT 0 AND /pws/zycbe031-pagtoirrf IS INITIAL.

    MESSAGE e015 WITH text-084.

...

 

...

  IF sy-index = 2.

    v_belnr = /pws/zycbe031-belnr_pi.

  ELSEIF sy-index = 1 OR sy-index = 0.

    v_belnr = /pws/zycbe031-belnr_p.

  ELSEIF sy-index = 3.

    v_belnr = /pws/zycbe031-belnr_cide.

  ENDIF.

  IF wa_zycbt124-frpagto NE 'C' AND /pws/zycbt125-tprem NE '2'

     AND /pws/zycbe031-mdcorresp = 'CP'.

    CLEAR bseg-augbl.

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

    PERFORM determina_ano USING wa_zycbt031-dtcredpr

                                /pws/zycbe031-bukrs

                       CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE augbl FROM bseg INTO bseg-augbl

                  WHERE belnr = v_belnr

                    AND bukrs = /pws/zycbe031-bukrs

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

                    AND gjahr = wa_zycbt031-dtcredpr(4)

* << Fim da exclusão

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

                    AND gjahr = v_ano

* << Fim da inclusão

                    AND shkzg = 'S'.

  ELSE.

    CLEAR bseg-augbl.

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

    PERFORM determina_ano USING wa_zycbt031-dtcredpr

                                /pws/zycbe031-bukrs

                       CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE augbl FROM bseg INTO bseg-augbl

                  WHERE belnr = v_belnr

                    AND bukrs = /pws/zycbe031-bukrs

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

                    AND gjahr = wa_zycbt031-dtcredpr(4)

* << Fim da exclusão

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

                    AND gjahr = v_ano

* << Fim da inclusão

                    AND shkzg = 'S'.

...

 

...

  CHECK /pws/zycbe145-cod_fech = 'TR' AND

        /pws/zycbe031-frgzu = '2' AND

        ( NOT /pws/zycbt048-dtliquida IS INITIAL OR

          NOT itab_zycbt031_tc-dtliquida IS INITIAL ).

  CHECK /pws/zycbe145-cod_fech = 'TR' AND

        /pws/zycbe031-frgzu = '2'.

  IF /pws/zycbe031-statusp = 'C' OR

     /pws/zycbe031-statusp = 'A'.

    v_aprovado  = 'X'.

  ELSEIF /pws/zycbe031-status = 'P'.

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

    PERFORM determina_ano USING /pws/zycbe031-dtcredpr

                                itab_zycbe033-bukrs

                       CHANGING v_ano.

* << Fim da inclusão

    SELECT SINGLE * FROM bkpf

      WHERE bukrs EQ itab_zycbe033-bukrs

        AND belnr EQ /pws/zycbe031-belnr_p

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

        AND gjahr EQ /pws/zycbe031-dtcredpr(4)

* << Fim da exclusão

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

        AND gjahr EQ v_ano

* << Fim da inclusão

        AND bstat EQ 'V'.

...

 

...

    PERFORM ano_contabil_estorna.

    PERFORM determina_periodo USING itab_zycbe033-budat

                                    /pws/zycbe031-bukrs

                           CHANGING v_monat.

    itab_zycbe033a-gjahs = v_date_est.

  ENDIF.

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = itab_zycbe033a-bukrs

            i_gjahr          = v_date_est

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

            i_koart          = 'S'

* << Fim da exclusão

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

            i_koart          = '+'

* << Fim da inclusão

            i_monat          = v_monat

       EXCEPTIONS

            error_period     = 1

            error_period_acc = 2

            OTHERS           = 3.

  IF sy-subrc = 0.

    itab_zycbe033a-stgrd = '01'.

  ELSE.

    itab_zycbe033a-stgrd = '02'.

  ENDIF.

...