CE PLUS - Nota 007294

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Financiamento

Data/Hora da Publicação: 10/09/2008 00:00:00

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

Descrição da Nota: FINANCIAMENTO - ERRO NA CRIAÇÃO - CONTABILIZAÇÃO - RECONTABILIZAÇÃO-TAXA

Sintoma

Ajustar financiamento para que contabilize quando o mesmo é salvo sem contábil. Ao salvar novamente,

tem que contabilizar. Em outro cenário, ao recontabilizar um financiamento devido alguma alteração

relevante, se o mês/ano do dia da alteração for diferente da data desembolso, buscar taxa do dia e

não mais taxa do financiamento ou da data desembolso, evitando variação cambial.

 

 

Solução

Contabilizar quando o financiamento modificado não tiver nenhum contábil. Comparar mês/ano entre

data desembolso e data do dia, para buscar taxa correta.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

FINANCIAMENTO DE IMPORTAÇÃO

FINANCIAMENTO/EMPRESTIMO - JUROS E COMISSÃO COM IRRF DEDUZIDO

FINANCIAMENTO - TAXA DA OB08 QDO NÃO FOR PREENCHIDO, USAR DT DESEMBOLSO

Informações Complementares

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

Nota Número 07294 Data: 10/09/2008 Hora: 15:40:13

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

 

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

Nota Número              : 07294

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00006

Agrupamento              : 00064

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

Referência às notas relacionadas:

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

 

03222  - 00001 - 6.0    - 00026  - FINANCIAMENTO - TAXA DA OB08 QDO NÃO FOR PREENCHIDO, USAR DT DESE

06290  - 00002 - 7.0    - 00005  - FINANCIAMENTO/EMPRESTIMO - JUROS E COMISSÃO COM IRRF DEDUZIDO

07218  - 00003 - 7.0    - 00006  - FINANCIAMENTO DE IMPORTAÇÃO

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

FINANCIAMENTO - ERRO NA CRIAÇÃO - CONTABILIZAÇÃO - RECONTABILIZAÇÃO-TAXA

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

Palavras Chave:

FINANCIAMENTO ERRO NA CRIAÇÃO CONTABILIZAÇÃO RECONTABILIZAÇÃO TAXA

VARIAÇÃO CAMBIAL

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

Objetos da nota:

DYNP /PWS/SAPMZYCM101                        0103

FUNC /PWS/ZYCM_TRANSACAO_F_51I

REPS /PWS/LZYCMGF2F01

REPS /PWS/MZYCM101F01

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCM101                        0103

 

solicitar arquivo para upload.

 

 

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

Modificações efetuadas em FUNC /PWS/ZYCM_TRANSACAO_F_51I

 

...

    PERFORM trata_string_debito TABLES t_dados

                                       t_campo

                                       itab_oculto

                                USING  v_string_debito.

    WRITE: t_dados-bukrs TO v_bukrs,

           t_dados-bldat TO v_data_doc_char,

           t_dados-budat TO v_data_lanc_char,

           t_dados-kursf TO v_kursf.

    v_monat = t_dados-budat+4(2).

    v_gjahr = t_dados-budat+0(4).

* >> Início da exclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51I

    v_koart = 'S'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCM_TRANSACAO_F_51I

    v_koart = '+'.

* << Fim da inclusão

    PERFORM check_periodo USING    v_koart

                                   v_monat

                                   v_bukrs

                                   v_gjahr

                          CHANGING v_data_lanc_char

                                   v_ok.

    CONCATENATE '0' v_data_lanc_char+3(2) INTO v_monat.

    MOVE v_data_lanc_char+6(4) TO v_gjahr.

    CONCATENATE v_data_lanc_char+6(04)

                v_data_lanc_char+3(2)

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCMGF2F01

 

...

ENDFORM.

FORM check_periodo USING    value(p_koart)

                            value(p_monat)

                            value(p_bukrs)

                            value(p_gjahr)

                   CHANGING value(p_novadata)

                            value(p_ok).                    "#EC *

  DATA: v_resposta(1),

        v_novadata LIKE spop-varvalue1.

  v_novadata = p_novadata.

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

WHILE p_ok <> 'S'.

* << Fim da inclusão

  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

            error_period_acc = 2

            OTHERS           = 3.                           "#EC *

  IF sy-subrc <> 0.

    PERFORM entrar_nova_data USING v_resposta v_novadata.

    IF v_resposta = 'A'.

      RAISE periodo_fechado.

    ENDIF.

  ELSE.

    p_ok = 'S'.

  ENDIF.

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

ENDWHILE.

* << Fim da inclusão

  p_novadata = v_novadata.

ENDFORM.

FORM entrar_nova_data

              USING  p_resposta TYPE c

                     p_novadata LIKE spop-varvalue1.

  DATA: v_data_ TYPE d.

  CALL FUNCTION 'TR_POPUP_INPUT_DATE'

       EXPORTING

            iv_title               = text-012

            iv_description1        = text-010

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCM101F01

 

...

  IF  /pws/zycbe112-nrseq+0(1) NE '5' AND

     ( ( NOT /pws/zycbe112-belnr IS INITIAL AND

             /pws/zycbe112-fassoc EQ ' ' ) OR

     NOT itab_excluidos[] IS INITIAL ).

    PERFORM reverse_document_zycbt112.

    PERFORM save_zycbt113.

  ELSE.

    PERFORM verifica_relevantes.

    IF v_relevante IS INITIAL.

        CLEAR: v_flag.

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

      IF NOT /pws/zycbe112-dtdesem NE wa_zycbt112-dtdesem AND

         NOT /pws/zycbe112-lifnr NE wa_zycbt112-lifnr.

* << Fim da inclusão

        LOOP AT itab_zycbt113p.

          READ TABLE itab_zycbt113pa

               WITH KEY nrseq  = itab_zycbt113p-nrseq

                      tpparc = itab_zycbt113p-tpparc

                      nrparc = itab_zycbt113p-nrparc.

          IF itab_zycbt113p-vlme EQ itab_zycbt113pa-vlme.

           IF itab_zycbt113p-dtfinal NE itab_zycbt113pa-dtfinal AND

              itab_zycbt113p-ftransf EQ itab_zycbt113pa-ftransf.

              PERFORM fill_date_fb02.

              MODIFY /pws/zycbt112 FROM /pws/zycbe112.

              COMMIT WORK.

           ENDIF.

          ENDIF.

        ENDLOOP.

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

      ENDIF.

* << Fim da inclusão

         PERFORM reverse_document_zycbt112.

      PERFORM modify_zycbt112.

      READ TABLE itab_zycbt113p WITH KEY belnr = ' '.

      IF sy-subrc EQ 0 AND /pws/zycbe112-fassoc EQ 'X'.

        PERFORM finaliza_processo_contabil.

      ELSEIF sy-subrc EQ 0 AND

             /pws/zycbe112-fassoc EQ ' ' AND

             /pws/zycbe112-belnr IS INITIAL.

        PERFORM fill_date1_f48.

      ELSE.

...

 

...

    PERFORM recontabiliza_parcelas.

    EXIT.

  ENDIF.

  IF NOT itab_excluidos[] IS INITIAL.

    PERFORM estorna_parcelas_excluidas.

  ENDIF.

  LOOP AT itab_zycbt113p WHERE ftransf NE 'C'

                           AND belnr NE ' '

                           AND ( dtpagto EQ ' ' OR

                                 dtpagto EQ '00000000' ).

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

     IF NOT /pws/zycbe112-dtdesem NE wa_zycbt112-dtdesem AND

        NOT /pws/zycbe112-lifnr NE wa_zycbt112-lifnr.

* << Fim da inclusão

    READ TABLE itab_zycbt113pa WITH KEY nrparc = itab_zycbt113p-nrparc.

    IF itab_zycbt113p-vlme EQ itab_zycbt113pa-vlme AND

       itab_zycbt113p-ftransf EQ itab_zycbt113pa-ftransf.

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

        IF NOT itab_zycbt113pa-belnr IS INITIAL.

* << Fim da inclusão

       CONTINUE.

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

        ENDIF.

* << Fim da inclusão

    ENDIF.

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

    ENDIF.

* << Fim da inclusão

    IF itab_zycbt113p-belnr IS INITIAL.

      CONTINUE.

    ENDIF.

    itab_zycbe033-mandt  = sy-mandt.

    itab_zycbe033-tcode  = 'FB08'.

    itab_zycbe033-tabela = text-008.

...

 

...

      CHANGING v_retorno.

  ENDIF.

  CLEAR /pws/zycmt019.

  SELECT SINGLE *

         FROM /pws/zycmt019

         WHERE codmod  EQ 'FI' AND

               tpmatnr EQ /pws/zycbe112-codint.

  IF v_retorno EQ 'X'.

    CLEAR /pws/zycbe112-dtcont.

    WRITE sy-datum TO v_data.

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

    CONCATENATE text-224 text-225 text-226 v_data

      INTO v_mensagem

      SEPARATED BY space.

    CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'

         EXPORTING

              defaultoption = 'Y'

              textline1     = v_mensagem

              textline2     = text-227

              titel         = text-228

         IMPORTING

              answer        = v_answer

         EXCEPTIONS

                OTHERS = 0.

    IF v_answer EQ 'J'.

* << Fim da exclusão

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

    MESSAGE i061 WITH text-224 text-225 text-226 v_data.

* << Fim da inclusão

      /pws/zycbe112-dtcont = sy-datum.

      UPDATE /pws/zycbt112

        SET dtcont = /pws/zycbe112-dtcont

        WHERE nrseq EQ /pws/zycbe112-nrseq.

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

    ELSE.

      EXIT.

    ENDIF.

* << Fim da exclusão

  ELSE.

...

 

...

          AND sy-tcode EQ '/PWS/ZYCB101_C'.

        MESSAGE w087.

      ENDIF.

    ENDIF.

  ENDIF.

  v_tcode = text-237.

  LOOP AT itab_zycbt113p .

    READ TABLE itab_zycbt113pa WITH KEY nrparc = itab_zycbt113p-nrparc.

    IF itab_zycbt113p-vlme EQ itab_zycbt113pa-vlme AND

       itab_zycbt113p-ftransf EQ itab_zycbt113pa-ftransf.

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

      IF NOT itab_zycbt113pa-belnr IS INITIAL.

* << Fim da inclusão

       CONTINUE.

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

      ENDIF.

* << Fim da inclusão

    ENDIF.

    READ TABLE itab_zycmt020 INDEX sy-tabix.

    PERFORM get_parameters_112.

    IF itab_zycbt113p-ftransf EQ 'C' OR

       itab_zycbt113p-belnr   NE ' ' OR

       ( itab_zycbt113p-dtpagto NE ' ' AND

...

 

...

    itab_zycbe033-mandt = sy-mandt.

    itab_zycbe033-tcode = v_tcode.

    itab_zycbe033-tabela = text-008.

    itab_zycbe033-cpochv = /pws/zycbe112-nrseq.

    CASE wa_zycbt007-fdtdoc.

      WHEN 'D'.

        itab_zycbe033-bldat   = sy-datum.

        itab_zycbe033-d_valut = sy-datum.

        IF wa_zycbt007-dt_efet = 'E'.

          itab_zycbe033-d_valut = itab_zycbt113p-dtfinal.

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

          converte_data itab_zycbt113p-dtfinal itab_zycbe033-c_valut.

* << Fim da exclusão

        ENDIF.

      WHEN 'L'.

        PERFORM verify_null_field USING /pws/zycbe112-dtdesem

                                        'DTDESEM'

                                        text-011.

        itab_zycbe033-bldat   = /pws/zycbe112-dtdesem.

        itab_zycbe033-d_valut = /pws/zycbe112-dtdesem.

        IF wa_zycbt007-dt_efet = 'E'.

          itab_zycbe033-d_valut = itab_zycbt113p-dtfinal .

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

          converte_data itab_zycbt113p-dtfinal itab_zycbe033-c_valut.

* << Fim da exclusão

        ENDIF.

    ENDCASE.

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

    converte_data itab_zycbt113p-dtfinal itab_zycbe033-c_valut.

* << Fim da exclusão

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

    itab_zycbe033-c_valut = itab_zycbt113p-dtfinal .

* << Fim da inclusão

    IF NOT /pws/zycbe112-dtcont IS INITIAL.

      itab_zycbe033-budat = /pws/zycbe112-dtcont.

...

 

...

      IF sy-subrc EQ 0.

        PERFORM verifica_pais_filial USING /pws/zycbe112-bukrs

                                           t001w-j_1bbranch.

        itab_zycbe033-brnch = t001w-j_1bbranch.

      ENDIF.

    ENDIF.

    PERFORM verify_null_field USING /pws/zycbe112-waers

                                    'WAERS'

                                    text-013.

    itab_zycbe033-waers  = /pws/zycbe112-waers.

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

    IF /pws/zycbe112-dtdesem(6) NE sy-datum(6) AND

       NOT itab_zycbt113pa[] IS INITIAL.

      PERFORM obtem_taxa_cambial USING sy-datum.

      itab_zycbe033-kursf = v_taxacambial.

    ELSE.

* << Fim da inclusão

    IF NOT /pws/zycbe112-kursf IS INITIAL.

      itab_zycbe033-kursf  = /pws/zycbe112-kursf.

    ELSE.

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

      PERFORM obtem_taxa_cambial.

* << Fim da exclusão

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

        PERFORM obtem_taxa_cambial USING /pws/zycbe112-dtdesem.

* << Fim da inclusão

      itab_zycbe033-kursf = v_taxacambial.

    ENDIF.

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

    ENDIF.

* << Fim da inclusão

    PERFORM verify_null_field USING wa_zycbt011-blart

                                    'BLART'

                                    text-014.

    itab_zycbe033-blart  = wa_zycbt011-blart.

    PERFORM verify_null_field USING /pws/zycbe112-sldesem

                                    'SLDESEM'

                                    text-015.

    itab_zycbe033-wrbtr  = itab_zycbt113p-vlme.

    IF NOT /pws/zycbe112-bco_forn IS INITIAL.

      PERFORM verify_null_field USING /pws/zycbe112-bcofinan

...

 

...

            textline1     = p_textline1

            titel         = p_titel

       IMPORTING

            answer        = v_answer

       EXCEPTIONS

            OTHERS        = 1.

  IF sy-subrc = 0.

  ELSE.

  ENDIF.

ENDFORM.

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

FORM obtem_taxa_cambial.

* << Fim da exclusão

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

FORM obtem_taxa_cambial USING p_data.

  DATA: v_codpadr TYPE /pws/zycbt009-codpadr.

  IF NOT /pws/zycbe112-ftaxa IS INITIAL.

    v_codpadr = /pws/zycbe112-ftaxa.

  ELSEIF NOT wa_zycbt011-ctmoed IS INITIAL.

    v_codpadr = wa_zycbt011-ctmoed.

  ELSE.

    v_codpadr = 'M'.

  ENDIF.

* << Fim da inclusão

  SELECT SINGLE kurst

        FROM /pws/zycbt009

        INTO /pws/zycbt009-kurst

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

        WHERE codpadr = /pws/zycbe112-ftaxa.

* << Fim da exclusão

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

        WHERE codpadr = v_codpadr.

  IF sy-subrc NE 0.

    /pws/zycbt009-kurst = v_codpadr.

  ENDIF.

* << Fim da inclusão

  CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'

       EXPORTING

            i_montante                 = /pws/zycbe112-sldesem

            i_demoeda                  = /pws/zycbe112-waers

            i_paramoeda                = wa_zycbt007-waersb

            i_ctmoeda                  = /pws/zycbt009-kurst

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

            i_dtbase                   = /pws/zycbe112-dtdesem

* << Fim da exclusão

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

            i_dtbase                   = p_data

* << Fim da inclusão

       IMPORTING

            e_txc                      = v_taxacambial

       EXCEPTIONS

            i_demoeda_nao_encontrado   = 1

            i_paramoeda_nao_encontrado = 2

            i_ctmoeda_nao_encontrado   = 3

            i_dtbase_nao_encontrada    = 4

            taxa_nao_encontrada        = 5

            fator_nao_encontrado       = 6

            OTHERS                     = 7.

...

 

...

    PERFORM verifica_pais_filial USING /pws/zycbe112-bukrs

                                       /pws/zycbe112-j_1bbranch.

    itab_zycbe033-brnch  = /pws/zycbe112-j_1bbranch.

    PERFORM verify_null_field USING /pws/zycbe112-waers

                                    'WAERS'

                                    text-013.

    itab_zycbe033-waers  = /pws/zycbe112-waers.

    IF NOT /pws/zycbe112-kursf IS INITIAL.

      itab_zycbe033-kursf  = /pws/zycbe112-kursf.

    ELSE.

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

      PERFORM obtem_taxa_cambial.

* << Fim da exclusão

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

      PERFORM obtem_taxa_cambial USING /pws/zycbe112-dtdesem.

* << Fim da inclusão

      itab_zycbe033-kursf = v_taxacambial.

    ENDIF.

    PERFORM verify_null_field USING wa_zycbt011-blart

                                    'BLART'

                                    text-014.

    itab_zycbe033-blart  = wa_zycbt011-blart.

    PERFORM verify_null_field USING /pws/zycbe112-sldesem

                                    'SLDESEM'

                                    text-015.

    itab_zycbe033-wrbtr  = itab_zycbt113c-vlme.

...

 

...

                                        'DTDESEM'

                                        text-011.

        itab_zycbe033-bldat   = /pws/zycbe112-dtdesem.

        itab_zycbe033-d_valut = /pws/zycbe112-dtdesem.

        IF wa_zycbt007-dt_efet = 'E'.

          itab_zycbe033-d_valut = itab_zycbt113pa-dtvecto .

          converte_data itab_zycbt113pa-dtvecto itab_zycbe033-c_valut.

        ENDIF.

    ENDCASE.

    converte_data itab_zycbt113pa-dtvecto itab_zycbe033-c_valut.

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

    IF itab_zycbt113pa-ftransf = text-007.

      SELECT  dtcont

        FROM /pws/zycbt154

          UP TO 1 ROWS

        INTO /pws/zycbt154-dtcont

       WHERE nrcorresp EQ /pws/zycbe112-nrseq

         AND tpcontr EQ itab_zycbt113pa-nrparc+1(2)

         AND codmod  EQ 'I'

         AND codmodul EQ 'T'.

      ENDSELECT.

      itab_zycbe033-budat  = /pws/zycbt154-dtcont.

    ELSE.

      IF NOT itab_zycbt113pa-dtcont IS INITIAL.

        itab_zycbe033-budat  = itab_zycbt113pa-dtcont.

      ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.

        itab_zycbe033-budat  = /pws/zycbe112-dtcont.

      ELSE.

        itab_zycbe033-budat  = /pws/zycbe112-dtdesem.

      ENDIF.

    ENDIF.

* << Fim da exclusão

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

    itab_zycbe033-budat = sy-datum.

* << Fim da inclusão

    PERFORM determina_ano

      USING    itab_zycbe033-budat

      CHANGING itab_zycbe033-gjahs.

    itab_zycbe033-bktxt = wa_zycbt007-bktxt.

    IF NOT /pws/zycbe112-ftxt IS INITIAL.

      itab_zycbe033-d_sgtxt = /pws/zycbe112-txtinf.

      itab_zycbe033-c_sgtxt = /pws/zycbe112-txtinf.

    ENDIF.

    PERFORM preenche_dados_batch USING itab_zycbt113pa-dtfinal.

    IF /pws/zycbe112-ftxt IS INITIAL AND

...

 

...

    ENDIF.

    CONCATENATE /pws/zycbe112-nrseq 'R' INTO itab_zycbe033-d_zuonr .

    PERFORM verify_null_field USING /pws/zycbe112-bukrs

                                    'BUKRS'

                                    text-012.

    itab_zycbe033-bukrs  = /pws/zycbe112-bukrs.

    PERFORM verify_null_field USING /pws/zycbe112-waers

                                    'WAERS'

                                    text-013.

    itab_zycbe033-waers  = /pws/zycbe112-waers.

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

    IF /pws/zycbe112-dtdesem(6) NE sy-datum(6) AND

       NOT itab_zycbt113pa[] IS INITIAL.

      PERFORM obtem_taxa_cambial USING sy-datum.

      itab_zycbe033-kursf = v_taxacambial.

    ELSE.

* << Fim da inclusão

    IF NOT /pws/zycbe112-kursf IS INITIAL.

      itab_zycbe033-kursf  = /pws/zycbe112-kursf.

    ELSE.

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

      PERFORM obtem_taxa_cambial.

* << Fim da exclusão

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

        PERFORM obtem_taxa_cambial USING /pws/zycbe112-dtdesem.

* << Fim da inclusão

      itab_zycbe033-kursf = v_taxacambial.

    ENDIF.

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

    ENDIF.

* << Fim da inclusão

    PERFORM verify_null_field USING wa_zycbt011-blart

                                    'BLART'

                                    text-014.

    itab_zycbe033-blart  = wa_zycbt011-blart.

    PERFORM verify_null_field USING /pws/zycbe112-sldesem

                                    'SLDESEM'

                                    text-015.

    itab_zycbe033-wrbtr  = itab_zycbt113pa-vlme.

    itab_zycbe033-newbs = '50'.

    itab_zycbe033-c_newko = v_newkof.

...

 

...

                                        'DTDESEM'

                                        text-011.

        itab_zycbe033-bldat   = /pws/zycbe112-dtdesem.

        itab_zycbe033-d_valut = /pws/zycbe112-dtdesem.

        IF wa_zycbt007-dt_efet = 'E'.

          itab_zycbe033-d_valut = itab_zycbt113p-dtvecto .

          converte_data itab_zycbt113p-dtvecto itab_zycbe033-c_valut.

        ENDIF.

    ENDCASE.

    converte_data itab_zycbt113p-dtvecto itab_zycbe033-c_valut.

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

    IF itab_zycbt113p-ftransf = text-007.

      SELECT  dtcont

        FROM /pws/zycbt154

          UP TO 1 ROWS

        INTO /pws/zycbt154-dtcont

       WHERE nrcorresp EQ /pws/zycbe112-nrseq

         AND tpcontr EQ itab_zycbt113p-nrparc+1(2)

         AND codmod  EQ 'I'

         AND codmodul EQ 'T'.

      ENDSELECT.

      IF sy-subrc = 0.

        itab_zycbe033-budat  = /pws/zycbt154-dtcont.

      ELSE.

        IF NOT itab_zycbt113p-dtcont IS INITIAL.

          itab_zycbe033-budat  = itab_zycbt113p-dtcont.

        ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.

          itab_zycbe033-budat  = /pws/zycbe112-dtcont.

        ELSE.

          itab_zycbe033-budat  = /pws/zycbe112-dtdesem.

        ENDIF.

      ENDIF.

    ELSE.

      IF NOT itab_zycbt113p-dtcont IS INITIAL.

        itab_zycbe033-budat  = itab_zycbt113p-dtcont.

      ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.

        itab_zycbe033-budat  = /pws/zycbe112-dtcont.

      ELSE.

        itab_zycbe033-budat  = /pws/zycbe112-dtdesem.

      ENDIF.

    ENDIF.

* << Fim da exclusão

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

    itab_zycbe033-budat = sy-datum.

* << Fim da inclusão

    PERFORM determina_ano

      USING    itab_zycbe033-budat

      CHANGING itab_zycbe033-gjahs.

    itab_zycbe033-bktxt = wa_zycbt007-bktxt.

    IF NOT /pws/zycbe112-ftxt IS INITIAL.

      itab_zycbe033-d_sgtxt = /pws/zycbe112-txtinf.

      itab_zycbe033-c_sgtxt = /pws/zycbe112-txtinf.

    ENDIF.

    PERFORM preenche_dados_batch USING itab_zycbt113p-dtfinal.

    IF /pws/zycbe112-ftxt IS INITIAL AND

...

 

...

    ENDIF.

    CONCATENATE /pws/zycbe112-nrseq 'R' INTO itab_zycbe033-d_zuonr .

    PERFORM verify_null_field USING /pws/zycbe112-bukrs

                                    'BUKRS'

                                    text-012.

    itab_zycbe033-bukrs  = /pws/zycbe112-bukrs.

    PERFORM verify_null_field USING /pws/zycbe112-waers

                                    'WAERS'

                                    text-013.

    itab_zycbe033-waers  = /pws/zycbe112-waers.

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

    IF NOT /pws/zycbe112-kursf IS INITIAL.

* << Fim da exclusão

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

    IF NOT /pws/zycbe112-kursf IS INITIAL

       AND NOT ( /pws/zycbe112-dtdesem(6) NE sy-datum(6) AND

                 NOT itab_zycbt113pa[] IS INITIAL ).

* << Fim da inclusão

      itab_zycbe033-kursf  = /pws/zycbe112-kursf.

    ELSE.

      PERFORM obtem_taxa_cambial_rfin.

      itab_zycbe033-kursf = v_taxacambial.

    ENDIF.

    PERFORM verify_null_field USING wa_zycbt011-blart

                                    'BLART'

                                    text-014.

    itab_zycbe033-blart  = wa_zycbt011-blart.

    PERFORM verify_null_field USING /pws/zycbe112-sldesem

...

 

...

            OTHERS          = 3.

  IF sy-subrc EQ 0.

    READ TABLE itab_zyglt316 INDEX 1.

    itab_zycbe033-c_newko = itab_zyglt316-konth.

  ENDIF.

  PERFORM verify_null_field USING itab_zycbe033-c_newko

                                  'C_NEWKO'

                                  text-018.

ENDFORM.

FORM obtem_taxa_cambial_refin.

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

  DATA: v_codpadr TYPE /pws/zycbt009-codpadr.

  IF NOT wa_zycbt112r-ftaxa IS INITIAL.

    v_codpadr = wa_zycbt112r-ftaxa.

  ELSEIF NOT wa_zycbt011-ctmoed IS INITIAL.

    v_codpadr = wa_zycbt011-ctmoed.

  ELSE.

    v_codpadr = 'M'.

  ENDIF.

* << Fim da inclusão

  SELECT SINGLE kurst

        FROM /pws/zycbt009

        INTO /pws/zycbt009-kurst

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

        WHERE codpadr = wa_zycbt112r-ftaxa.

* << Fim da exclusão

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

        WHERE codpadr = v_codpadr.

  IF sy-subrc NE 0.

    /pws/zycbt009-kurst = v_codpadr.

  ENDIF.

* << Fim da inclusão

  CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'

       EXPORTING

            i_montante                 = wa_zycbt112r-sldesem

            i_demoeda                  = wa_zycbt112r-waers

            i_paramoeda                = wa_zycbt007-waersb

            i_ctmoeda                  = /pws/zycbt009-kurst

            i_dtbase                   = sy-datum

       IMPORTING

            e_txc                      = v_taxacambial

       EXCEPTIONS

...

 

...

        FROM /pws/zycbt154

          UP TO 1 ROWS

        INTO /pws/zycbt154-dtcont

       WHERE nrcorresp EQ /pws/zycbe112-nrseq

         AND tpcontr EQ itab_zycbt113p-nrparc+1(2)

         AND codmod  EQ 'I'

         AND codmodul EQ 'T'.

      ENDSELECT.

      IF sy-subrc = 0.

        itab_zycbe033-budat  = /pws/zycbt154-dtcont.

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

      ELSE.

       IF NOT itab_zycbt113p-dtcont IS INITIAL.

         itab_zycbe033-budat  = itab_zycbt113p-dtcont.

       ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.

         itab_zycbe033-budat  = /pws/zycbe112-dtcont.

* << Fim da exclusão

       ELSE.

         itab_zycbe033-budat  = /pws/zycbe112-dtdesem.

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

       ENDIF.

* << Fim da exclusão

      ENDIF.

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

    ELSE.

     IF NOT itab_zycbt113p-dtcont IS INITIAL.

       itab_zycbe033-budat  = itab_zycbt113p-dtcont.

     ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.

       itab_zycbe033-budat  = /pws/zycbe112-dtcont.

* << Fim da exclusão

     ELSE.

       itab_zycbe033-budat  = /pws/zycbe112-dtdesem.

     ENDIF.

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

    ENDIF.

* << Fim da exclusão

    PERFORM determina_ano

      USING    itab_zycbe033-budat

      CHANGING itab_zycbe033-gjahs.

    itab_zycbe033-bktxt = wa_zycbt007-bktxt.

...

 

...

    ENDIF.

    CONCATENATE /pws/zycbe112-nrseq 'R' INTO itab_zycbe033-d_zuonr .

    PERFORM verify_null_field USING /pws/zycbe112-bukrs

                                    'BUKRS'

                                    text-012.

    itab_zycbe033-bukrs  = /pws/zycbe112-bukrs.

    PERFORM verify_null_field USING /pws/zycbe112-waers

                                    'WAERS'

                                    text-013.

    itab_zycbe033-waers  = /pws/zycbe112-waers.

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

    IF /pws/zycbe112-dtdesem(6) NE sy-datum(6) AND

       NOT itab_zycbt113pa[] IS INITIAL.

      PERFORM obtem_taxa_cambial USING sy-datum.

      itab_zycbe033-kursf = v_taxacambial.

    ELSE.

* << Fim da inclusão

    IF NOT /pws/zycbe112-kursf IS INITIAL.

      itab_zycbe033-kursf  = /pws/zycbe112-kursf.

    ELSE.

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

      PERFORM obtem_taxa_cambial.

* << Fim da exclusão

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

        PERFORM obtem_taxa_cambial USING /pws/zycbe112-dtdesem.

* << Fim da inclusão

      itab_zycbe033-kursf = v_taxacambial.

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

      ENDIF.

* << Fim da inclusão

    ENDIF.

    PERFORM verify_null_field USING wa_zycbt011-blart

                                    'BLART'

                                    text-014.

    itab_zycbe033-blart  = wa_zycbt011-blart.

    PERFORM verify_null_field USING /pws/zycbe112-sldesem

                                    'SLDESEM'

                                    text-015.

    CLEAR v_zuonr.

    CONCATENATE /pws/zycbe112-nrseq 'R' INTO v_zuonr.

...

 

...

  LOOP AT itab_zycbt113j.

    v_dtfinal = itab_zycbt113j-dtfinal.

  ENDLOOP.

  IF v_dtfinal <> /pws/zycbe112-dtvencto.

    MESSAGE i061 WITH text-192 text-193.

    CLEAR v_dtfinal.

    v_ind_valor = 'X'.

  ENDIF.

ENDFORM.

FORM obtem_taxa_cambial_rfin.

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

  DATA: v_codpadr TYPE /pws/zycbt009-codpadr.

  IF NOT /pws/zycbe112-ftaxa IS INITIAL.

    v_codpadr = /pws/zycbe112-ftaxa.

  ELSEIF NOT wa_zycbt011-ctmoed IS INITIAL.

    v_codpadr = wa_zycbt011-ctmoed.

  ELSE.

    v_codpadr = 'M'.

  ENDIF.

* << Fim da inclusão

  SELECT SINGLE kurst

        FROM /pws/zycbt009

        INTO /pws/zycbt009-kurst

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

        WHERE codpadr = /pws/zycbe112-ftaxa.

* << Fim da exclusão

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

        WHERE codpadr = v_codpadr.

  IF sy-subrc NE 0.

    /pws/zycbt009-kurst = v_codpadr.

  ENDIF.

* << Fim da inclusão

  CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'

       EXPORTING

            i_montante                 = /pws/zycbe112-sldesem

            i_demoeda                  = /pws/zycbe112-waers

            i_paramoeda                = wa_zycbt007-waersb

            i_ctmoeda                  = /pws/zycbt009-kurst

            i_dtbase                   = itab_zycbe033-budat

       IMPORTING

            e_txc                      = v_taxacambial

       EXCEPTIONS

...

 

...

      USING    wa_zycbt112-dtcont

      CHANGING v_retorno.

  ELSE.

    PERFORM periodo_contabil

      USING    /pws/zycbe112-dtdesem

      CHANGING v_retorno.

  ENDIF.

  IF v_retorno EQ 'X'.

    CLEAR /pws/zycbe112-dtcont.

    WRITE sy-datum TO v_data.

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

    CONCATENATE text-224 text-225 text-226 v_data

      INTO v_mensagem

      SEPARATED BY space.

    CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'

         EXPORTING

              defaultoption = 'Y'

              textline1     = v_mensagem

              textline2     = text-227

              titel         = text-228

         IMPORTING

              answer        = v_answer

         EXCEPTIONS

                OTHERS = 0.

    IF v_answer EQ 'J'.

* << Fim da exclusão

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

    MESSAGE i061 WITH text-224 text-225 text-226 v_data.

* << Fim da inclusão

      /pws/zycbe112-dtcont = sy-datum.

      UPDATE /pws/zycbt112

        SET dtcont = /pws/zycbe112-dtcont

        WHERE nrseq EQ /pws/zycbe112-nrseq.

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

    ELSE.

      EXIT.

    ENDIF.

* << Fim da exclusão

  ELSE.

...

 

...

    PERFORM verifica_pais_filial USING /pws/zycbe112-bukrs

                                       /pws/zycbe112-j_1bbranch.

    itab_zycbe033-brnch  = /pws/zycbe112-j_1bbranch.

    PERFORM verify_null_field USING /pws/zycbe112-waers

                                    'WAERS'

                                    text-013.

    itab_zycbe033-waers  = /pws/zycbe112-waers.

    IF NOT /pws/zycbe112-kursf IS INITIAL.

      itab_zycbe033-kursf  = /pws/zycbe112-kursf.

    ELSE.

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

      PERFORM obtem_taxa_cambial.

* << Fim da exclusão

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

      PERFORM obtem_taxa_cambial USING /pws/zycbe112-dtdesem.

* << Fim da inclusão

      itab_zycbe033-kursf = v_taxacambial.

    ENDIF.

    PERFORM verify_null_field USING wa_zycbt011-blart

                                    'BLART'

                                    text-014.

    itab_zycbe033-blart  = wa_zycbt011-blart.

    PERFORM verify_null_field USING itab_zycbt113p-vlme

                                    'SLDESEM'

                                    text-015.

    itab_zycbe033-wrbtr  = itab_zycbt113p-vlme.

...

 

...

                                    'BUKRS'

                                    text-012.

    itab_zycbe033-bukrs  = /pws/zycbe112-bukrs.

    PERFORM verify_null_field USING /pws/zycbe112-waers

                                    'WAERS'

                                    text-013.

    itab_zycbe033-waers  = /pws/zycbe112-waers.

    IF NOT /pws/zycbe112-kursf IS INITIAL.

      itab_zycbe033-kursf  = /pws/zycbe112-kursf.

    ELSE.

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

      PERFORM obtem_taxa_cambial.

* << Fim da exclusão

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

      PERFORM obtem_taxa_cambial USING /pws/zycbe112-dtdesem.

* << Fim da inclusão

      itab_zycbe033-kursf = v_taxacambial.

    ENDIF.

    PERFORM verify_null_field USING wa_zycbt011-blart

                                    'BLART'

                                    text-014.

    itab_zycbe033-blart  = wa_zycbt011-blart.

    APPEND itab_zycbe033.

    CLEAR:   itab_zyglt100.

    REFRESH: itab_zyglt100.

    IF itab_zyglt100[] IS INITIAL.

...