CE PLUS - Nota 000627

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Capitalização de Juros

Data/Hora da Publicação: 09/01/2006 00:00:00

Data/Hora Última Alteração: 18/02/2011 14:49:44

Descrição da Nota: CAPITALIZAÇÃO DE JUROS

Sintoma

Ref. Capitalização de Juros com ZERO dias estou retomando o GAP, sendo que você já havia informado

que existe a opção de usar o tipo de contrato ``E`` ACE, pois para esse tipo de contrato não é feita

consistência como o prazo do principal e forma de calculo de juros.

O desenvolvimento no produto seria da seguinte forma: Alterar o programa de capitalização para

aceitar o novo contrato (contrato filho - a partir da parcela de juros) seja do tipo ACE ``E``,

assim seria possível atender o cenário do cliente sem mudanças complexas no produto. Com isso a

vinculação e a liquidação da fatura estaria OK.

Para diferenciar o contrato originado da capitalização e também configurar uma conta diferente da

conta do ACE, é possível criar um tipo de contrato E1

 

 O erro ocorre quando está parametrizado Rotina mensal = Estorno mensal.

Criei a capitalização de um ACE e salvei, entrei na captação, preenchi os dados

e salvei e a contabilização foi feita corretamente. Mas no momento de estornar,

o programa faz uma F-30 de clearing de ACE e contabiliza corretamente, e depois ele

tenta fazer uma segunda F-30 onde está ocorrendo o erro, mas não deveria pois conforme

especificação para a rotina mensal de estorno, o programa deverá fazer somente o clearing

do ACE e depois já apresentar o log das contabilizações feitas no estorno.

 

 

Solução

Ajuste para deixar contrato ACE consistente

Ajustado para realizar apenas 1 contabilização

Ajuste feito para trazer o campo do centro de custo para o BI.

 

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 00627 Data: 09/01/2006 Hora: 14:03:27

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

 

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

Nota Número              : 00627

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00022

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

Texto Rápido:

CAPITALIZAÇÃO DE JUROS

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

Palavras Chave:

CAPITALIZAÇÃO DE JUROS  CONTABILIZAÇÕES

PRAZO PRINCIPAL PARCELA DE JUROS

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

Objetos da nota:

FUNC /PWS/ZYCB_TRANSACAO_F_30_W

REPS /PWS/MZYCB001F02

REPS /PWS/MZYCB001F04

REPS /PWS/MZYCB001I01

REPS /PWS/MZYCB001O01

REPS /PWS/MZYCB024F01

REPS /PWS/MZYCB024I01

REPT /PWS/SAPMZYCB001

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_W

 

...

            PERFORM bdc_field USING 'COBL-GSBER' t_dados-d_gsber.

          ENDIF.

          PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.

        ENDIF.

        IF NOT t_dados-d_gsber IS INITIAL.

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

          READ TABLE itab_oculto

            WITH KEY campo = 'COBL-KOSTL' chave = 'D'.

          IF sy-subrc <> 0.

            PERFORM bdc_field USING 'COBL-KOSTL' t_dados-d_kostl.

          ENDIF.

          PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.

        ENDIF.

        IF NOT t_dados-d_kostl IS INITIAL.

* << Fim da inclusão

          READ TABLE itab_oculto

            WITH KEY campo = 'COBL-KOSTL' chave = 'D'.

          IF sy-subrc <> 0.

            PERFORM bdc_field USING 'COBL-KOSTL' t_dados-d_kostl.

          ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001F02

 

...

                  INTO wa_zycbt011

                  WHERE codeven = v_codeven

                  AND codmod  = 'E'.

  texto_pre = wa_zycbt011-txtdesc.

  cod_rze   = wa_zycbt011-agums.

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

  IF /pws/zycbt001-tpcontr(1) CA 'PS'.

* << Fim da exclusão

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

  IF /pws/zycbt001-tpcontr(1) CA 'PSE'.

* << Fim da inclusão

    IF itab_zycbt002p-przcontr IS INITIAL.

      CONCATENATE /pws/zycbe001-tpcontr

                  /pws/zycbe001-przcontr

                  INTO v_codaux

                  SEPARATED BY space.

...

 

...

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

  APPEND itab_zycbe033.

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

  LOOP AT itab_zycbt002p.

* << Fim da exclusão

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

  LOOP AT itab_zycbt002.

* << Fim da inclusão

    PERFORM pega_contas_acc_pre CHANGING conta_acc texto_acc

                                         conta_pre texto_pre

                                         cod_rze.

    itab_partidas-tcode   = itab_zycbe033-tcode.

    itab_partidas-tabela  = itab_zycbe033-tabela.

    itab_partidas-cpochv  = itab_zycbe033-cpochv.

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

    IF itab_zycbt002p-belnr2 IS INITIAL.

      itab_partidas-belnr   = itab_zycbt002p-belnr.

* << Fim da exclusão

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

    IF itab_zycbt002-belnr2 IS INITIAL.

      itab_partidas-belnr   = itab_zycbt002-belnr.

* << Fim da inclusão

      itab_partidas-dtdocto = itab_zycbe033-budat.

    ELSE.

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

      itab_partidas-belnr   = itab_zycbt002p-belnr2.

      itab_partidas-dtdocto = itab_zycbt002p-dtvincul.

* << Fim da exclusão

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

      itab_partidas-belnr   = itab_zycbt002-belnr2.

      itab_partidas-dtdocto = itab_zycbt002-dtvincul.

* << Fim da inclusão

    ENDIF.

    itab_partidas-agkon   = conta_pre.

    itab_partidas-agkoa   = 'S'.

    itab_partidas-agums   = space.

    itab_partidas-bukrs   = /pws/zycbe001-bukrs.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001F04

 

...

          MESSAGE i015 WITH text-447 itab_zycbt032-belnr.

        ELSE.

          MESSAGE i015 WITH text-385 itab_zycbt032-belnr.

        ENDIF.

        v_belnr = itab_zycbt032-belnr.

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

        estorno_ok = 'S'.

* << Fim da inclusão

        IF /pws/zycbe001-capital EQ 'X' AND

           wa_zycbt007-fprovisao EQ 'C'.

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

          estorno_ok = 'S'.

* << Fim da exclusão

          PERFORM clearing_juros USING v_belnr.

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

        ELSE.

* << Fim da exclusão

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

        ELSEIF wa_zycbt007-fprovisao EQ 'C'.

* << Fim da inclusão

          PERFORM volta_part_banco USING v_belnr.

        ENDIF.

      ELSE.

        LOOP AT itab_zycbt032 WHERE tcode  = 'F-30' AND

                                    tabela = '/PWS/ZYCBT002' AND

...

 

...

      ELSE.

        LOOP AT itab_zycbt032.

          MESSAGE i015 WITH itab_zycbt032-msg+0(50)

                            itab_zycbt032-msg+50(50).

        ENDLOOP.

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

        CLEAR estorno_ok.

* << Fim da inclusão

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

      PERFORM clear_date_batch.

      MOVE wa_zycbt001 TO /pws/zycbe001.

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

      CLEAR estorno_ok.

* << Fim da inclusão

    ENDIF.

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

  ELSE.

    CLEAR estorno_ok.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM abre_parcelas_princ_alt USING p_belnr.

  v_belnr_pt = p_belnr.

  LOOP AT itab_zycbt002p WHERE v_flag = 'A'

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001I01

 

...

              WHERE nrseqc = v_nrseqc.

        IF /pws/zycbt001-f_pre = 'C' OR

           /pws/zycbt001-f_pre = 'X'.

          PERFORM elimina_pre_acc.

        ELSEIF /pws/zycbt001-tpcontr(1) = 'P' OR

* >> Início da exclusão: MODULE USER_COMMAND_CB001

               /pws/zycbt001-tpcontr(1) = 'S'.

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_CB001

               /pws/zycbt001-tpcontr(1) = 'S' OR

             ( /pws/zycbt001-tpcontr(1) = 'E' AND

               /pws/zycbt001-capital    = 'X' ).

* << Fim da inclusão

          PERFORM delete_zycbt001_pre1.

        ELSEIF /pws/zycbt001-tpcontr(1) = 'T'.

          PERFORM delete_zycbt001_tr.

        ELSE.

          PERFORM delete_zycbt001.

...

 

...

        CLEAR /pws/zycbe004.

        LEAVE TO SCREEN 0.

      ENDIF.

    WHEN 'ENTE'.

      IF NOT /pws/zycbe004-percdesp IS INITIAL.

* >> Início da exclusão: MODULE USER_COMMAND_0200

        /pws/zycbe004-vlme = ( /pws/zycbe004-percdesp / 100 ) *

 /pws/zycbe001-vlme.

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0200

        /pws/zycbe004-vlme =

          ( /pws/zycbe004-percdesp / 100 ) * /pws/zycbe001-vlme.

* << Fim da inclusão

      ENDIF.

    WHEN 'SAVE'.

      PERFORM save_zycbt004.

    WHEN 'LIST'.

      PERFORM seleciona_zycbt004.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001O01

 

...

ENDMODULE.

MODULE set_screen_juros OUTPUT.

  IF /pws/zycbe001-tpcontr(1) CA 'PS' AND

     /pws/zycbe001-ffrcalc(1) CA 'LC'.

    LOOP AT SCREEN.

* >> Início da exclusão: MODULE SET_SCREEN_JUROS

      IF NOT /pws/zycbe002-belnr IS INITIAL.

* << Fim da exclusão

* >> Início da inclusão: MODULE SET_SCREEN_JUROS

      IF NOT /pws/zycbe002-belnr IS INITIAL

      OR NOT /pws/zycbe002-dtpagto IS INITIAL.

* << Fim da inclusão

        screen-input = '0'.

        MODIFY SCREEN.

      ENDIF.

    ENDLOOP.

  ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB024F01

 

...

      message i015 with text-020 v_nrseq.

    endif.

    insert /pws/zycbt217 from /pws/zycbe217.

    insert /pws/zycbt218 from table itab_zycbt218.

    perform salva_zycbt001.

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

    IF /pws/zycbe217-tpcontr(1) NE 'E'.

* << Fim da inclusão

    perform salva_zycbt002.

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

    ELSE.

      PERFORM dtpagto.

    ENDIF.

* << Fim da inclusão

    commit work.

    message i205.

    v_gravado = 'X'.

  elseif sy-tcode eq '/PWS/ZYCB024_A' or v_tcode eq 'A'.

    read table itab_zycbt218 index 1.

...

 

...

         wa_zycbt217_aux ne /pws/zycbe217.

        delete from /pws/zycbt218 where nrseq = /pws/zycbe217-nrseq.

        insert /pws/zycbt218 from table itab_zycbt218.

        modify /pws/zycbt217 from /pws/zycbe217.

        perform salva_zycbt001.

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

        IF /pws/zycbe217-tpcontr(1) NE 'E'.

* << Fim da inclusão

        perform salva_zycbt002.

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

        ENDIF.

* << Fim da inclusão

        commit work.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB024I01

 

module consiste_tpcontr input.

* >> Início da exclusão: MODULE CONSISTE_TPCONTR

  if /pws/zycbe217-tpcontr(1) ca 'ACDET'.

* << Fim da exclusão

* >> Início da inclusão: MODULE CONSISTE_TPCONTR

  if /pws/zycbe217-tpcontr(1) ca 'ACDT'.

* << Fim da inclusão

    message e015 with text-001 text-002.

  endif.

endmodule.

module date_consistency input.

  data: itab_period    like casdayattr occurs 0 with header line,

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB001