CE PLUS - Nota 008226

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Liquidação de Fatura

Data/Hora da Publicação: 23/03/2009 00:00:00

Data/Hora Última Alteração: 22/02/2011 12:43:58

Descrição da Nota: LIQUIDAÇÃO - GRAVAR NOVA DATA QUANDO ESTA EM PERÍODO FECHADO

Sintoma

Ao efetuar uma liquidação em que o período de lançamento esta fechado, solicita uma nova data, mas a

mesma não é armazenada nas tabelas do pw.CE, gerando erros nos lançamentos posteriores e no estorno

também.

 

 

Solução

Atualizar os campos /PWS/ZYCBT030-BUDAT /PWS/ZYCBT005-DTBELNR com a nova data incluída pelo usuário.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

COMPLEMENTO DO BOLETO - CONTABILIZAÇÃO-PERIODO/ANO FISCAL

DA - DATA CREDITO NO EXTERIOR NA VINCULAÇÃO- PRÉ-PAGAMENTO SECURITIZAÇÃO

Informações Complementares

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

Nota Número 08226 Data: 23/03/2009 Hora: 15:10:04

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

 

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

Nota Número              : 08226

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00009

Agrupamento              : 00091

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

Referência às notas relacionadas:

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

 

07790  - 00001 - 7.0    - 00008  - COMPLEMENTO DO BOLETO - CONTABILIZAÇÃO-PERIODO/ANO FISCAL

08164  - 00002 - 7.0    - 00008  - DA - DATA CREDITO NO EXTERIOR NA VINCULAÇÃO- PRÉ-PAGAMENTO SECURI

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

LIQUIDAÇÃO - GRAVAR NOVA DATA QUANDO ESTA EM PERÍODO FECHADO

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

Palavras Chave:

LIQUIDAÇÃO GRAVAR NOVA DATA QUANDO ESTA EM PERÍODO FECHADO

LIQUIDAÇÃO /PWS/ZYCBT030-BUDAT /PWS/ZYCBT005-DTBELNR

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

Objetos da nota:

REPS /PWS/LZYCBGF2F01

REPS /PWS/LZYGLGF2F01

REPS /PWS/MZYCB004F02

 

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

Modificações efetuadas em REPS /PWS/LZYCBGF2F01

 

...

    p_taxa = wa_bkpf-kursf.

  ENDIF.

ENDFORM.

FORM check_periodo USING    value(p_koart)

                            value(p_bukrs)

                   CHANGING value(p_novadata)

                            value(p_ok)                     "#EC *

                            value(p_monat)

                            value(p_gjahr).

  DATA: v_resposta(1),

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

        v_novadata LIKE spop-varvalue1.

* << Fim da exclusão

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

        v_novadata like spop-varvalue1,

        v_n_budat type bkpf-budat.

* << Fim da inclusão

  DATA: v_periv(2).

  clear v_budat.

  v_novadata = p_novadata.

  WHILE p_ok <> 'S'.

    CALL FUNCTION 'FI_PERIOD_CHECK'

         EXPORTING

              i_bukrs          = p_bukrs

              i_gjahr          = p_gjahr

              i_koart          = '+'

              i_monat          = p_monat

...

 

...

           IMPORTING

                period              = p_monat

           EXCEPTIONS

                period_in_not_valid = 1

                period_not_assigned = 2

                version_undefined   = 3

                OTHERS              = 4.

    ENDIF.

  ENDWHILE.

  p_novadata = v_novadata.

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

  export v_budat to memory id 'N_BUDAT'.

* << Fim da exclusão

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

  v_n_budat = v_budat.

  export v_n_budat to memory id 'N_BUDAT'.

* << Fim da inclusão

ENDFORM.

FORM entrar_nova_data CHANGING

                            value(p_resposta)

                            value(p_novadata).              "#EC *

  DATA: v_data_ TYPE d.

  WHILE v_data_ IS INITIAL OR

        v_data_ EQ '00000000'.

    IF sy-index > 1.

      MESSAGE i061(/pws/zycbm) WITH text-051.

    ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYGLGF2F01

 

...

ENDFORM.

FORM check_periodo USING    value(p_koart)

                            value(p_monat)

                            value(p_bukrs)

                            value(p_gjahr)

                   CHANGING value(p_novadata)

                            value(p_ok).

  DATA: v_resposta(1),

        v_novadata LIKE spop-varvalue1.

  DATA: v_budat TYPE bkpf-budat,

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

        v_periv(2).

* << Fim da exclusão

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

        v_periv(2),

        v_n_budat TYPE bkpf-budat.

* << Fim da inclusão

  v_novadata = p_novadata.

    WHILE p_ok <> 'S'.

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = p_bukrs

            i_gjahr          = p_gjahr

            i_koart          = p_koart

            i_monat          = p_monat

       EXCEPTIONS

            error_period     = 1

...

 

...

           IMPORTING

                period              = p_monat

           EXCEPTIONS

                period_in_not_valid = 1

                period_not_assigned = 2

                version_undefined   = 3

                OTHERS              = 4.

  ENDIF.

 ENDWHILE.

  p_novadata = v_novadata.

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

  export v_budat to memory id 'N_BUDAT'.

* << Fim da exclusão

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

  v_n_budat = v_budat.

  EXPORT v_n_budat TO MEMORY ID 'N_BUDAT'.

* << Fim da inclusão

ENDFORM.

FORM entrar_nova_data CHANGING value(p_resposta)

                               value(p_novadata).

  DATA: v_data_ TYPE d.

  WHILE v_data_ IS INITIAL OR

        v_data_ EQ '00000000'.

    CALL FUNCTION 'TR_POPUP_INPUT_DATE'

         EXPORTING

              iv_title               = text-012

              iv_description1        = text-010

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB004F02

 

...

                                   wa_log

                                  'C'.

        else.

          perform grava_log using '/PWS/ZYCBT006'

                                  wa_log

                                  'A'.

        endif.

      endif.

      if itab_zycbt006-v_status ne 'N'.

        if not itab_zycbt006-belnr_d is initial.

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

          if itab_zycbt005-dtbelnr > itab_zycbt006-dtpagto.

* << Fim da inclusão

          update /pws/zycbt005 set belnr   = itab_zycbt006-belnr_d

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

                         where nrseqc   = itab_zycbt006-nrseqc

                           and nrinvoic = itab_zycbt006-nrinvoic

                           and dtvincul = itab_zycbt006-dtvincul

                           and nrparcf  = itab_zycbt006-nrparcf

                           and gsberf   = itab_zycbt006-gsberf.

          else.

            update /pws/zycbt005 set belnr   = itab_zycbt006-belnr_d

* << Fim da inclusão

                              dtbelnr = itab_zycbt006-dtpagto

                       where nrseqc   = itab_zycbt006-nrseqc

                         and nrinvoic = itab_zycbt006-nrinvoic

                         and dtvincul = itab_zycbt006-dtvincul

                         and nrparcf  = itab_zycbt006-nrparcf

                         and gsberf   = itab_zycbt006-gsberf.

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

          endif.

* << Fim da inclusão

        else.

...

 

...

    loop at itab_zycbt030 where nrinvoic = itab_zycbt006-nrinvoic

                            and gsberf   = itab_zycbt006-gsberf

                            and nrparcf  = itab_zycbt006-nrparcf.

      check not itab_zycbt030-belnr_d is initial.

      if wa_zycbt007-liq_trans eq space.

        if itab_zycbt030-v_belnr = itab_zycbt030-belnr_d.

          itab_zycbt030-belnr6 = itab_zycbt006-belnr.

        else.

          itab_zycbt030-belnr6 = itab_zycbt030-belnr_d.

        endif.

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

        if not itab_zycbt030-budat > itab_zycbt006-dtpagto.

* << Fim da inclusão

        itab_zycbt030-budat  = itab_zycbt006-dtpagto.

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

        endif.

* << Fim da inclusão

        if itab_zycbt030-belnr_t is initial.

          itab_zycbt030-belnr_t = itab_zycbt030-belnr6.

          itab_zycbt030-budat_t = itab_zycbt030-budat.

        endif.

        read table itab_recurso_aux

              with key nrinvoic = itab_zycbt006-nrinvoic

...

 

...

      read table itab_zycbt032 with key tcode  = v_text

                                        tabela = 'ZYCBT006'

                                        cpochv = itab_zycbe033-cpochv

                                        tpmsg  = 'S'.

      if sy-subrc eq 0.

        itab_zycbt030-belnr_d = itab_zycbt032-belnr.

        read table itab_zycbe033 index 1.

        if itab_zycbe033-budat ne itab_zycbt006-dtpagto.

          itab_zycbt074-dtcont = /pws/zycbt074-dtcont =

          itab_zycbe033-budat.

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

          modify itab_zycbt074.

* << Fim da exclusão

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

          modify itab_zycbt074 transporting dtcont

                               where nrseqc = /pws/zycbe001-nrseqc.

          if sy-subrc ne 0.

            itab_zycbt074-nrseqc = /pws/zycbe001-nrseqc.

            append itab_zycbt074.

          endif.

* << Fim da inclusão

          itab_zycbt005-dtbelnr = itab_zycbe033-budat.

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

          modify itab_zycbt005.

* << Fim da exclusão

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

          modify itab_zycbt005 transporting dtbelnr

                               where nrinvoic = itab_zycbt006-nrinvoic

                                 and nrparcf  = itab_zycbt006-nrparcf

                                 and gsberf   = itab_zycbt006-gsberf.

* << Fim da inclusão

          itab_zycbt030-budat   = itab_zycbe033-budat.

        endif.

        modify itab_zycbt030.

        itab_contabil-nrinvoic = itab_zycbt030-nrinvoic.

        itab_contabil-vbeln    = itab_zycbt030-vbeln.

        itab_contabil-nrparcf  = itab_zycbt030-nrparcf.

        itab_contabil-gsberf   = itab_zycbt030-gsberf.

        itab_contabil-docto    = itab_zycbt032-belnr.

        itab_contabil-msg      = text-179.

        read table itab_zycbt074 with key nrseqc = itab_zycbt006-nrseqc.

...

 

...

                                        tabela = 'ZYCBT006'

                                        cpochv = itab_zycbe033-cpochv

                                        tpmsg  = 'S'.

      if sy-subrc eq 0.

        itab_zycbt006-belnr_d = itab_zycbt032-belnr.

        modify itab_zycbt006.

        read table itab_zycbe033 index 1.

        if itab_zycbe033-budat ne itab_zycbt006-dtpagto.

          itab_zycbt074-dtcont = /pws/zycbt074-dtcont =

          itab_zycbe033-budat.

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

          modify itab_zycbt074.

* << Fim da exclusão

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

          modify itab_zycbt074 transporting dtcont

                               where nrseqc = /pws/zycbe001-nrseqc.

          if sy-subrc ne 0.

            itab_zycbt074-nrseqc = /pws/zycbe001-nrseqc.

            append itab_zycbt074.

          endif.

* << Fim da inclusão

          itab_zycbt005-dtbelnr = itab_zycbe033-budat.

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

          modify itab_zycbt005.

* << Fim da exclusão

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

          modify itab_zycbt005 transporting dtbelnr

                               where nrinvoic = itab_zycbt006-nrinvoic

                                 and nrparcf  = itab_zycbt006-nrparcf

                                 and gsberf   = itab_zycbt006-gsberf.

* << Fim da inclusão

          itab_zycbt030-budat   = itab_zycbe033-budat.

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

          modify itab_zycbt030 transporting budat

                               where nrinvoic = itab_zycbt006-nrinvoic

                                 and nrparcf  = itab_zycbt006-nrparcf

                                 and gsberf   = itab_zycbt006-gsberf.

* << Fim da inclusão

        endif.

        loop at itab_zycbt069 where nrseqc   = itab_zycbt006-nrseqc

                                and nrinvoic = itab_zycbt006-nrinvoic

...

 

...

                                        cpochv = itab_zycbe033-cpochv

                                        tpmsg  = 'S'.

      if sy-subrc eq 0.

        itab_zycbt006-belnr  = itab_zycbt032-belnr.

        itab_zycbt006-status = 'C'.

        modify itab_zycbt006.

        read table itab_zycbe033 index 1.

        if itab_zycbe033-budat ne itab_zycbt006-dtpagto.

          itab_zycbt074-dtcont = /pws/zycbt074-dtcont =

          itab_zycbe033-budat.

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

          modify itab_zycbt074.

* << Fim da exclusão

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

          MODIFY itab_zycbt074 TRANSPORTING dtcont

                               WHERE nrseqc = /pws/zycbe001-nrseqc.

          IF sy-subrc NE 0.

            itab_zycbt074-nrseqc = /pws/zycbe001-nrseqc.

            APPEND itab_zycbt074.

          ENDIF.

* << Fim da inclusão

          itab_zycbt005-dtbelnr = itab_zycbe033-budat.

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

          modify itab_zycbt005.

* << Fim da exclusão

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

          MODIFY itab_zycbt005 TRANSPORTING dtbelnr

                               WHERE nrinvoic = itab_zycbt006-nrinvoic

                                 AND nrparcf  = itab_zycbt006-nrparcf

                                 AND gsberf   = itab_zycbt006-gsberf.

* << Fim da inclusão

          itab_zycbt030-budat   = itab_zycbe033-budat.

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

          MODIFY itab_zycbt030 TRANSPORTING budat

                               WHERE nrinvoic = itab_zycbt006-nrinvoic

                                 AND nrparcf  = itab_zycbt006-nrparcf

                                 AND gsberf   = itab_zycbt006-gsberf.

* << Fim da inclusão

        endif.

        itab_contabil-nrinvoic = itab_zycbt006-nrinvoic.

        itab_contabil-nrparcf  = itab_zycbt006-nrparcf.

...