CE PLUS - Nota 010636

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Rotina Mensal

Data/Hora da Publicação: 30/09/2010 00:00:00

Data/Hora Última Alteração: 18/02/2011 17:12:56

Descrição da Nota: ROTINA MENSAL EXP-CLEARING-ERRO JUROS ACC X PRÉ E SEPARAÇÃO ACC/ACE

Sintoma

Na Rotina Mensal quando o parametro Geral Separação do Cálculo de ACC e ACE e Contabilização

Separada de ACC e ACE estão SIM não está calculando o valor da Diferença a Provisional e o valor

está aparecendo com sinal negativo.

Juros de contrato gerado no ACC x Pré e Contrato de ACC gerado normalmente.

 

 

Solução

- Ajustar lógica para que considere corretamente as contas de ACC e ACE e seus respectivos valores.

- Criar o campo NRPARC na tabela /PWS/ZYCBT062, para que encontre o registro correspondente na

tabela /PWS/ZYCBT004, trazendo na tela, quando Rotina Mensal, só o que não foi pago. Na opção

Relatório irá trazer tudo, pago e não pago, igual já faz com os contratos normais(não gerado no acc

x pré).

- Ajustar a leitura da tabela /PWS/ZYCBT004 para que considere o tipo de despesa JL e não J, assim

encontra corretamente a conta contábil para gerar a provisão.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

ROTINA MENSAL EXPORTAÇÃO - ACERTOS SEPARAÇÃO ACC/ACE

ROTINA MENSAL EXPORTAÇÃO-SEPARAÇÃO ACC/ACE-NÃO DEDUZ VALOR PROVISIONADO

ROTINA MENSAL EXPORTAÇÃO - JUROS ACC X PRÉ

ROTINA MENSAL EXPORTAÇÃO - EXIBIR RELATÓRIO COM TODO HISTÓRICO DA ROTINA

CODE INSPECTOR(ROTINA MENSAL)

DA - DATA CREDITO NO EXTERIOR NA VINCULAÇÃO- PRÉ-PAGAMENTO SECURITIZAÇÃO

ROTINA MENSAL EXPORTAÇÃO - CONTA DÉBITO NA MÃO COM 17 CARACTERES

ROTINA DE PAGAMENTO, PROVISÃO DE JUROS, CONTABILIDADE

ROTINA MENSAL EXPORTAÇÃO - CAMPO DATA OBRIGATÓRIO

ROTINA MENSAL DE EXPORTAÇÃO - JUROS ACC X PRÉ

DESENVOLVIMENTO ADICIONAL - ESTORNO DA ROTINA MENSAL.

ROTINA MENSAL IMPORTAÇÃO / EXPORTAÇÃO / FINANCEIRO MENSAGENS DE RETORNO

ROTINA MENSAL EXPORTAÇÃO CONTABILIZAÇÃO SEPARADA DE ACC E ACE = SIM

ROTINA MENSAL EXPORTAÇÃO - RETIRAR FILTRO /PWS/ZYCBT154 POR GSBER

Informações Complementares

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

Nota Número 10636 Data: 30/09/2010 Hora: 08:31:39

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

 

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

Nota Número              : 10636

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00005

Agrupamento              : 00041

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

Referência às notas relacionadas:

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

 

01309  - 00001 - 6.0    - 00023  - ROTINA MENSAL EXPORTAÇÃO CONTABILIZAÇÃO SEPARADA DE ACC E ACE = S

03221  - 00002 - 6.0    - 00026  - ROTINA MENSAL EXPORTAÇÃO - CONTA DÉBITO NA MÃO COM 17 CARACTERES

03450  - 00003 - 7.0    - 00001  - DESENVOLVIMENTO ADICIONAL - ESTORNO DA ROTINA MENSAL.

03651  - 00004 - 7.0    - 00001  - ROTINA MENSAL DE EXPORTAÇÃO - JUROS ACC X PRÉ

03938  - 00005 - 7.0    - 00002  - ROTINA MENSAL EXPORTAÇÃO - CAMPO DATA OBRIGATÓRIO

04193  - 00006 - 7.0    - 00002  - ROTINA MENSAL EXPORTAÇÃO - JUROS ACC X PRÉ

04930  - 00007 - 7.0    - 00003  - CODE INSPECTOR(ROTINA MENSAL)

06809  - 00008 - 7.0    - 00006  - ROTINA MENSAL EXPORTAÇÃO - RETIRAR FILTRO /PWS/ZYCBT154 POR GSBER

07111  - 00009 - 7.0    - 00006  - ROTINA MENSAL EXPORTAÇÃO - ACERTOS SEPARAÇÃO ACC/ACE

08164  - 00010 - 7.0    - 00008  - DA - DATA CREDITO NO EXTERIOR NA VINCULAÇÃO- PRÉ-PAGAMENTO SECURI

08278  - 00011 - 7.0    - 00009  - ROTINA DE PAGAMENTO, PROVISÃO DE JUROS, CONTABILIDADE

08284  - 00012 - 7.0    - 00009  - ROTINA MENSAL EXPORTAÇÃO-SEPARAÇÃO ACC/ACE-NÃO DEDUZ VALOR PROVIS

09825  - 00013 - 8.0    - 00002  - ROTINA MENSAL IMPORTAÇÃO / EXPORTAÇÃO / FINANCEIRO  MENSAGENS DE

10538  - 00014 - 8.0    - 00004  - ROTINA MENSAL EXPORTAÇÃO - EXIBIR RELATÓRIO COM TODO HISTÓRICO DA

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

ROTINA MENSAL EXP-CLEARING-ERRO JUROS ACC X PRÉ E SEPARAÇÃO ACC/ACE

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

Palavras Chave:

ROTINA MENSAL EXP CLEARING ERRO JUROS ACC X PRÉ E SEPARAÇÃO ACC/ACE

ROTINA MENSAL EXPORTAÇÃO

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

Objetos da nota:

REPS /PWS/ZYCBI003

REPS /PWS/ZYCBR003

 

TABD /PWS/ZYCBE062

TABD /PWS/ZYCBT062

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

Modificações efetuadas em TABD /PWS/ZYCBE062

 

DESCRIÇÃO BREVE: CB - Juros do Pré Pagamento

 

COMPONENTES NOVOS

COMPONENTE:     TP. COMP:      TAB.REF.:       CPO.REF.:    AJUD. PESQU.

NRPARC          /PWS/ZYCBL047

 

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

Modificações efetuadas em TABD /PWS/ZYCBT062

 

DESCRIÇÃO BREVE: CB - Juros do Pré Pagamento

 

CARACTERÍSTICAS

 

CATEGORIA DA TABELA: Tabela transparente

CLASSE DE ENTREGA:

(A) - AUTUALIZAÇÃO DE TABELAS PERMITIDA

 

CAMPOS NOVOS

CAMPOS:         TP. CAMPO   CH: INI: TAB.VERIF.:    TAB.REF.:     CPO.RE

NRPARC          /PWS/ZYCBL047

 

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

Modificações efetuadas em REPS /PWS/ZYCBI003

 

...

    ENDIF.

    IF itab_relat-vlmeir > 0.

      v_vlmeir2 = v_vlmeir2 + itab_relat-vlmeir.

    ENDIF.

    AT END OF ftpj.

      PERFORM verifica_provisao_liquidacao CHANGING v_separa.

      IF wa_zycbt007-fprovisao        EQ 'C'     AND

         ( /pws/zyglt009-calc_rot_sep EQ 'S'     OR

           /pws/zyglt009-cont_rot_sep EQ 'S' )   AND

         aux_relat-tpcontab           IS INITIAL AND

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

          aux_relat-vlmej              GT 0      AND

* << Fim da inclusão

         ( aux_relat-tpcontr          EQ 'A'     OR

           aux_relat-tpcontr          EQ 'E' )   AND

         v_separa                     EQ 'X'.

        CLEAR: v_vlrjprov, v_vlirprov.

        LOOP AT itab_zycbt154 WHERE nrcorresp EQ aux_relat-nrseqc

                                AND bukrs     EQ aux_relat-bukrs

                                AND waers     EQ aux_relat-waers

                                AND tpcontr   EQ aux_relat-tpcontr

                                AND codmodul  NE 'C'

                                AND codmodul  NE 'CD'

...

 

...

          IF v_conta_dif IS INITIAL.

            IF itab_zycbt154-belnr_cl IS INITIAL.

              IF itab_zycbt154-codmodul EQ 'IR'.

                ADD itab_zycbt154-vlme TO v_vlirprov.

              ELSE.

                ADD itab_zycbt154-vlme TO v_vlrjprov.

              ENDIF.

            ENDIF.

          ENDIF.

        ENDLOOP.

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

        IF sy-subrc NE 0.

          PERFORM verifica_conta_acc_ace CHANGING v_conta_dif

                                                  v_conta_dif_parametro.

        ENDIF.

* << Fim da inclusão

        LOOP AT itab_relat_aux WHERE nrseqc   EQ itab_relat-nrseqc

                                 AND tpcontab EQ itab_relat-tpcontab

                                 AND ftpj     NE itab_relat-ftpj.

          EXIT.

        ENDLOOP.

        IF sy-subrc   NE 0 OR NOT v_conta_dif_parametro IS INITIAL OR

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

           ( sy-subrc EQ 0 AND itab_relat_aux-ftpj <>

                               itab_relat-ftpj ).

* << Fim da exclusão

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

           ( sy-subrc EQ 0 AND itab_relat-ftpj = 'E' ).

* << Fim da inclusão

          itab_relat-vlrprov  = v_vlmej2 - v_vlrjprov.

          itab_relat-vlirprov = v_vlmeir2 - v_vlirprov.

          MODIFY itab_relat INDEX v_sytabix

                            TRANSPORTING vlrprov vlirprov.

          CLEAR: v_vlmej2, v_vlmeir2.

        ENDIF.

      ENDIF.

      IF NOT v_conta_dif_parametro IS INITIAL.

        CLEAR: v_vlmej2, v_vlmeir2.

      ENDIF.

...

 

...

                     /pws/zyglt009-cont_rot_sep EQ 'S' )   AND

                   aux_relat-tpcontab           IS INITIAL AND

                   ( aux_relat-tpcontr          EQ 'A'     OR

                     aux_relat-tpcontr          EQ 'E' )   AND

                   v_separa                     EQ 'X' ).

            IF itab_relat-vlmej > 0.

              itab_relat-vlrprov  = itab_relat-vlmej - v_vlrjprov.

            ELSE.

              itab_relat-vlrprov  = ( itab_relat-vlmej + v_tjuros ) -

                                      v_vlrjprov.

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

              itab_relat-vlrprov = ( itab_relat-vlrprov + v_vlrjprov )

                                   - v_tjuros.

* << Fim da inclusão

            ENDIF.

            itab_relat-vlrjprov = v_vlrjprov.

            itab_relat-vlirprov  = itab_relat-vlmeir - v_vlirprov.

            MODIFY itab_relat INDEX v_sytabix

                   TRANSPORTING vlrprov vlirprov.

          ENDIF.

        ELSE.

          itab_relat-vlirprov = itab_relat-vlmeir.

          itab_relat-vlrprov = itab_relat-vlmej.

          MODIFY itab_relat INDEX v_sytabix TRANSPORTING

...

 

...

  CLEAR v_codaux1.

  IF /pws/zyglt009-provjur_moeda = 'X' AND

     itab_relat-waers = wa_zycbt007-waersa.

    CONCATENATE 'JUROS C' wa_zycbt007-waersa

                INTO v_codaux1 SEPARATED BY space.

  ELSE.

    v_codaux1 = 'JUROS C'.

  ENDIF.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

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

            bukrs           = itab_zycbt004-bukrs

* << Fim da exclusão

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

            bukrs           = itab_zycbt001-bukrs

* << Fim da inclusão

            ktosl           = 'PVE'

            codaux1         = v_codaux1

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

            codaux2         = itab_zycbt004-tpcontr

* << Fim da exclusão

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

            codaux2         = itab_zycbt001-tpcontr

* << Fim da inclusão

            codaux3         = v_codaux3

       TABLES

            account         = itab_contas

       EXCEPTIONS

            key_not_found   = 1

            rules_not_found = 2

            OTHERS          = 3.

  IF sy-subrc = 0.

    READ TABLE itab_contas INDEX 1.

    itab_relat-c_newko = itab_contas-konth.

  ENDIF.

  CLEAR v_codaux1.

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

  IF NOT itab_zycbt004-tpdesp IS INITIAL.

* << Fim da inclusão

  IF /pws/zyglt009-provjur_moeda = 'X' AND

     itab_relat-waers = wa_zycbt007-waersa.

    CONCATENATE itab_zycbt004-tpdesp wa_zycbt007-waersa

                INTO v_codaux1 SEPARATED BY space.

  ELSE.

    v_codaux1 = itab_zycbt004-tpdesp.

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

    ENDIF.

  ELSE.

    IF /pws/zyglt009-provjur_moeda = 'X' AND

       itab_relat-waers = wa_zycbt007-waersa.

      CONCATENATE v_jl wa_zycbt007-waersa

                  INTO v_codaux1 SEPARATED BY space.

    ELSE.

      v_codaux1 = v_jl.

    ENDIF.

* << Fim da inclusão

  ENDIF.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

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

            bukrs           = itab_zycbt004-bukrs

* << Fim da exclusão

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

            bukrs           = itab_zycbt001-bukrs

* << Fim da inclusão

            ktosl           = 'DSE'

            codaux1         = v_codaux1

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

            codaux2         = itab_zycbt004-tpcontr

* << Fim da exclusão

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

            codaux2         = itab_zycbt001-tpcontr

* << Fim da inclusão

            codaux3         = v_codaux3

       TABLES

            account         = itab_contas

       EXCEPTIONS

            key_not_found   = 1

            rules_not_found = 2

            OTHERS          = 3.

  IF sy-subrc = 0.

    READ TABLE itab_contas INDEX 1.

    itab_relat-d_newko = itab_contas-konts.

  ENDIF.

  IF /pws/zyglt009-cont_rot_sep EQ 'S'.

    IF itab_zycbt004-tpcontr(1) EQ 'A' AND

       itab_zycbt004-tpjuros    EQ 'E'.

      v_codeven = '005E'.

    ELSE.

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

      CONCATENATE '005' itab_zycbt004-tpcontr INTO v_codeven.

* << Fim da exclusão

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

      CONCATENATE '005' itab_zycbt001-tpcontr INTO v_codeven.

* << Fim da inclusão

    ENDIF.

  ELSE.

    CONCATENATE '005' itab_zycbt001-tpcontr INTO v_codeven.

  ENDIF.

  READ TABLE itab_zycbt011 WITH KEY codeven = v_codeven.

  itab_relat-blart   = itab_zycbt011-blart.

  itab_relat-d_sgtxt = itab_zycbt011-txtdesc.

  itab_relat-c_sgtxt = itab_zycbt011-txtdesc.

ENDFORM.

FORM exibe_top_relatorio.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBR003

 

...

  v_defator       LIKE tcurr-ffact,

  v_parafator     LIKE tcurr-tfact,

  v_separa        TYPE c,

  v_vlprov_aux    LIKE /pws/zycbt004-vlme,

  v_fprov         TYPE /pws/zycbt007-fprovisao,

  v_liq           TYPE c.

DATA: v_jace       TYPE c,

      v_dtpagto    TYPE sy-datum.

DATA: v_vinculacao TYPE c.

DATA: v_msg(150) TYPE c.

* >> Início da inclusão:

CONSTANTS: v_jl(2) TYPE c VALUE 'JL'.

* << Fim da inclusão

SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-001.

PARAMETERS: s_bukrs  LIKE /pws/zycbt001-bukrs OBLIGATORY,

            s_dtentr LIKE sy-datum OBLIGATORY.

PARAMETERS: p_agrup AS CHECKBOX.

SELECTION-SCREEN END OF BLOCK a1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-046.

PARAMETERS: s_rbrotm RADIOBUTTON GROUP rg1,

           s_rbrotd RADIOBUTTON GROUP rg1,

           s_rbrela RADIOBUTTON GROUP rg1.

SELECTION-SCREEN END OF BLOCK b2.

...

 

...

    ENDLOOP.

    LOOP AT itab_zycbt004 WHERE nrseqc = itab_zycbt001-nrseqc.

      PERFORM preenche_itab_relat_pago.

    ENDLOOP.

    CLEAR itab_zycbt005.

  ENDLOOP.

  CLEAR itab_zycbt001.

ENDFORM.

FORM preenche_itab_relat_pago.

  CLEAR itab_relat.

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

  IF NOT itab_zycbt004-dtpagto IS INITIAL AND

     s_rbrela IS INITIAL.

    EXIT.

  ENDIF.

* << Fim da inclusão

  itab_relat-nrseqc  = itab_zycbt001-nrseqc.

  itab_relat-nrcontr = itab_zycbt001-nrcontr.

  itab_relat-tpcontr = itab_zycbt001-tpcontr.

  itab_relat-nrparcj = itab_zycbt004-nrparc.

  IF itab_zycbt001-tpcontr(1) EQ 'P' OR

     itab_zycbt001-tpcontr(1) EQ 'S'.

    CLEAR itab_relat-nrinvoic.

  ELSE.

    READ TABLE itab_zycbt005 WITH KEY nrseqc   = itab_zycbt004-nrseqc

                                      nrparc   = itab_zycbt004-nrparc

...

 

...

            key_not_found   = 1

            rules_not_found = 2

            OTHERS          = 3.

  CASE sy-subrc.

    WHEN 1.

    WHEN 2.

    WHEN 3.

  ENDCASE.

  READ TABLE itab_contas INDEX 1.

  IF sy-subrc = 0.

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

    IF NOT itab_zycbt154-d_newko IS INITIAL.

* << Fim da inclusão

    IF itab_zycbt154-d_newko NE itab_contas-konts.

      p_conta_dif = 'X'.

    ENDIF.

    IF itab_zycbt154-d_newko+7 EQ itab_contas-konts.

      CLEAR p_conta_dif.

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

      ENDIF.

* << Fim da inclusão

    ENDIF.

  ELSE.

...

 

...

      itab_relat-dtate = itab_zycbt060-dtdesemb.

    ENDIF.

  ENDIF.

  itab_relat-bukrs    = itab_zycbt001-bukrs.

  itab_relat-gsber    = itab_zycbt001-gsber.

  itab_relat-bco      = itab_zycbt001-bconegoc.

  itab_relat-txjtotal = itab_zycbt062-txjtotal.

  itab_relat-vlme     = itab_zycbt062-vlme.

  itab_relat-ftpj     = 'A'.

  itab_relat-waers    = itab_zycbt001-waers.

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

  clear itab_zycbt004.

* << Fim da inclusão

  READ TABLE itab_zycbt004 WITH KEY

                              nrseqc = itab_zycbt062-nrseq_c

                              tpdesp = 'J'

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

                              nrparc = v_nrparc

                              dtincl = itab_zycbt062-dtincl.

  IF sy-subrc NE 0.

    v_nrparc = itab_zycbt062-nrparc.

    READ TABLE itab_zycbt004 WITH KEY

                                nrseqc = itab_zycbt062-nrseq_c

                                tpdesp = 'JL'

* << Fim da inclusão

                              nrparc = v_nrparc

                              dtincl = itab_zycbt062-dtincl.

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

  ENDIF.

  IF sy-subrc = 0 AND

     NOT itab_zycbt004-dtpagto IS INITIAL AND

     s_rbrela IS INITIAL.

    EXIT.

  ENDIF.

* << Fim da inclusão

  PERFORM preenche_contas_pgto.

  v_liq = 'X'.

  PERFORM processa_calculo_juros USING itab_zycbt062-vlme

                                       itab_zycbt062-txjtotal

                                       itab_zycbt062-tptxjur

                                       itab_relat-dtde

                                       itab_relat-dtate

                                       itab_zycbt001-waers

                                       itab_zycbt011-ctmoed

                                       'A'.

...