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