Módulo: CÂMBIO IMPORTAÇÃO
Funcionalidade: Financiamento
Data/Hora da Publicação: 28/03/2007 00:00:00
Data/Hora Última Alteração: 04/03/2010 13:35:31
Descrição da Nota: FINANCIAMENTO - EXCLUSÃO PARCELAS DE COMISSÃO
Sintoma
Ao escluir uma parcela de comissão livre, pró-rata, o registro não some da tela, o documento
contábil é estornado e é gerado um novo documento contábil. Após entrar novamente no financiamento,
a comissão não aparece, mas o contábil foi recontabilizado incorretamente.
Ao modificar uma comissão de pró-rata período, esta recontabilizando o principal, o que esta
incorreto.
Solução
Fazer com que o nro. de parcelas de comissão do cabeçalho siga as parcelas da pasta comissão.
Ajustar tabelas internas, contabilizações e armazenamento dos dados na /pws/zycbt113.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03340 Data: 28/03/2007 Hora: 16:06:26
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03340
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00026
Agrupamento : 00156
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
FINANCIAMENTO - EXCLUSÃO PARCELAS DE COMISSÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
FINANCIAMENTO EXCLUSÃO PARCELAS DE COMISSÃO LIVRE VALOR
PRÓ-RATA PERÍODO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCM101F01
REPS /PWS/MZYCM101I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCM101F01
...
CALL FUNCTION '/PWS/ZYCM_CRIA_ASSOCIACAO'
EXPORTING
v_nrseq = /pws/zycbe112-nrseq
v_modo = v_modo_bi
TABLES
t_faturas = itab_zycmt013
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
ELSE.
* >> Início da exclusão: FORM SAVE_CHANGES
IF itab_zycbt113c[] EQ itab_zycbt113_ant[] AND
itab_zycmt020[] EQ itab_zycmt020_cp[] AND
sy-tcode EQ '/PWS/ZYCB101_A' AND
v_msg_ IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_CHANGES
IF ( itab_zycbt113c[] EQ itab_zycbt113_ant[] OR
( itab_zycbt113c[] NE itab_zycbt113_ant[] AND
/pws/zycbe112-fpagto_c NE 'L' AND
wa_zycbt112-fpagto_c NE 'L' ) ) AND
itab_zycmt020[] EQ itab_zycmt020_cp[] AND
sy-tcode EQ '/PWS/ZYCB101_A' AND
v_msg_ IS INITIAL.
* << Fim da inclusão
MESSAGE i017.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM SAVE_CHANGES
REFRESH itab_zycbt113_ant.
LOOP AT itab_zycbt113c.
CLEAR itab_zycbt113_ant.
MOVE-CORRESPONDING itab_zycbt113c TO itab_zycbt113_ant.
APPEND itab_zycbt113_ant.
ENDLOOP.
* << Fim da inclusão
IF /pws/zycbe112-nrseq+0(1) NE '5' AND sy-tcode = '/PWS/ZYCB101_C'
AND itab_zycmt023[] IS INITIAL.
LOOP AT itab_zycbt113p WHERE belnr NE space.
EXIT.
ENDLOOP.
IF sy-subrc = 0.
PERFORM associar_faturas.
ENDIF.
ENDIF.
MESSAGE i061 WITH text-239 /pws/zycbe112-nrseq text-240.
...
...
AND nrparc EQ itab_zycbt113c_exc-nrparc.
IF sy-subrc EQ 0.
PERFORM monta_log_cfm USING wa_zycbt113_log
'/PWS/ZYCBT113'
CHANGING wa_log.
PERFORM grava_log USING '/PWS/ZYCBT113'
wa_log
'E'.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM SAVE_ZYCBT113_COMISSAO
DELETE FROM /pws/zycbt113 WHERE nrseq = itab_zycbt113c_exc-nrseq
AND tpparc = 'C'
AND nrparc = itab_zycbt113c_exc-nrparc.
* << Fim da exclusão
ENDLOOP.
v_nparc = 0.
LOOP AT itab_zycbt113c.
v_nparc = v_nparc + 1.
* >> Início da exclusão: FORM SAVE_ZYCBT113_COMISSAO
UPDATE /pws/zycbt113 SET nrparc = v_nparc
WHERE nrseq = itab_zycbt113c-nrseq
AND tpparc = 'C'
AND nrparc = itab_zycbt113c-nrparc.
* << Fim da exclusão
itab_zycbt113c-nrparc = v_nparc.
IF wa_zycbt007-cfm = 'X'.
SELECT SINGLE *
FROM /pws/zycbt113
INTO wa_zycbt113_log
WHERE nrseq EQ itab_zycbt113c-nrseq
AND tpparc EQ 'C'
AND nrparc EQ itab_zycbt113c-nrparc.
IF sy-subrc EQ 0.
PERFORM monta_log_cfm USING wa_zycbt113_log
'/PWS/ZYCBT113'
CHANGING wa_log.
PERFORM grava_log USING '/PWS/ZYCBT113'
wa_log
'A'.
ENDIF.
ENDIF.
MODIFY itab_zycbt113c.
* >> Início da inclusão: FORM SAVE_ZYCBT113_COMISSAO
ENDLOOP.
IF NOT itab_zycbt113c_exc[] IS INITIAL.
DELETE FROM /pws/zycbt113 WHERE nrseq = /pws/zycbe112-nrseq
AND tpparc = 'C'.
LOOP AT itab_zycbt113c.
INSERT INTO /pws/zycbt113 VALUES itab_zycbt113c.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FORM SAVE_ZYCBT113_COMISSAO
ENDIF.
* << Fim da inclusão
COMMIT WORK.
v_nparc = 0.
LOOP AT itab_zycbt113_ant.
v_nparc = v_nparc + 1.
itab_zycbt113_ant-nrparc = v_nparc.
MODIFY itab_zycbt113_ant.
ENDLOOP.
CLEAR : itab_zycbt113c, itab_zycbt113_aux.
REFRESH : itab_zycbt113_aux.
MOVE : itab_zycbt113c[] TO itab_zycbt113_aux[].
READ TABLE itab_zycbt113_ant INDEX 1.
* >> Início da exclusão: FORM SAVE_ZYCBT113_COMISSAO
IF ( itab_zycbt113_aux[] NE itab_zycbt113_ant[] ) OR
( /pws/zycbe112-fpagto_c <> wa_zycbt112-fpagto_c ) OR
( /pws/zycbe112-fpagto_c EQ 'P'
AND itab_zycbt113_ant-belnr_c NE ' ' ).
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_ZYCBT113_COMISSAO
IF ( itab_zycbt113_aux[] NE itab_zycbt113_ant[] OR
/pws/zycbe112-fpagto_c NE wa_zycbt112-fpagto_c OR
( /pws/zycbe112-fpagto_c EQ 'P' AND
itab_zycbt113_ant-belnr_c NE ' ' ) ) AND
itab_zycbt113c_exc[] IS INITIAL.
* << Fim da inclusão
* >> Início da exclusão: FORM SAVE_ZYCBT113_COMISSAO
MOVE: /pws/zycbe112-fpagto_c TO wa_zycbt112-fpagto_c .
* << Fim da exclusão
MOVE: itab_zycbt113_aux[] TO itab_zycbt113_ant[].
DESCRIBE TABLE itab_zycbt113_ant LINES v_nrlines.
IF NOT v_nrlines IS INITIAL.
PERFORM reverse_document_zycbt113.
IF /pws/zycbe112-fpagto_c <> 'P' AND
/pws/zycbe112-fpagto_c NE 'D'.
PERFORM fill_date_f02.
ENDIF.
ELSE.
IF /pws/zycbe112-fpagto_c <> 'P' AND
...
...
ENDIF.
ENDLOOP.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i254 WITH itab_zycbt034-descricao
v_codeven.
ENDLOOP.
ENDIF.
ENDIF.
PERFORM clear_date_batch.
* >> Início da exclusão: FORM FILL_DATE_F02
REFRESH itab_zycbt113_ant.
LOOP AT itab_zycbt113c.
CLEAR itab_zycbt113_ant.
MOVE-CORRESPONDING itab_zycbt113c TO itab_zycbt113_ant.
APPEND itab_zycbt113_ant.
ENDLOOP.
* << Fim da exclusão
ENDFORM.
FORM get_parameters_113.
CONCATENATE text-019 text-021 INTO v_codeven.
CLEAR wa_zycbt007.
SELECT SINGLE * FROM /pws/zycbt007
INTO wa_zycbt007
WHERE bukrs EQ /pws/zycbe112-bukrs.
REFRESH itab_zycbt013.
SELECT * FROM /pws/zycbt013
INTO TABLE itab_zycbt013
...
...
itab_zycbt113_ant-nrparc INTO v_cpochv.
READ TABLE itab_zycbt032 WITH KEY tcode = 'FB08'
tabela = text-051
cpochv = v_cpochv
tpmsg = 'S'.
IF sy-subrc EQ 0.
MESSAGE i030 WITH itab_zycbt113_ant-belnr_c.
CLEAR itab_zycbt113c-belnr_c.
MODIFY itab_zycbt113c TRANSPORTING belnr_c
WHERE nrparc = itab_zycbt113_ant-nrparc.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT113
UPDATE /pws/zycbt113 SET belnr_c = itab_zycbt113c-belnr_c
WHERE nrseq = itab_zycbt113_ant-nrseq
AND tpparc = 'C'
AND nrparc = itab_zycbt113_ant-nrparc.
* << Fim da inclusão
v_f02 = 'X'.
ELSE.
LOOP AT itab_zycbt032 WHERE cpochv = v_cpochv.
MESSAGE i015 WITH itab_zycbt032-msg.
ENDLOOP.
PERFORM popup_message USING text-009 text-006.
IF v_answer = 'J'.
CLEAR itab_zycbt113c-belnr_c.
MODIFY itab_zycbt113c TRANSPORTING belnr_c
WHERE nrparc = itab_zycbt113_ant-nrparc.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCM101I01
...
CASE sy-dynnr .
WHEN '0104'.
CLEAR v_boleto_p.
READ TABLE itab_zycbt113c WITH KEY mark = 'X'.
IF sy-subrc EQ 0.
LOOP AT itab_zycbt113c WHERE mark EQ 'X'.
PERFORM checa_boleto.
MOVE itab_zycbt113c TO itab_zycbt113c_exc.
APPEND itab_zycbt113c_exc.
ENDLOOP.
* >> Início da inclusão: MODULE USER_COMMAND_0104
IF v_dele IS INITIAL AND v_boleto_p IS INITIAL.
DELETE itab_zycbt113c WHERE mark EQ 'X'.
ENDIF.
* << Fim da inclusão
DESCRIBE TABLE itab_zycbt113c LINES n.
IF n = 0.
CLEAR: /pws/zycbe112-percomis, /pws/zycbe112-vlcomis,
/pws/zycbe112-fpagto_c, /pws/zycbe112-tpcomis,
* >> Início da exclusão: MODULE USER_COMMAND_0104
/pws/zycbe112-tptaxa.
ENDIF.
IF v_dele IS INITIAL AND v_boleto_p IS INITIAL.
DELETE itab_zycbt113c WHERE mark EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0104
/pws/zycbe112-tptaxa,
/pws/zycbe112-nrparc.
ELSE.
/pws/zycbe112-nrparc = n.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDCASE.
WHEN 'P--'.
tc_com-top_line = tc_com-top_line - tc_com-lines.
WHEN 'P-'.
tc_com-top_line = tc_com-top_line - 8.
WHEN 'P+'.
tc_com-top_line = tc_com-top_line + 8.
WHEN 'P++'.
...