CE PLUS - Nota 006319

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Recebimento

Data/Hora da Publicação: 04/04/2008 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:55:49

Descrição da Nota: ERRO AO LANÇAR ANO CONTÁBIL NA MIRO

Sintoma

Erro ao fazer lançamento na MIRO. Dava a mensagem

 

 

 

Solução

Verificaer ano contábil antes de fazer a MIRO

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

NÃO PERMITE ESTORNAR FATURAS CRIADAS NO ANO ANTERIOR

NÃO ATUALIZA AS TABELAS DO CÂMBIO AO ESTORNAR FATURAS PARCELADAS.

TRATAMENTO PARA DOCUMENTOS ESTORNADOS POR FORA DO PWCE

FALHA NO RECEBIMENTO NA FATURA DE SERVIÇO

Informações Complementares

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

Nota Número 06319 Data: 04/04/2008 Hora: 11:18:30

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

 

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

Nota Número              : 06319

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00005

Agrupamento              : 00041

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

Referência às notas relacionadas:

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

 

04338  - 00001 - 7.0    - 00002  - NÃO ATUALIZA AS TABELAS DO CÂMBIO AO ESTORNAR FATURAS PARCELADAS.

05562  - 00002 - 7.0    - 00004  - FALHA NO RECEBIMENTO NA FATURA DE SERVIÇO

05592  - 00003 - 7.0    - 00004  - NÃO PERMITE ESTORNAR FATURAS CRIADAS NO ANO ANTERIOR

06155  - 00004 - 7.0    - 00004  - TRATAMENTO PARA DOCUMENTOS ESTORNADOS POR FORA DO PWCE

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

ERRO AO LANÇAR ANO CONTÁBIL NA MIRO

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

Palavras Chave:

ERRO - ANO CONTÁBIL - MIRO - RECEBIMENTO

ERRO: "M8 278 NÃO É PERMITIDO TER SÓ LINHAS ZERO"

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

Objetos da nota:

REPS /PWS/MZYCI003F02

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

 

FORM eliminar_fatura.

  DATA: v_data LIKE /pws/zycie006-dtincl.

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

  PERFORM verifica_ano_contabil USING /pws/zycie006-dtincl

                                CHANGING v_ano .

* << Fim da inclusão

  IF  /pws/zycie006-tpfatura = '04'.

    DELETE FROM /pws/zycit047 WHERE nrseq = /pws/zycie006-nrseq AND

                               nrfat = /pws/zycie006-nrfat.

    PERFORM atualiza_despesas.

  ENDIF.

  IF v_existe_di NE 'S'.

    IF ( NOT itab_zycit132[] IS INITIAL

          AND /pws/zycie006-waers NE /pws/zycbt007-waersb

          AND ( /pws/zycie006-tpfatura = '01' OR

          /pws/zycie006-tpfatura = '11' )

...

 

...

          OR  ( NOT itab_zycit132[] IS INITIAL

          AND /pws/zycie006-waers NE /pws/zycbt007-waersb

          AND ( /pws/zycie006-tpfatura = '01'

          OR /pws/zycie006-tpfatura = '11' )

          AND /pws/zycie006-frpagto = 'P' ).

      v_parcela = 'X'.

      LOOP AT itab_zycit132 WHERE belnr_p NE space.

        SELECT SINGLE *

          FROM bkpf

          WHERE belnr EQ itab_zycit132-belnr_p

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

            AND gjahr EQ /pws/zycie006-dtincl+0(4)

* << Fim da exclusão

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

            AND gjahr EQ v_ano

* << Fim da inclusão

            AND bukrs EQ /pws/zycie006-bukrs.

        SELECT SINGLE * FROM bsak

          WHERE bukrs EQ /pws/zycie006-bukrs

            AND lifnr EQ /pws/zycie006-lifnr

            AND belnr EQ itab_zycit132-belnr_p

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

            AND gjahr EQ /pws/zycie006-dtincl+0(4).

* << Fim da exclusão

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

            AND gjahr EQ v_ano.

* << Fim da inclusão

        IF ( sy-subrc = 0 AND itab_zycit132-status NE 'X' ) OR

              NOT bkpf-stblg IS INITIAL.

          IF itab_zycit132-status NE '2'.

            itab_zycit132-compensado = 'X'.

            MODIFY itab_zycit132.

          ELSE.

            CLEAR itab_zycit132-compensado.

            MODIFY itab_zycit132.

          ENDIF.

        ELSE.

...

 

...

        ENDLOOP.

        IF v_erro = 'X'.

          EXIT.

        ENDIF.

        /pws/zycie006-eliminado = 'X'.

        MODIFY /pws/zycit006 FROM /pws/zycie006.

 

 

 

        LOOP AT itab_zycit132 .

          UPDATE /pws/zycbt108 SET status   = 'E'

                WHERE bukrs    = /pws/zycie006-bukrs

                  AND belnr    = /pws/zycie006-nrseq

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

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

* << Fim da exclusão

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

                  AND gjahr    = v_ano

* << Fim da inclusão

                  AND belnr_co = itab_zycit132-belnr_p.

          UPDATE /pws/zycbt119 SET status   = 'E'

             WHERE nrseq   = itab_zycit132-nrseq_pgfat.

          IF NOT /pws/zycie006-nrseqre IS INITIAL.

            DELETE FROM /pws/zycbt124

            WHERE nrseq = /pws/zycie006-nrseqre.

          ENDIF.

        ENDLOOP.

 

        CLEAR: v_dbanco, v_dforn, v_dmoeda, v_dmoeda_emb,

             v_dtpfatura, v_dfrpagto, v_livre.

...

 

...

          ENDIF.

        ENDIF.

      ENDIF.

    ELSE.

      IF NOT /pws/zycie006-statusp IS INITIAL

         AND /pws/zycie006-frpagto NE 'A'

         AND v_pag_antecipado IS INITIAL.

        SELECT SINGLE *

          FROM bkpf

          WHERE belnr EQ /pws/zycie006-belnr_p

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

            AND gjahr EQ /pws/zycie006-dtincl+0(4)

* << Fim da exclusão

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

            AND gjahr EQ v_ano

* << Fim da inclusão

            AND bukrs EQ /pws/zycie006-bukrs.

        IF NOT /pws/zycie006-dtlanc IS INITIAL.

          v_data = /pws/zycie006-dtlanc.

        ELSE.

          v_data = /pws/zycie006-dtincl.

        ENDIF.

        SELECT SINGLE * FROM bsak

          WHERE bukrs EQ /pws/zycie006-bukrs

            AND lifnr EQ /pws/zycie006-lifnr

            AND belnr EQ /pws/zycie006-belnr_p

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

            AND gjahr EQ v_data+0(4).

* << Fim da exclusão

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

            AND gjahr EQ v_ano.

* << Fim da inclusão

        IF sy-subrc NE 0 OR NOT bkpf-stblg IS INITIAL.

          REFRESH it_zycit270.

          PERFORM hist_contabil.

          PERFORM reverse_document_fb08.

        ELSE.

          MESSAGE s015 WITH text-043.

          EXIT.

        ENDIF.

      ENDIF.

      IF v_erro = 'X'.

        EXIT.

      ENDIF.

      IF NOT v_pag_antecipado IS INITIAL.

        PERFORM hist_contabil.

      ENDIF.

      /pws/zycie006-eliminado = 'X'.

      MODIFY /pws/zycit006 FROM /pws/zycie006.

      UPDATE /pws/zycbt108 SET status   = 'E'

                      WHERE bukrs    = /pws/zycie006-bukrs

                        AND belnr    = /pws/zycie006-nrseq

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

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

* << Fim da exclusão

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

                        AND gjahr    = v_ano.

* << Fim da inclusão

      UPDATE /pws/zycbt119 SET status   = 'E'

                    WHERE nrseq   = /pws/zycie006-nrseq_pgfat.

      IF NOT /pws/zycie006-nrseqre IS INITIAL.

        IF NOT /pws/zycie006-tpfatura EQ '11'.

          DELETE FROM /pws/zycbt124 WHERE nrseq = /pws/zycie006-nrseqre.

        ELSE.

          UPDATE /pws/zycbt124 SET status   = 'E'

                   WHERE nrseq   = /pws/zycie006-nrseqre.

        ENDIF.

      ENDIF.

...

 

...

                       AND codmod   = 'D'

                       AND origem   = 'FAT'

                       AND nrseqori = /pws/zycie006-nrseq.

            ENDIF.

          ENDLOOP.

        ENDIF.

      ENDIF.

      UPDATE /pws/zycbt108 SET status   = 'E'

                      WHERE bukrs    = /pws/zycie006-bukrs

                        AND belnr    = /pws/zycie006-nrseq

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

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

* << Fim da exclusão

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

                        AND gjahr    = v_ano.

* << Fim da inclusão

      UPDATE /pws/zycbt119 SET status   = 'E'

                    WHERE nrseq   = /pws/zycie006-nrseq_pgfat.

      IF NOT /pws/zycie006-nrseqre IS INITIAL.

        DELETE FROM /pws/zycbt124 WHERE nrseq = /pws/zycie006-nrseqre.

      ENDIF.

    ENDIF.

  ELSEIF /pws/zycie006-tpfatura NE '01'.

    IF /pws/zycie006-tpfatura = '09'.

      SELECT SINGLE * FROM /pws/zycit094

        WHERE nrseqce = /pws/zycie006-nrseqce.

...

 

...

             cancel NE space.

        IF sy-subrc EQ 0.

          MESSAGE e015 WITH text-123.

          EXIT.

        ENDIF.

      ELSE.

        MESSAGE e015 WITH text-123.

        EXIT.

      ENDIF.

    ENDIF.

    IF NOT /pws/zycie006-statusp IS INITIAL AND

    /pws/zycie006-frpagto NE 'A'.

      IF NOT /pws/zycie006-dtlanc IS INITIAL.

        v_data = /pws/zycie006-dtlanc.

      ELSE.

        v_data = /pws/zycie006-dtincl.

      ENDIF.

      SELECT SINGLE * FROM bsak

        WHERE bukrs EQ /pws/zycie006-bukrs

          AND lifnr EQ /pws/zycie006-lifnr

          AND belnr EQ /pws/zycie006-belnr_p

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

          AND gjahr EQ v_data+0(4).

* << Fim da exclusão

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

          AND gjahr EQ v_ano.

* << Fim da inclusão

      IF sy-subrc NE 0.

        REFRESH it_zycit270.

        PERFORM hist_contabil.

        PERFORM reverse_document_fb08.

      ELSE.

        MESSAGE s015 WITH text-043.

        EXIT.

      ENDIF.

    ENDIF.

    IF v_erro = 'X'.

      EXIT.

    ENDIF.

    IF NOT v_pag_antecipado IS INITIAL.

      PERFORM hist_contabil.

    ENDIF.

    /pws/zycie006-eliminado = 'X'.

    MODIFY /pws/zycit006 FROM /pws/zycie006.

    UPDATE /pws/zycbt108 SET status   = 'E'

                    WHERE bukrs    = /pws/zycie006-bukrs

                      AND belnr    = /pws/zycie006-nrseq

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

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

* << Fim da exclusão

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

                      AND gjahr    = v_ano.

* << Fim da inclusão

    UPDATE /pws/zycbt119 SET status   = 'E'

                  WHERE nrseq   = /pws/zycie006-nrseq_pgfat.

    IF NOT /pws/zycie006-nrseqre IS INITIAL.

      IF NOT /pws/zycie006-tpfatura EQ '11'.

        DELETE FROM /pws/zycbt124 WHERE nrseq = /pws/zycie006-nrseqre.

      ELSE.

        LOOP AT itab_zycit003.

          UPDATE /pws/zycit263 SET eliminado   = 'X' WHERE

                    nrseq       = itab_zycit003-nrseq AND

                    ebeln       = itab_zycit003-ebeln AND

...

 

...

 

FORM gravar_cambio.

  DATA wa_zycbt119 LIKE /pws/zycbt119.

  TABLES /pws/zycbt064.

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

  PERFORM verifica_ano_contabil USING /pws/zycie006-dtincl

                                CHANGING v_ano .

* << Fim da inclusão

  SELECT SINGLE * FROM /pws/zycbt064

    WHERE nrchave   = /pws/zycie006-nrseq_pgfat

    AND   mdcorresp = 'IP'.

  IF sy-subrc EQ 0.

    EXIT.

  ENDIF.

  SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie006-bukrs.

  SELECT SINGLE *

    FROM /pws/zycit000

    WHERE land1 EQ t001-land1.

...

 

...

    ENDIF.

  ENDIF.

  DATA v_data_lanc.

  CLEAR v_data_lanc.

  IF /pws/zycie006-belnr_p NE /pws/zycbt108-belnr_co.

    v_data_lanc = 'X'.

  ENDIF.

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

  MOVE: /pws/zycie006-nrseq       TO /pws/zycbt108-belnr,

        /pws/zycie006-nrfat       TO /pws/zycbt108-nrfat,

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

        /pws/zycie006-dtincl+0(4) TO /pws/zycbt108-gjahr,

* << Fim da exclusão

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

        v_ano TO /pws/zycbt108-gjahr,

* << Fim da inclusão

        /pws/zycie006-lifnr       TO /pws/zycbt108-lifnr.

  IF v_data_lanc = 'X' OR /pws/zycbt108-bldat IS INITIAL.

    /pws/zycbt108-bldat   = sy-datum .

  ENDIF.

  IF v_parcela = 'X'.

    MOVE: itab_zycit132-belnr_p     TO /pws/zycbt108-belnr_co,

          itab_zycit132-dtvencto    TO /pws/zycbt108-dtvencto,

          itab_zycit132-nrseq_pgfat TO /pws/zycbt108-nrseq_pgfat,

          itab_zycit132-vlparc      TO /pws/zycbt108-rmwwr,

          itab_zycit132-vlparc      TO /pws/zycbt108-slfatcc,

...

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

 

FORM cria_remessa.

  DATA: v_count LIKE /pws/zycbt124-nrseq.

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

  CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       EXPORTING

            v_bukrs                = /pws/zycie006-bukrs

            v_date                 = /pws/zycie006-dtlanc

       IMPORTING

            v_year                 = v_ano

       EXCEPTIONS

            variante_de_exercicio  = 1

            data_nao_encontrada    = 2

            empresa_nao_encontrada = 3

            period_in_not_valid    = 4

            period_not_assigned    = 5

            version_undefined      = 6

            OTHERS                 = 7.

  IF sy-subrc NE 0 OR v_ano IS INITIAL.

    v_ano = /pws/zycie006-dtlanc+0(4).

  ENDIF.

* << Fim da inclusão

  IF v_parcela NE 'X'.

    CLEAR /pws/zycbt124.

    IF NOT /pws/zycie006-vlmerc IS INITIAL.

      IF /pws/zycie006-nrseqre IS INITIAL.

        PERFORM busca_sequencialre.

        INSERT /pws/zycbt124 .

        WHILE sy-subrc NE 0.

          PERFORM busca_sequencialre.

        ENDWHILE.

        /pws/zycie006-nrseqre = /pws/zycbt124-nrseq.

...

 

...

          MOVE v_kursf TO /pws/zycbt124-kursf.

        ENDIF.

        MOVE:

        'D'                      TO /pws/zycbt124-criacao     ,

        'F'                      TO /pws/zycbt124-tprecrem    ,

        itab_zycit003-gsber    TO /pws/zycbt124-gsber       ,

        itab_zycit003-werks      TO /pws/zycbt124-werks       ,

        '001'                    TO /pws/zycbt124-buzei       .

        /pws/zycbt124-vlmi = /pws/zycbt124-vlme * v_kursf     .

        CONCATENATE /pws/zycie006-belnr_p /pws/zycie006-bukrs

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

          /pws/zycie006-dtlanc+0(4) INTO v_awkey.

* << Fim da exclusão

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

          v_ano INTO v_awkey.

* << Fim da inclusão

        MOVE v_awkey TO /pws/zycbt124-nrfat       .

        MODIFY /pws/zycbt124 FROM /pws/zycbt124.

        LOOP AT itab_zycbt035 WHERE bschl EQ '40'.

          CLEAR /pws/zycbt141.

          MOVE:

            /pws/zycie006-nrseqre     TO /pws/zycbt141-nrseq       ,

            itab_zycbt035-d_newko     TO /pws/zycbt141-saknr1      ,

            itab_zycbt035-d_kostl     TO /pws/zycbt141-kostl       ,

            itab_zycbt035-d_prctr     TO /pws/zycbt141-prctr       ,

            itab_zycbt035-aufnr       TO /pws/zycbt141-aufnr       ,

...

 

...

          MOVE v_kursf TO /pws/zycbt124-kursf.

        ENDIF.

        MOVE:

           'D'                      TO /pws/zycbt124-criacao     ,

           'F'                      TO /pws/zycbt124-tprecrem    ,

           itab_zycbe033-c_gsber    TO /pws/zycbt124-gsber       ,

           itab_zycit003-werks      TO /pws/zycbt124-werks       ,

           '001'                    TO /pws/zycbt124-buzei       .

        /pws/zycbt124-vlmi = /pws/zycbt124-vlme * v_kursf     .

        CONCATENATE itab_zycit132-belnr_p /pws/zycie006-bukrs

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

          /pws/zycie006-dtlanc+0(4) INTO v_awkey.

* << Fim da exclusão

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

          v_ano INTO v_awkey.

* << Fim da inclusão

        MOVE v_awkey TO /pws/zycbt124-nrfat       .

        MODIFY /pws/zycbt124 FROM /pws/zycbt124.

        LOOP AT itab_zycbt035 WHERE bschl EQ '40'.

          CLEAR /pws/zycbt141.

          MOVE:

            itab_zycit132-nrseqre     TO /pws/zycbt141-nrseq       ,

            itab_zycbt035-d_newko     TO /pws/zycbt141-saknr1      ,

            itab_zycbt035-d_kostl     TO /pws/zycbt141-kostl       ,

            itab_zycbt035-d_prctr     TO /pws/zycbt141-prctr       ,

            itab_zycbt035-aufnr       TO /pws/zycbt141-aufnr       ,

...

 

...

 

FORM fill_date_mr1m.

  DATA: v_chave(10),

        v_indice TYPE i,

        v_iva(2),

         v_cont2 LIKE sy-tabix,

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

         v_cont LIKE sy-tabix.

* << Fim da exclusão

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

         v_cont LIKE sy-tabix,

         v_year LIKE t009b-bdatj.

* << Fim da inclusão

  DATA: wa_headerdata LIKE bapi_incinv_create_header,

        v_belnr_mr1m LIKE /pws/zycie006-belnr_mr1m,

        v_invoice LIKE rbkp-xrech,

        v_gjahr LIKE rbkp-gjahr,

        v_creditmemo LIKE rbkp-xrech.

  DATA: itab_itemdata LIKE bapi_incinv_create_item

        OCCURS 0 WITH HEADER LINE,

        itab_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,

        itab_account LIKE bapi_incinv_create_account

                          OCCURS 0 WITH HEADER LINE,

...

 

...

  LOOP AT itab_zycit003.

    itab_zycit031-tcode  = itab_zycie033-tcode.

    itab_zycit031-tabela = itab_zycie033-tabela.

    itab_zycit031-cpochv = itab_zycie033-cpochv.

    itab_zycit031-ebeln  = itab_zycit003-ebeln.

    itab_zycit031-ebelp  = itab_zycit003-ebelp.

    itab_zycit031-wrbtr  = itab_zycit003-total.

    itab_zycit031-menge  = itab_zycit003-qtd_iten.

    itab_zycit031-meins  = itab_zycit003-meins.

    itab_zycit031-mwskz  = itab_zycie033-mwskz.

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

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

         EXPORTING

              v_bukrs                = /pws/zycie006-bukrs

              v_date                 = /pws/zycie006-dtlanc

         IMPORTING

              v_year                 = v_year

         EXCEPTIONS

              variante_de_exercicio  = 1

              data_nao_encontrada    = 2

              empresa_nao_encontrada = 3

              period_in_not_valid    = 4

              period_not_assigned    = 5

              version_undefined      = 6

              OTHERS                 = 7.

    IF sy-subrc NE 0 OR v_year IS INITIAL.

      v_year = /pws/zycie006-dtlanc(4).

    ENDIF.

* << Fim da inclusão

    IF NOT /pws/zycie006-belnr_p IS INITIAL.

      SELECT SINGLE * FROM bkpf WHERE

               bukrs = /pws/zycie006-bukrs AND

               belnr = /pws/zycie006-belnr_p AND

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

               gjahr = /pws/zycie006-dtlanc(4).

* << Fim da exclusão

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

               gjahr = v_year.

* << Fim da inclusão

      itab_zycit031-wrbtr = itab_zycit031-wrbtr * bkpf-kursf.

    ELSE.

      SELECT SINGLE * FROM bkpf WHERE

               bukrs = /pws/zycie006-bukrs AND

               belnr = itab_zycit132-belnr_p AND

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

               gjahr = /pws/zycie006-dtlanc(4).

* << Fim da exclusão

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

               gjahr = v_year.

* << Fim da inclusão

      itab_zycit031-wrbtr = itab_zycit031-wrbtr * bkpf-kursf.

    ENDIF.

    APPEND itab_zycit031.

    itab_zycie033-rmwwr = itab_zycit031-wrbtr + itab_zycie033-rmwwr.

    itab_zycie033-waers = /pws/zycbt007-waersb.

  ENDLOOP.

  APPEND itab_zycie033.

  IF NOT itab_zycit031[] IS INITIAL.

    SELECT ebeln ebelp bprme twrkz FROM ekpo INTO TABLE itab_ekpo

      FOR ALL ENTRIES IN itab_zycit031

 

...

 

FORM documento_contabil_mr1m.

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

  DATA: v_ano    LIKE  acchd-aworg,

* << Fim da exclusão

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

  DATA: v_ano2    LIKE  acchd-aworg,

* << Fim da inclusão

        v_awref  LIKE  acchd-awref,

        v_dialog LIKE boole .

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

  CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       EXPORTING

            v_bukrs                = /pws/zycie006-bukrs

            v_date                 = /pws/zycie006-dt_mr1m

       IMPORTING

            v_year                 = v_ano

       EXCEPTIONS

            variante_de_exercicio  = 1

            data_nao_encontrada    = 2

            empresa_nao_encontrada = 3

            period_in_not_valid    = 4

            period_not_assigned    = 5

            version_undefined      = 6

            OTHERS                 = 7.

  IF sy-subrc NE 0 OR v_ano IS INITIAL.

    v_ano2 = /pws/zycie006-dt_mr1m+0(4).

  ELSE.

    v_ano2 = v_ano.

  ENDIF.

* << Fim da inclusão

  v_dialog = space.

  v_awref  = /pws/zycie006-belnr_mr1m.

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

  v_ano = /pws/zycie006-dt_mr1m+0(4).

* << Fim da exclusão

  FREE itab_documents.

  CLEAR: itab_documents, v_belnr.

  CALL FUNCTION 'AC_DOCUMENT_RECORD'

       EXPORTING

            i_awtyp      = 'RMRP'

            i_awref      = v_awref

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

            i_aworg      = v_ano

* << Fim da exclusão

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

            i_aworg      = v_ano2

* << Fim da inclusão

            x_dialog     = v_dialog

       TABLES

            t_documents  = itab_documents

       EXCEPTIONS

            no_reference = 1

            no_document  = 2

            OTHERS       = 3.

  IF sy-subrc EQ 0.

    READ TABLE itab_documents WITH KEY awtyp  = 'BKPF'

                                       status = 'A'.

...

 

 

...

 

FORM preenche_t_doc.

  CLEAR: itab_zycbt036.

  itab_zycbt036-mandt  = sy-mandt.

  itab_zycbt036-tcode  = 'F-51'.

  itab_zycbt036-tabela = '/PWS/ZYCIT006'.

  itab_zycbt036-cpochv = /pws/zycie006-nrseq.

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

  PERFORM verifica_ano_contabil USING /pws/zycie006-dt_mr1m

   CHANGING v_ano .

* << Fim da inclusão

  SELECT SINGLE awkey

         FROM bkpf

         INTO itab_zycbt036-awkey

         WHERE belnr = v_belnr      AND

               bukrs = /pws/zycie006-bukrs  AND

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

               gjahr = /pws/zycie006-dt_mr1m+0(4).

* << Fim da exclusão

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

               gjahr = v_ano.

* << Fim da inclusão

  itab_zycbt036-belnr  = v_belnr.

  APPEND itab_zycbt036.

ENDFORM.

...

 

...

 

FORM atualiza_fb08_fat.

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

  PERFORM verifica_ano_contabil USING /pws/zycie006-dtincl

                                CHANGING v_ano.

* << Fim da inclusão

  IF v_parcela = 'X'.

    SELECT SINGLE *

      FROM bkpf

      WHERE belnr EQ /pws/zycie006-belnr_p

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

        AND gjahr EQ /pws/zycie006-dtincl+0(4)

* << Fim da exclusão

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

        AND gjahr EQ v_ano

* << Fim da inclusão

        AND bukrs EQ /pws/zycie006-bukrs.

    READ TABLE itab_zycbt032 WITH KEY tcode  = 'FB08'

                                      tabela = '/PWS/ZYCIT132'

                                      cpochv = /pws/zycie006-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc EQ 0 AND  NOT bkpf-stblg IS INITIAL.

      MESSAGE i030 WITH v_belnr_ant.

      IF okcode NE 'DELE'.

        CLEAR: /pws/zycie006-statusp , /pws/zycie006-belnr_p.

        MODIFY /pws/zycit006 FROM /pws/zycie006.

...

 

...

        IF v_estorno IS INITIAL.

          IF itab_zycit132-mark NE 'X' AND itab_zycit132-status NE 'X'.

            PERFORM dele_custo USING /pws/zycit031-inco1_ci space.

            PERFORM fill_date_f-43_f-02.

          ELSE.

            itab_zycit132-status = 'X'.

            MODIFY itab_zycit132.

            UPDATE /pws/zycbt108 SET status   = 'E'

                WHERE bukrs    = /pws/zycie006-bukrs

                  AND belnr    = /pws/zycie006-nrseq

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

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

* << Fim da exclusão

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

                  AND gjahr    = v_ano

* << Fim da inclusão

                  AND belnr_co = itab_zycit132-belnr_p.

            UPDATE /pws/zycbt119 SET status   = 'E'

               WHERE nrseq   = itab_zycit132-nrseq_pgfat.

          ENDIF.

        ENDIF.

      ELSE.

        itab_zycit132-status = 'X'.

        itab_zycit132-eliminado = 'X'.

        MODIFY itab_zycit132.

      ENDIF.

...

 

...

        MODIFY /pws/zycit006 FROM /pws/zycie006.

        COMMIT WORK.

        PERFORM dele_custo USING /pws/zycit031-inco1_ci space.

        PERFORM fill_date_f-43_f-02.

      ENDIF.

    ENDIF.

  ELSE.

    SELECT SINGLE *

      FROM bkpf

      WHERE belnr EQ /pws/zycie006-belnr_p

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

        AND gjahr EQ /pws/zycie006-dtincl+0(4)

* << Fim da exclusão

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

        AND gjahr EQ v_ano

* << Fim da inclusão

        AND bukrs EQ /pws/zycie006-bukrs.

    READ TABLE itab_zycbt032 WITH KEY tcode  = 'FB08'

                                      tabela = '/PWS/ZYCIT006'

                                      cpochv = /pws/zycie006-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc EQ 0 AND NOT bkpf-stblg IS INITIAL.

      MESSAGE i030 WITH v_belnr_ant.

      IF okcode NE 'DELE'.

        CLEAR: /pws/zycie006-statusp , /pws/zycie006-belnr_p.

        MODIFY /pws/zycit006 FROM /pws/zycie006.

...

 

...

 

 

FORM verifica_estorno_r3 CHANGING p_var

                                  v_answer.

  IF e_estorno = 'MR8M'.

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

  PERFORM verifica_ano_contabil USING /pws/zycie006-dt_mr1m

                                CHANGING v_ano .

* << Fim da inclusão

    SELECT SINGLE * FROM rbkp

              WHERE belnr EQ /pws/zycie006-belnr_mr1m

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

              AND   gjahr EQ /pws/zycie006-dt_mr1m+0(4).

* << Fim da exclusão

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

              AND   gjahr EQ v_ano.

* << Fim da inclusão

    IF sy-subrc EQ 0 AND NOT rbkp-stblg IS INITIAL.

      PERFORM popup_message USING text-026 text-025.

...

 

...

      MESSAGE i015 WITH text-186.

    ENDIF.

  ELSE.

    CLEAR: bkpf.

    IF e_estorno = 'FBRA'.

      SELECT SINGLE * FROM bkpf

                WHERE bukrs EQ /pws/zycie006-bukrs

                AND   belnr EQ /pws/zycie006-belnr_f_51

                AND   gjahr EQ /pws/zycie006-dt_f_51+0(4).

    ELSE.

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

  PERFORM verifica_ano_contabil USING /pws/zycie006-dtincl

                                CHANGING v_ano .

* << Fim da inclusão

      SELECT SINGLE * FROM bkpf

                WHERE bukrs EQ /pws/zycie006-bukrs

                AND   belnr EQ /pws/zycie006-belnr_p

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

                AND   gjahr EQ /pws/zycie006-dtincl+0(4).

* << Fim da exclusão

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

                AND   gjahr EQ v_ano.

* << Fim da inclusão

    ENDIF.

...

 

...

 

 

* >> Início da inclusão:

FORM verifica_ano_contabil USING    p_data

                           CHANGING p_ano.

  CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       EXPORTING

            v_bukrs                = /pws/zycie006-bukrs

            v_date                 = p_data

       IMPORTING

            v_year                 = v_ano

       EXCEPTIONS

            variante_de_exercicio  = 1

            data_nao_encontrada    = 2

            empresa_nao_encontrada = 3

            period_in_not_valid    = 4

            period_not_assigned    = 5

            version_undefined      = 6

            OTHERS                 = 7.

  IF sy-subrc NE 0 OR v_ano IS INITIAL.

    p_ano = p_data+0(4).

  ENDIF.

ENDFORM.

* << Fim da inclusão

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

Modificações efetuadas em REPS /PWS/MZYCI003O01.

...

          WHERE nrseq = /pws/zycie006-nrseq

            AND nrfat = /pws/zycie006-nrfat

            AND eliminado EQ 'X'.

    ELSE.

      SELECT * FROM /pws/zycit132 INTO TABLE itab_zycit132

          WHERE nrseq = /pws/zycie006-nrseq

            AND nrfat = /pws/zycie006-nrfat

            AND eliminado NE 'X'.

    ENDIF.

    LOOP AT itab_zycit132 WHERE belnr_p NE space.

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

  PERFORM verifica_ano_contabil USING /pws/zycie006-dtincl

                                CHANGING v_ano .

* << Fim da inclusão

      SELECT SINGLE * FROM bsak

        WHERE bukrs EQ /pws/zycie006-bukrs

          AND lifnr EQ /pws/zycie006-lifnr

          AND belnr EQ itab_zycit132-belnr_p

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

          AND gjahr EQ /pws/zycie006-dtincl+0(4).

* << Fim da exclusão

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

          AND gjahr EQ v_ano.

* << Fim da inclusão

      IF sy-subrc = 0.

        itab_zycit132-compensado = 'X'.

        MODIFY itab_zycit132.

      ELSE.

        CLEAR itab_zycit132-compensado.

        MODIFY itab_zycit132.

      ENDIF.

    ENDLOOP.

  ENDIF.

  IF v_livre NE 'S' AND NOT /pws/zycie006-lifnr IS INITIAL.

...