CE PLUS - Nota 002756

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Relatórios

Data/Hora da Publicação: 26/12/2006 00:00:00

Data/Hora Última Alteração: 18/02/2011 15:45:03

Descrição da Nota: REL CÂMBIOS FECHADOS - COLUNAS "TX JUROS BRL" E "JUROS BRL" EM BRANCO.

Sintoma

Ao executar o Relatório de Câmbios Fechados (/PWS/ZYCBR047) para ACC e ACE, os valores das colunas

"Tx Juros BRL" e "Juros BRL" aparecem em branco quando o pagamento dos juros é feito pela rotina de

pagto,ou seja, qdo os juros são pagos através do complemento do boleto,essas duas colunas ficam em

branco.

 

 

Solução

Ajuste efetuado para a busca do fator de conversão para calcular o valor MI do juros será realizada

pela data de pagamento do juros, que esta na tabela /pws/zycbt004

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 02756 Data: 26/12/2006 Hora: 11:26:30

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

 

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

Nota Número              : 02756

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00026

Agrupamento              : 00145

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

REL CÂMBIOS FECHADOS - COLUNAS "TX JUROS BRL" E "JUROS BRL" EM BRANCO.

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

Palavras Chave:

REL CÂMBIOS FECHADOS - COLUNAS "TX JUROS BRL" E "JUROS BRL" EM BRANCO.

 

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

Objetos da nota:

REPS /PWS/ZYCBR047

 

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

Modificações efetuadas em REPS /PWS/ZYCBR047

 

...

      END OF i_final.

DATA: BEGIN OF itab_lfa1 OCCURS 0.

        INCLUDE STRUCTURE lfa1.

DATA: END OF itab_lfa1.

DATA: BEGIN OF itab_zycbt003 OCCURS 0,

        nrseqc      LIKE /pws/zycbt003-nrseqc,

        tppror      LIKE /pws/zycbt003-tppror,

        dtpror      LIKE /pws/zycbt003-dtpror,

        nrcontr     LIKE /pws/zycbt003-nrcontr.

DATA: END OF itab_zycbt003.

* >> Início da inclusão:

DATA: BEGIN OF itab_zycbt064 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt064.

DATA: END OF itab_zycbt064.

DATA: BEGIN OF itab_zycbt031 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt031.

DATA: END OF itab_zycbt031.

* << Fim da inclusão

DATA: v_data(14)    TYPE c,

      v_type        LIKE tcurr-kurst,

      v_nrdias(4)   TYPE c,

      v_vlrjur      LIKE /pws/zycbt005-vljur,

      v_tvlvinc     LIKE /pws/zycbt001-vlme,

      v_tjurme      LIKE /pws/zycbt005-vljur,

      v_tjurbrl     LIKE /pws/zycbt005-vljur,

      v_moeda       LIKE /pws/zycbt001-waers,

      v_dtfech(10)  TYPE c,

      v_dtfech2(10) TYPE c,

      v_titulo(70)  TYPE c,

      v_fat         TYPE c,

      v_salpgo      LIKE /pws/zycbt001-vlme,

      v_jurapgme    LIKE /pws/zycbt005-vljur,

      v_jurapgbrl   LIKE /pws/zycbt005-vljur,

      v_dtpror      LIKE /pws/zycbt003-dtpror,

      v_vlme        TYPE /pws/zycbt001-vlme,

* >> Início da exclusão:

      v_impr(1)     TYPE c.

* << Fim da exclusão

* >> Início da inclusão:

      v_impr(1)     TYPE c,

      v_defator     TYPE tcurr-ffact,

      v_parafator   TYPE tcurr-ffact.

* << Fim da inclusão

CONSTANTS: c_ctmoed VALUE 'M'.

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

SELECT-OPTIONS: s_nrcont   FOR  /pws/zycbt001-nrcontr

                           MATCHCODE OBJECT /pws/zycba053,

                s_bukrs    FOR  /pws/zycbt001-bukrs,

                s_werks    FOR  /pws/zycbt001-werks,

                s_gsber    FOR  /pws/zycbt001-gsber,

                s_vkorg    FOR  /pws/zycet002-vkorg,

                s_vtweg    FOR  /pws/zycet002-vtweg,

                s_spara    FOR  /pws/zycet002-spara,

...

 

...

  ELSE.

    MESSAGE i222.

    STOP.

  ENDIF.

  SELECT SINGLE * FROM /pws/zycbt007

                  WHERE bukrs IN s_bukrs.

  v_type = c_ctmoed.

  SELECT SINGLE * FROM /pws/zycbt009

         WHERE codpadr EQ v_type.

  MOVE /pws/zycbt009-kurst TO v_type.

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

  IF NOT itab_zycbt005[] IS INITIAL.

    SELECT * FROM /pws/zycbt064 INTO TABLE itab_zycbt064

             FOR ALL ENTRIES IN itab_zycbt005

             WHERE nrinvoic  = itab_zycbt005-nrinvoic

               AND nrparcf   = itab_zycbt005-nrparcf

               AND nrparc    = itab_zycbt005-nrparc

               AND dtvencto  = itab_zycbt005-dtvencto

               AND gsberf    = itab_zycbt005-gsberf

               AND tpdesp    = 'J'

               AND mdcorresp = 'ED'.

    IF NOT itab_zycbt064[] IS INITIAL.

      SELECT * FROM /pws/zycbt031 INTO TABLE itab_zycbt031

               FOR ALL ENTRIES IN itab_zycbt064

               WHERE nrseq = itab_zycbt064-nrboleto.

    ENDIF.

  ENDIF.

* << Fim da inclusão

ENDFORM.

FORM imprime_relatorio.

  CLEAR: v_impr,

         itab_erro.

  REFRESH: itab_erro.

  DATA: v_credext LIKE /pws/zycbt006-dtpagext.

  SORT itab_zycbt001 BY nrcontr bukrs.

  SORT itab_zycbt002 BY nrseqc.

  SORT itab_zycbt005 BY nrseqc.

  SORT itab_zycbt006 BY nrseqc.

...

 

...

    ENDIF.

    MOVE:

       itab_zycbt001-nrcontr TO itab_erro-nrcontr,

       itab_zycbt001-tpcontr TO itab_erro-tpcontr,

       itab_zycbt001-dtcontr TO itab_erro-dtcontr,

       itab_zycbt001-bukrs   TO itab_erro-bukrs.

    APPEND itab_erro.

  ENDIF.

ENDFORM.

FORM calcula_juros.

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

  v_vlrjur = itab_zycbt004-vlme * itab_zycbt043-kursf.

* << Fim da exclusão

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

  v_vlrjur = ( ( itab_zycbt043-kursf / v_defator ) * v_parafator )

             * itab_zycbt004-vlme.

* << Fim da inclusão

  IF NOT itab_zycbt043-dtincl IS INITIAL.

    v_tjurme = v_tjurme + itab_zycbt004-vlme.

    v_tjurbrl = v_tjurbrl + v_vlrjur.

  ENDIF.

ENDFORM.

FORM imprime_total1.

  v_moeda = itab_zycbt001-waers.

  ULINE (329).

  SKIP.

  ULINE (43).

...

 

...

      IF itab_zycbt017-credext NE '00000000' AND

         itab_zycbt001-dtcred  NE '00000000'.

        v_nrdias = itab_zycbt017-credext - itab_zycbt001-dtcred.

      ENDIF.

      READ TABLE itab_zycbt004 WITH KEY

            nrseqc   = itab_zycbt005-nrseqc

            nrinvoic = itab_zycbt005-nrinvoic

            nrparc   = itab_zycbt005-nrparc

            dtincl   = itab_zycbt005-dtvincul.

      IF sy-subrc EQ 0 AND itab_zycbt004-dtpagto <> '00000000'.

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

        PERFORM busca_fator_conversao USING    itab_zycbt004-vlme

                                               itab_zycbt004-waers

                                               /pws/zycbt007-waersb

                                               v_type

                                               itab_zycbt004-dtpagto

                                      CHANGING v_defator

                                               v_parafator.

* << Fim da inclusão

        READ TABLE itab_zycbt044 WITH KEY

                  nrseqc   = itab_zycbt005-nrseqc

                  dtincl   = itab_zycbt005-dtvincul

                  nrinvoic = itab_zycbt005-nrinvoic

                  nrparcf  = itab_zycbt005-nrparcf

                  nrparc   = itab_zycbt005-nrparc

                  tpdesp   = 'J'.

        READ TABLE itab_zycbt043 WITH KEY

                nrpagto = itab_zycbt044-nrpagto BINARY SEARCH.

        IF sy-subrc EQ 0.

          PERFORM calcula_juros.

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

        ELSE.

          LOOP AT itab_zycbt064 WHERE nrchave   = itab_zycbt005-nrseqc

                                  AND nrinvoic  = itab_zycbt005-nrinvoic

                                  AND nrparcf   = itab_zycbt005-nrparcf

                                  AND nrparc    = itab_zycbt005-nrparc

                                  AND dtliquid  = itab_zycbt006-dtpagto

                                  AND dtvencto  = itab_zycbt005-dtvencto

                                  AND gsberf    = itab_zycbt005-gsberf

                                  AND tpdesp    = 'J'

                                  AND mdcorresp = 'ED'.

            READ TABLE itab_zycbt031 WITH KEY

                                     nrseq = itab_zycbt064-nrboleto.

            IF sy-subrc = 0.

              v_vlrjur = v_vlrjur +

                         ( ( itab_zycbt031-kursf / v_defator ) *

                           v_parafator ) * itab_zycbt064-vlme.

              i_result-kursf = itab_zycbt031-kursf.

            ENDIF.

          ENDLOOP.

* << Fim da inclusão

        ENDIF.

      ENDIF.

      MOVE: itab_zycbt001-nrcontr TO i_result-nrcontr,

            itab_zycbt001-tpcontr TO i_result-tpcontr,

            itab_zycbt016-txtdesc TO i_result-txtdesc,

            itab_zycbt001-nrseqc  TO i_result-nrseqc,

            itab_zycbt001-dtcontr TO i_result-dtcontr,

            itab_zycbt001-bukrs   TO i_result-bukrs,

            itab_zycbt001-waers   TO i_result-waers.

      MOVE: itab_zycbt001-txcneg  TO i_result-txcneg,

...

 

...

          PERFORM converte_moeda USING itab_zycbt005-waers_c

                                  /pws/zycbt007-waersa

                                  itab_zycbt005-vlvinc

                                 itab_zycbt001-dtcontr

                                 CHANGING i_result-vlvincusd.

        ENDIF.

      ENDIF.

      SELECT SINGLE name1 FROM kna1 INTO i_result-kunag

            WHERE kunnr = itab_zycbt017-kunag.

      MOVE: itab_zycbt017-vlcomis TO i_result-vlcomis,

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

            itab_zycbt004-vlme    TO i_result-vljrs,

* << Fim da exclusão

            v_vlrjur              TO i_result-vljrsbr,

            v_dtpagext            TO i_result-credext,

            v_nrdias              TO i_result-nrdias,

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

            itab_zycbt043-kursf   TO i_result-kursf,

* << Fim da exclusão

            itab_zycbt004-dtpagto TO i_result-dtpagto.

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

      CLEAR: i_result-vljrs.

      LOOP AT itab_zycbt004 WHERE nrseqc   = itab_zycbt005-nrseqc

                              AND tpdesp   = 'J'

                              AND nrparc   = itab_zycbt005-nrparc

                              AND dtincl   = itab_zycbt005-dtvincul

                              AND dtliquid = itab_zycbt006-dtpagto

                              AND nrinvoic = itab_zycbt005-nrinvoic

                              AND nrparcf  = itab_zycbt005-nrparcf

                              AND gsberf   = itab_zycbt005-gsberf.

        i_result-vljrs = i_result-vljrs + itab_zycbt004-vlme.

      ENDLOOP.

      IF NOT itab_zycbt043-kursf IS INITIAL.

        MOVE itab_zycbt043-kursf  TO i_result-kursf.

      ENDIF.

* << Fim da inclusão

      LOOP AT itab_zycet003 WHERE nrseq = itab_zycbt017-nrinvoic(10).

        CLEAR i_result-nrre.

        MOVE itab_zycet003-nrre TO i_result-nrre.

        APPEND i_result.

        CLEAR  i_result.

      ENDLOOP.

      IF sy-subrc <> 0.

        APPEND i_result.

        CLEAR  i_result.

      ENDIF.

...

 

...

         screen-name EQ '%_P_OTIM_%_APP_%-TEXT'  OR

         screen-name EQ '%_P_ALV_%_APP_%-TEXT'.

        screen-input = '0'.

        screen-invisible = '1'.

        MODIFY SCREEN.

      ENDIF.

    ENDLOOP.

    MOVE 'X' TO p_alv.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM busca_fator_conversao  USING    p_vlme

                                     p_waers_de

                                     p_waers_para

                                     p_categoria

                                     p_data

                            CHANGING p_defator

                                     p_parafator.

  CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'

    EXPORTING

      i_montante                   = p_vlme

      i_demoeda                    = p_waers_de

      i_paramoeda                  = p_waers_para

      i_ctmoeda                    = p_categoria

      i_dtbase                     = p_data

    IMPORTING

      e_defator                    = p_defator

      e_parafator                  = p_parafator

    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

      i_montante_nao_encontrado    = 7

      tabela_categ_nao_configurada = 8

      OTHERS                       = 9.

  IF sy-subrc NE 0.

    p_defator = p_parafator = 1.

  ENDIF.

ENDFORM.

* << Fim da inclusão