Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Empréstimos
Data/Hora da Publicação: 16/06/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 11:42:07
Descrição da Nota: EMPRÉSTIMO - NÃO ESTÁ SENDO FEITO O ESTORNO
Sintoma
Ao entrar em modificar o empréstimo e clicar para efetuar o estorno, o programa entra direto na
FB08, ocasionando erro.
Solução
Foram efetuados os ajustes para que o programa execute uma FBRA e FB08 nos documentos de parcela e
FB08 no documento do banco.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01597 Data: 16/06/2006 Hora: 15:13:30
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01597
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00023
Agrupamento : 00117
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
EMPRÉSTIMO - NÃO ESTÁ SENDO FEITO O ESTORNO
----------------------------------------------------------------------------------------------------
Palavras Chave:
EMPRÉSTIMO ESTORNO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCA111F01
REPS /PWS/MZYCA111I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA111F01
...
CHECK v_ind_texto IS INITIAL.
PERFORM ver_vlprinc.
CHECK v_ind_valor IS INITIAL.
PERFORM save_zycbt128.
PERFORM save_zycbt129_comissao.
* >> Início da exclusão: FORM SAVE_CHANGES
IF v_erro_bi IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_CHANGES
CHECK v_erro_bi IS INITIAL AND
v_erro_exclusao IS INITIAL.
* << Fim da inclusão
PERFORM salva_dados_bancarios.
message i268 with text-128 /pws/zycbe128-nrseq text-129.
* >> Início da exclusão: FORM SAVE_CHANGES
ENDIF.
* << Fim da exclusão
MOVE /pws/zycbe128 TO wa_zycbt128.
MOVE /pws/zycbe129 TO wa_zycbt129.
IF sy-tcode = '/PWS/ZYCB111_C'.
IF v_erro EQ 'N'.
PERFORM limpa.
...
...
/pws/zycbe128-statusp EQ text-007 .
v_mdparc = 'X'.
ENDIF.
IF NOT /pws/zycbe128-belnr IS INITIAL OR
NOT itab_excluidos[] IS INITIAL.
* >> Início da inclusão: FORM SAVE_ZYCBT128
IF ( /pws/zycbe128-dtdesem NE wa_zycbt128-dtdesem OR
/pws/zycbe128-bukrs NE wa_zycbt128-bukrs OR
/pws/zycbe128-bcofinan NE wa_zycbt128-bcofinan OR
/pws/zycbe128-waers NE wa_zycbt128-waers OR
/pws/zycbe128-kursf NE wa_zycbt128-kursf OR
/pws/zycbe128-ftaxa NE wa_zycbt128-ftaxa OR
/pws/zycbe128-vlme NE wa_zycbt128-vlme OR
/pws/zycbe128-lifnr NE wa_zycbt128-lifnr OR
/pws/zycbe128-gsber NE wa_zycbt128-gsber OR
/pws/zycbe128-kostl NE wa_zycbt128-kostl OR
/pws/zycbe128-prctr NE wa_zycbt128-prctr OR
/pws/zycbe128-fipos NE wa_zycbt128-fipos OR
/pws/zycbe128-fictr NE wa_zycbt128-fictr OR
/pws/zycbe128-tpemprest NE wa_zycbt128-tpemprest OR
v_modifp EQ 'X' ) AND
/pws/zycbe128-statusp EQ text-007.
* << Fim da inclusão
MOVE /pws/zycbe128 TO /pws/zycbt128.
PERFORM reverse_document_zycbt128.
* >> Início da inclusão: FORM SAVE_ZYCBT128
PERFORM save_zycbt129.
ELSE.
MOVE /pws/zycbe128 TO /pws/zycbt128.
MODIFY /pws/zycbt128.
* << Fim da inclusão
PERFORM save_zycbt129.
* >> Início da inclusão: FORM SAVE_ZYCBT128
ENDIF.
* << Fim da inclusão
ELSE.
...
...
ENDIF.
CLEAR: v_assoc, v_numero, v_empresa, v_divisao, v_txtinf, v_codmod.
FREE MEMORY ID '001'.
ENDFORM.
FORM save_zycbt129.
* >> Início da inclusão: FORM SAVE_ZYCBT129
CHECK v_erro_exclusao IS INITIAL.
* << Fim da inclusão
LOOP AT itab_zycbt129p.
IF itab_zycbt129p-status IS INITIAL.
itab_zycbt129p-status = 'I'.
ELSEIF itab_zycbt129p-status = 'I'.
itab_zycbt129p-status = 'A'.
...
...
ENDSELECT.
IF /pws/zycbe128-fassoc EQ 'X'.
PERFORM recontabiliza_parcelas.
EXIT.
ENDIF.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128
IF NOT itab_excluidos[] IS INITIAL.
PERFORM estorna_parcelas_excluidas.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
CLEAR v_erro_exclusao.
IF itab_zycbt129pa[] IS INITIAL.
SELECT *
FROM /pws/zycbt129
INTO TABLE itab_zycbt129pa
WHERE nrseq EQ /pws/zycbe128-nrseq
AND tpparc EQ 'P'.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128
LOOP AT itab_zycbt129p WHERE ftransf NE 'C' AND
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
SORT itab_zycbt129pa BY nrparc DESCENDING.
LOOP AT itab_zycbt129pa WHERE ftransf NE 'C' AND
* << Fim da inclusão
belnr NE ' ' AND
belnr_p EQ ' '.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128
READ TABLE itab_zycbt129pa WITH KEY nrparc = itab_zycbt129p-nrparc.
IF itab_zycbt129p-vlme EQ itab_zycbt129pa-vlme AND
itab_zycbt129p-dtvencto EQ itab_zycbt129pa-dtvencto AND
itab_zycbt129p-belnr EQ itab_zycbt129pa-belnr.
IF v_mdparc EQ 'X'.
CONTINUE.
ENDIF.
ENDIF.
IF itab_zycbt129p-belnr IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
IF itab_zycbt129pa-belnr IS INITIAL OR
NOT v_erro_exclusao IS INITIAL.
* << Fim da inclusão
CONTINUE.
ENDIF.
itab_zycbe033-mandt = sy-mandt.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128
itab_zycbe033-tcode = 'FB08'.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
itab_zycbe033-tcode = 'FBRA'.
* << Fim da inclusão
itab_zycbe033-tabela = text-008.
itab_zycbe033-cpochv = wa_zycbt128-nrseq.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128
itab_zycbe033-belnr = itab_zycbt129p-belnr.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
itab_zycbe033-belnr = itab_zycbt129pa-belnr.
* << Fim da inclusão
itab_zycbe033-bukrs = wa_zycbt128-bukrs.
itab_zycbe033-budat = wa_zycbt128-dtdesem.
itab_zycbe033-gjahs = wa_zycbt128-dtdesem+0(4).
v_monat = itab_zycbe033-budat+2(2).
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
PERFORM verify_null_field USING wa_zycbt128-bukrs
'BUKRS'
text-012.
itab_zycbe033-bukrs = wa_zycbt128-bukrs.
* << Fim da inclusão
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
i_gjahr = itab_zycbe033-budat+0(4)
i_koart = 'S'
...
...
itab_zycbe033-stgrd = '01'.
ELSE.
itab_zycbe033-stgrd = '02'.
ENDIF.
APPEND itab_zycbe033.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
CALL FUNCTION '/PWS/ZYCA_TRANSACAO_FBRA'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0.
itab_zycbe033-tcode = 'FB08'.
MODIFY itab_zycbe033 TRANSPORTING tcode
WHERE tcode = 'FBRA'.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCA_TRANSACAO_FB08'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
...
...
READ TABLE itab_zycbt032 WITH KEY tcode = 'FB08'
tabela = text-008
cpochv = /pws/zycbe128-nrseq
tpmsg = 'S'.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128
MESSAGE i030 WITH itab_zycbt129p-belnr.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
MESSAGE i030 WITH itab_zycbt129pa-belnr.
* << Fim da inclusão
CLEAR: itab_zycbt129p-belnr, itab_zycbt129p-belnr_lp,
itab_zycbt129p-ftransf.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128
MODIFY itab_zycbt129p.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
MODIFY itab_zycbt129p
TRANSPORTING belnr belnr_lp ftransf
WHERE nrseq EQ /pws/zycbe128-nrseq
AND nrparc EQ itab_zycbt129pa-nrparc
AND tpparc EQ 'P'.
CLEAR: itab_zycbt129pa-belnr, itab_zycbt129pa-belnr_lp,
itab_zycbt129pa-ftransf.
MODIFY itab_zycbt129pa.
* << Fim da inclusão
UPDATE /pws/zycbt129 SET belnr = space
belnr_lp = space
ftransf = space
WHERE nrseq EQ /pws/zycbe128-nrseq AND
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128
nrparc EQ itab_zycbt129p-nrparc AND
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
nrparc EQ itab_zycbt129pa-nrparc AND
* << Fim da inclusão
tpparc EQ 'P'.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
PERFORM clear_date_batch.
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg.
ENDLOOP.
* << Fim da inclusão
PERFORM clear_date_batch.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
v_erro_exclusao = 'X'.
ENDIF.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg.
ENDLOOP.
PERFORM clear_date_batch.
v_erro_exclusao = 'X'.
ENDIF.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg.
ENDLOOP.
PERFORM clear_date_batch.
v_erro_exclusao = 'X'.
* << Fim da inclusão
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
CHECK v_erro_exclusao IS INITIAL.
* << Fim da inclusão
IF NOT /pws/zycbe128-belnr IS INITIAL.
LOOP AT itab_zycbt129p WHERE dtpagto NE ' '.
ENDLOOP.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT128
IF sy-subrc NE 0.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128
IF sy-subrc EQ 0.
* << Fim da inclusão
PERFORM reverse_document_zycbt128_cab.
ENDIF.
ENDIF.
/pws/zycbt128-status = 'I'.
MODIFY /pws/zycbt128.
...
...
DESCRIBE TABLE itab_zycbt129c LINES v_line.
READ TABLE itab_zycbt129c INDEX v_line.
vdtfinal3 = itab_zycbt129c-dtfinal.
ENDFORM.
FORM fill_date1_f02.
* >> Início da inclusão: FORM FILL_DATE1_F02
CHECK NOT okcode = 'DELL'.
* << Fim da inclusão
IF NOT /pws/zycbe128-belnr IS INITIAL.
EXIT.
ENDIF.
v_nrdias = /pws/zycbe128-dtvencto - /pws/zycbe128-dtdesem.
PERFORM get_parameters_111.
...
...
'NEWKO'
text-018.
ENDFORM.
FORM save_zycbt129_comissao.
DATA v_nrlines TYPE i.
* >> Início da inclusão: FORM SAVE_ZYCBT129_COMISSAO
CHECK v_erro_exclusao IS INITIAL.
* << Fim da inclusão
LOOP AT itab_zycbt129c.
IF itab_zycbt129c-status IS INITIAL.
itab_zycbt129c-status = 'I'.
ELSEIF itab_zycbt129c-status = 'I'.
IF itab_zycbt129_ant[] <> itab_zycbt129c[].
...
...
MESSAGE i015 WITH itab_zycbt032-msg.
ENDLOOP.
v_erro_exclusao = 'X'.
PERFORM clear_date_batch.
ENDIF.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT128_CAB
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg.
ENDLOOP.
v_erro_exclusao = 'X'.
PERFORM clear_date_batch.
* << Fim da inclusão
ENDIF.
ENDFORM.
FORM verifica_boleto.
IF sy-tcode EQ '/PWS/ZYCB111_A'.
CLEAR /pws/zycbt129.
...
...
ENDIF.
PERFORM get_parameters_111.
IF itab_zycbt129p-belnr_p NE ' '.
CONTINUE.
ENDIF.
* >> Início da exclusão: FORM GERA_NOVAS_PARCELAS
READ TABLE itab_zycbt129pa WITH KEY nrparc = itab_zycbt129p-nrparc.
IF itab_zycbt129p-vlme EQ itab_zycbt129pa-vlme AND
itab_zycbt129p-dtvencto EQ itab_zycbt129pa-dtvencto AND
itab_zycbt129p-belnr EQ itab_zycbt129pa-belnr.
IF v_mdparc EQ 'X'.
CONTINUE.
ENDIF.
ENDIF.
* << Fim da exclusão
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = text-095.
itab_zycbe033-tabela = text-008.
itab_zycbe033-cpochv = /pws/zycbe128-nrseq.
CASE wa_zycbt007-fdtdoc.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA111I01
...
APPEND itab_excluidos.
ENDIF.
ENDLOOP.
IF v_delete IS INITIAL AND v_boleto_p IS INITIAL.
DELETE itab_zycbt129p WHERE mark EQ 'X'.
* >> Início da inclusão: MODULE USER_COMMAND_0102
LOOP AT itab_zycbt129p.
itab_zycbt129p-nrparc = sy-tabix.
MODIFY itab_zycbt129p INDEX sy-tabix.
ENDLOOP.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDCASE.
WHEN 'CS'.
GET CURSOR FIELD v_campo VALUE v_valor.
...
...
LOOP AT itab_zycbt129j WHERE mark EQ 'X'.
PERFORM checa_boleto.
ENDLOOP.
IF v_delete IS INITIAL AND v_boleto_p IS INITIAL.
DELETE itab_zycbt129j WHERE mark EQ 'X'.
* >> Início da inclusão: MODULE USER_COMMAND_0103
LOOP AT itab_zycbt129j.
itab_zycbt129j-nrparc = sy-tabix.
MODIFY itab_zycbt129j INDEX sy-tabix.
ENDLOOP.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDCASE.
WHEN 'CS'.
GET CURSOR FIELD v_campo VALUE v_valor.
...
...
/pws/zycbe128-fpagto_c, /pws/zycbe128-tpcomis,
/pws/zycbe128-tptaxa.
ENDIF.
IF v_delete IS INITIAL AND v_boleto_p IS INITIAL.
DELETE itab_zycbt129c WHERE mark EQ 'X'.
* >> Início da inclusão: MODULE USER_COMMAND_0104
LOOP AT itab_zycbt129c.
itab_zycbt129c-nrparc = sy-tabix.
MODIFY itab_zycbt129c INDEX sy-tabix.
ENDLOOP.
DESCRIBE TABLE itab_zycbt129c LINES v_parcela.
/pws/zycbe128-nrparc = v_parcela.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDCASE.
WHEN 'CS'.
GET CURSOR FIELD v_campo VALUE v_valor.
...