CE PLUS - Nota 011570

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Rotina Mensal

Data/Hora da Publicação: 24/10/2011 10:47:56

Data/Hora Última Alteração: 24/10/2011 10:47:56

Descrição da Nota: ROTINA MENSAL EXPORTAÇÃO

Sintoma

A Rotina Mensal não exibia a subtotalização por Juros de ACC/ACE, Tipo de Contrato e Moeda

 

 

Solução

Foi incluída no programa de Rotina Mensal a subtotalização por Juros de ACC ou ACE, Tipo de Contrato

e Moeda

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

ROTINA MENSAL EXPORTAÇÃO - VALOR MI SUBTOTAL E TOTAL

ROTINA MENSAL EM JPY

ROTINA MENSAL EXPORTAÇÃO - DEDUZ JUROS, DATA PAGAMENTO EXTERIOR-LIQ/VIN

ROTINA MENSAL - SOMATÓRIA VALOR MI, TAXA DA OB08 PARA CONTABILIZAÇÃO

CALCULO DO VALOR MI PARA JPY NA ROTINA MENSAL PARA CLERING NO PAGAMENTO

Informações Complementares

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

Nota Número 11570 Data: 24/10/2011 Hora: 09:46:53

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

 

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

Nota Número              : 11570

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00009

Agrupamento              : 00091

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

Referência às notas relacionadas:

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

 

00471  - 00001 - 6.0    - 00021  - CALCULO DO VALOR MI PARA JPY NA ROTINA MENSAL PARA CLERING NO PAG

01441  - 00002 - 6.0    - 00023  - ROTINA MENSAL EXPORTAÇÃO - VALOR MI SUBTOTAL E TOTAL

04627  - 00003 - 7.0    - 00002  - ROTINA MENSAL EM JPY

09200  - 00004 - 8.0    - 00001  - ROTINA MENSAL EXPORTAÇÃO - DEDUZ JUROS, DATA PAGAMENTO EXTERIOR-L

11308  - 00005 - 8.0    - 00008  - ROTINA MENSAL - SOMATÓRIA VALOR MI, TAXA DA OB08 PARA CONTABILIZA

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

ROTINA MENSAL EXPORTAÇÃO

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

Palavras Chave:

ROTINA MENSAL EXPORTAÇÃO - SUBTOTALIZAÇÃO TIPO JUROS

 

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

Objetos da nota:

REPS /PWS/ZYCBI003

REPS /PWS/ZYCBR003

 

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

Modificações efetuadas em REPS /PWS/ZYCBI003

 

...

  DATA: BEGIN OF itab_sub_tipo OCCURS 5,

          tpcontab(02) TYPE c,

          tpcontr  LIKE /pws/zycbt001-tpcontr,

          waers    LIKE /pws/zycbt001-waers,

          vlmej    LIKE /pws/zycbt001-vlme,

          vlme_mes LIKE /pws/zycbt001-vlme,

          vlmeir   LIKE /pws/zycbt001-vlme,

          vlmij    LIKE /pws/zycbt001-vlmi,

          vlmi_mes LIKE /pws/zycbt001-vlmi,

        END OF itab_sub_tipo.

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

  DATA: BEGIN OF itab_sub_tpj OCCURS 5,

          tpcontr  LIKE /pws/zycbt001-tpcontr,

          waers    LIKE /pws/zycbt001-waers,

          ftpj     TYPE c,

          vlmej    LIKE /pws/zycbt001-vlme,

          vlmij    LIKE /pws/zycbt001-vlmi,

        END OF itab_sub_tpj.

* << Fim da inclusão

  DATA: BEGIN OF itab_total OCCURS 5,

          tpcontab(02) TYPE c,

          waers    LIKE /pws/zycbt001-waers,

          vlmej    LIKE /pws/zycbt001-vlme,

          vlme_mes LIKE /pws/zycbt001-vlme,

          vlmeir   LIKE /pws/zycbt001-vlme,

          vlmij    LIKE /pws/zycbt001-vlmi,

          vlmi_mes LIKE /pws/zycbt001-vlmi,

        END OF itab_total.

  DATA: BEGIN OF itab_sub_tipo_pr OCCURS 5,

...

 

...

          vlmej    LIKE /pws/zycbt001-vlme,

          vlme_mes LIKE /pws/zycbt001-vlme,

          vlmij    LIKE /pws/zycbt001-vlmi,

          vlmi_mes LIKE /pws/zycbt001-vlmi,

        END OF itab_total_pr.

  DATA: BEGIN OF itab_lfa1 OCCURS 0,

          lifnr LIKE lfa1-lifnr,

          name1 LIKE lfa1-name1,

        END OF itab_lfa1.

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

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

    IF s_rbrela IS INITIAL.

* << Fim da inclusão

    v_tamr = 245.

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

    ELSE.

      v_tamr = 255.

    ENDIF.

* << Fim da inclusão

  ELSE.

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

    IF s_rbrela IS INITIAL.

* << Fim da inclusão

    v_tamr = 229.

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

    ELSE.

      v_tamr = 245.

* << Fim da inclusão

  ENDIF.

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

  ENDIF.

* << Fim da inclusão

  NEW-PAGE LINE-SIZE v_tamr.

...

 

...

      CLEAR itab_relat-descbanc.

    ENDIF.

    CLEAR v_nrdias.

    IF NOT itab_relat-dtate IS INITIAL AND

       NOT itab_relat-dtde  IS INITIAL.

      v_nrdias = itab_relat-dtate - itab_relat-dtde.

    ENDIF.

    FORMAT RESET.

    aux_relat = itab_relat.

    ON CHANGE OF itab_relat-tpcontr.

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

      LOOP AT itab_sub_tipo.

        FORMAT COLOR 1 INVERSE OFF INTENSIFIED OFF.

        IF itab_sub_tipo-vlmij IS INITIAL.

          PERFORM calcula_vlmi USING itab_sub_tipo-tpcontr

                                     itab_sub_tipo-waers

                                     itab_sub_tipo-vlmej

                                     v_txc

                               CHANGING itab_sub_tipo-vlmij.

        ENDIF.

        IF itab_sub_tipo-tpcontab IS INITIAL.

          WRITE: / sy-vline,

                   text-006, text-008, itab_sub_tipo-tpcontr.

        ELSE.

          WRITE: / sy-vline,

                   text-128, text-132, text-008, itab_sub_tipo-tpcontr.

        ENDIF.

        WRITE: 172 itab_sub_tipo-vlmej CURRENCY itab_sub_tipo-waers,

                   itab_sub_tipo-waers,

               (16) itab_sub_tipo-vlmij CURRENCY wa_zycbt007-waersb,

               225 itab_sub_tipo-vlmeir

                 CURRENCY itab_sub_tipo-waers NO-ZERO.

        WRITE: AT v_tamr sy-vline.

        ULINE.

        FORMAT COLOR OFF.

      ENDLOOP.

      REFRESH itab_sub_tipo.

      CLEAR itab_sub_tipo.

      LOOP AT itab_sub_tipo_pr.

        IF itab_sub_tipo_pr-vlmij IS INITIAL.

          PERFORM calcula_vlmi USING itab_sub_tipo_pr-tpcontr

                                     itab_sub_tipo_pr-waers

                                     itab_sub_tipo_pr-vlmej

                                     v_txc

                               CHANGING itab_sub_tipo_pr-vlmij.

        ENDIF.

        FORMAT COLOR 1 INVERSE OFF INTENSIFIED OFF.

        WRITE: /    sy-vline,

                    text-104, text-008, itab_sub_tipo_pr-tpcontr,

                172 itab_sub_tipo_pr-vlmej CURRENCY

                    itab_sub_tipo_pr-waers,

                    itab_sub_tipo_pr-waers,

               (16) itab_sub_tipo_pr-vlmij CURRENCY wa_zycbt007-waersb.

        WRITE: AT v_tamr sy-vline.

        ULINE.

        FORMAT COLOR OFF.

      ENDLOOP.

      REFRESH itab_sub_tipo_pr.

      CLEAR itab_sub_tipo_pr.

* << Fim da exclusão

      CLEAR v_primeiro.

      IF v_imp = 1.

        PERFORM exibe_top_relatorio.

      ENDIF.

    ENDON.

    IF itab_relat-tpcontab = 'PR' AND v_primeiro IS INITIAL.

      WRITE: / sy-vline,

               text-103.

      v_primeiro = 'X'.

    ENDIF.

...

 

...

        ELSE.

          WRITE: (16) itab_relat-vlmej

                      CURRENCY itab_relat-waers NO-ZERO,

                 (16) itab_relat-vlmij

                      CURRENCY wa_zycbt007-waersb NO-ZERO.

        ENDIF.

      ELSE.

        WRITE: (16) space,

               (16) space.

      ENDIF.

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

      IF s_rbrela IS INITIAL.

* << Fim da inclusão

      WRITE: (12) itab_relat-aliqir,

             (16) itab_relat-vlmeir CURRENCY itab_relat-waers NO-ZERO,

             (16) itab_relat-vlmej_ace

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

                    CURRENCY itab_relat-waers NO-ZERO,

               (16) itab_relat-vlmij_ace

                    CURRENCY wa_zycbt007-waersb NO-ZERO.

      ELSE.

        WRITE: (12) itab_relat-aliqir,

               (16) itab_relat-vlmeir CURRENCY itab_relat-waers NO-ZERO.

        IF itab_relat-vlmej_ace >= 0.

          WRITE: (16) itab_relat-vlmej_ace

                      CURRENCY itab_relat-waers NO-ZERO,

                 (16) itab_relat-vlmij_ace

                     CURRENCY wa_zycbt007-waersb NO-ZERO.

          WRITE: (16) space,

                 (16) space.

        ELSE.

          WRITE: (16) space,

                 (16) space.

          itab_relat-vlmej_ace = itab_relat-vlmej_ace * -1.

          itab_relat-vlmij_ace = itab_relat-vlmij_ace * -1.

          WRITE: (16) itab_relat-vlmej_ace

* << Fim da inclusão

                  CURRENCY itab_relat-waers NO-ZERO,

             (16) itab_relat-vlmij_ace

                  CURRENCY wa_zycbt007-waersb NO-ZERO.

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

        ENDIF.

      ENDIF.

* << Fim da inclusão

    ELSE.

      WRITE: (16) itab_relat-vlmej

                  CURRENCY itab_relat-waers NO-ZERO,

...

 

...

                               aux_relat-txc

                         CHANGING v_vlmij.

    v_vlmij_contr = v_vlmij_contr + v_vlmij.

    AT END OF nrseqc.

      IF itab_relat-tpcontab IS INITIAL OR

         itab_relat-tpcontab EQ 'PR'    OR

         ( itab_relat-tpcontab   EQ 'C'   AND

           wa_zycbt007-fprovisao NE 'C' ).

        v_faux = 'X'.

        SUM.

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

        loop at itab_relat assigning <fs_itab_relat>

          where nrseqc = itab_relat-nrseqc.

          if <fs_itab_relat>-vlmej < 0.

            itab_relat-vlmej = itab_relat-vlmej - <fs_itab_relat>-vlmej.

          endif.

        endloop.

* << Fim da inclusão

        CLEAR v_tjuros.

        LOOP AT itab_zycbt004 WHERE nrseqc    = aux_relat-nrseqc

                              AND   tpdesp(1) = 'J'.

          v_tjuros = v_tjuros + itab_zycbt004-vlme.

        ENDLOOP.

        IF wa_zycbt007-fprovisao = 'C'.

          SORT itab_zycbt154 BY nrcorresp.

          v_nrcorresp = itab_relat-nrseqc.

          CLEAR: v_vlrjprov, v_vlirprov.

          IF itab_relat-tpcontab IS INITIAL.

...

 

...

      WHERE

        tpcontab EQ itab_relat-tpcontab AND

        nrseqc   EQ itab_relat-nrseqc   AND

        nrcontr  EQ itab_relat-nrcontr  AND

        tpcontr  EQ itab_relat-tpcontr.

      IF <fs_itab_relat>-txc GT 0.

        EXIT.

      ENDIF.

    ENDLOOP.

    IF itab_relat-tpcontab IS INITIAL.

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

      IF itab_relat-vlmej > 0.

* << Fim da inclusão

      itab_sub_tipo-tpcontab = itab_relat-tpcontab.

      itab_sub_tipo-tpcontr  = itab_relat-tpcontr.

      itab_sub_tipo-waers    = itab_relat-waers.

      itab_sub_tipo-vlmej    = itab_relat-vlmej.

      itab_sub_tipo-vlme_mes = itab_relat-vlme_mes.

      IF <fs_itab_relat> IS ASSIGNED.

        PERFORM calcula_vlmi USING <fs_itab_relat>-tpcontr

                                   <fs_itab_relat>-waers

                                   itab_relat-vlmej

                                   itab_relat-txc

                          CHANGING itab_sub_tipo-vlmij.

      ELSE.

        itab_sub_tipo-vlmi_mes = itab_relat-vlmi_mes.

      ENDIF.

      itab_sub_tipo-vlmeir   = itab_relat-vlmeir.

      COLLECT itab_sub_tipo.

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

        itab_sub_tpj-tpcontr = itab_relat-tpcontr.

        itab_sub_tpj-waers   = itab_relat-waers.

        itab_sub_tpj-ftpj    = itab_relat-ftpj.

        itab_sub_tpj-vlmej   = itab_relat-vlmej.

        itab_sub_tpj-vlmij   = itab_sub_tipo-vlmij.

        COLLECT itab_sub_tpj.

* << Fim da inclusão

      itab_total-tpcontab = itab_relat-tpcontab.

      itab_total-waers    = itab_relat-waers.

      itab_total-vlmej    = itab_relat-vlmej.

      IF <fs_itab_relat> IS ASSIGNED.

        PERFORM calcula_vlmi USING <fs_itab_relat>-tpcontr

                                   <fs_itab_relat>-waers

                                   itab_relat-vlmej

                                   itab_relat-txc

                          CHANGING itab_total-vlmij.

      ELSE.

        itab_total-vlmij    = itab_relat-vlmij.

      ENDIF.

      itab_total-vlmeir   = itab_relat-vlmeir.

      itab_total-vlme_mes = itab_relat-vlme_mes.

      itab_total-vlmi_mes = itab_relat-vlmi_mes.

      COLLECT itab_total.

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

      ENDIF.

* << Fim da inclusão

      IF wa_zycbt007-fprovisao IS INITIAL.

        IF itab_relat-tpcontr(1) EQ 'A'.

          CLEAR: itab_total_ac-slacc, itab_total_ac-slace.

          itab_total_ac-waers  = itab_relat-waers.

          IF itab_relat-nrinvoic IS INITIAL OR

             itab_relat-ftpj = 'A'.

            itab_total_ac-slacc = itab_relat-vlmej.

          ELSE.

            itab_total_ac-slace = itab_relat-vlmej.

          ENDIF.

...

 

...

      itab_total-tpcontab = itab_relat-tpcontab.

      itab_total-waers    = itab_relat-waers.

      itab_total-vlmej    = itab_relat-vlmej.

      itab_total-vlmij    = itab_relat-vlmij.

      itab_total-vlmeir   = itab_relat-vlmeir.

      itab_total-vlme_mes = itab_relat-vlme_mes.

      itab_total-vlmi_mes = itab_relat-vlmi_mes.

      COLLECT itab_total.

    ENDIF.

  ENDLOOP.

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

  SORT itab_sub_tipo ASCENDING BY tpcontab tpcontr waers.

  SORT itab_sub_tpj ASCENDING BY tpcontr waers ftpj.

* << Fim da inclusão

  LOOP AT itab_sub_tipo.

    FORMAT COLOR 1 INVERSE OFF INTENSIFIED OFF.

    IF itab_sub_tipo-tpcontab IS INITIAL.

      WRITE: / sy-vline,

               text-006, text-008, itab_sub_tipo-tpcontr.

    ELSE.

      WRITE: / sy-vline,

               text-128, text-132, text-008, itab_sub_tipo-tpcontr.

    ENDIF.

    WRITE:   172 itab_sub_tipo-vlmej CURRENCY itab_sub_tipo-waers,

                 itab_sub_tipo-waers,

            (16) itab_sub_tipo-vlmij CURRENCY wa_zycbt007-waersb,

             225 itab_sub_tipo-vlmeir

                 CURRENCY itab_sub_tipo-waers NO-ZERO.

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

    WRITE:  AT v_tamr sy-vline.

    FORMAT COLOR OFF.

    IF /pws/zyglt009-calc_rot_sep = 'S'.

      IF itab_sub_tipo-tpcontab IS INITIAL.

        FORMAT COLOR COL_KEY INVERSE OFF INTENSIFIED OFF.

        LOOP AT itab_sub_tpj

          WHERE tpcontr = itab_sub_tipo-tpcontr

            AND waers   = itab_sub_tipo-waers.

          IF itab_sub_tpj-ftpj = 'A'.

            WRITE: / sy-vline,

                     text-006, text-143.

          ELSEIF itab_sub_tpj-ftpj = 'E'.

            WRITE: / sy-vline,

                     text-006, text-144.

          ENDIF.

          WRITE:   172 itab_sub_tpj-vlmej CURRENCY itab_sub_tpj-waers,

                       itab_sub_tpj-waers,

                  (16) itab_sub_tpj-vlmij CURRENCY wa_zycbt007-waersb.

* << Fim da inclusão

    WRITE:  AT v_tamr sy-vline.

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

        ENDLOOP.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    ULINE.

    FORMAT COLOR OFF.

  ENDLOOP.

  LOOP AT itab_sub_tipo_pr.

...

 

...

         (8)  text-064 CENTERED,

         (12) text-026 CENTERED,

         (12) text-041 CENTERED,

         (16) text-033 CENTERED,

         (5)  text-035 CENTERED,

         (16) text-037 CENTERED,

         (16) text-122 CENTERED,

         (12) text-117 CENTERED,

         (16) text-118 CENTERED.

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

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

    WRITE: (16) text-037 CENTERED,

           (16) text-122 CENTERED.

  ENDIF.

  IF NOT s_rbrela IS INITIAL.

* << Fim da inclusão

    WRITE: (16) text-037 CENTERED,

           (16) text-122 CENTERED.

  ENDIF.

  WRITE: (12) text-042 CENTERED,

         AT v_tamr sy-vline.

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

    WRITE:  sy-vline,

           (3)  space,

           (3)  space,

           (20) space,

...

 

...

           (8)  space,

           (12) space,

           (12) space,

           (16) space,

           (5)  space,

           (16) text-114 CENTERED,

           (16) space,

           (12) space,

           (16) space,

           (16) text-115 CENTERED,

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

           (16) space,

           AT v_tamr sy-vline.

* << Fim da exclusão

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

           (16) space.

    IF NOT s_rbrela IS INITIAL.

      WRITE: (16) text-145 CENTERED,

             (16) space.

    ENDIF.

    WRITE AT v_tamr sy-vline.

* << Fim da inclusão

  ENDIF.

  ULINE.

  FORMAT COLOR OFF.

ENDFORM.

FORM processa_transfer_longo_curto.

  DATA: v_nrdias TYPE i,

        v_dtpror TYPE /pws/zycbt003-dtpror,

        v_vlmeaux LIKE /pws/zycbt005-vlvinc.

  LOOP AT itab_zycbt001

          WHERE tpcontr(1) NE 'D'.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBR003

 

...

  v_saldo_inicial like /pws/zycbt001-vlme,

  v_vlmeaux       like /pws/zycbt001-vlme,

  v_juros         like /pws/zycbt002-vlme,

  v_tx_esc_tot    like /pws/zycbt002-txjtotal,

  v_tx_esc_fix    like /pws/zycbt002-txjfixa,

  v_tx_esc_var    like /pws/zycbt002-txjvar,

  v_descc         like /pws/zycbt016-txtdesc,

  v_codaux1       like /pws/zyglt316-codaux1,

  v_confirm(1)    type c value space,                       "#EC NEEDED

  v_txt_f(95)     type c value space,                       "#EC NEEDED

* >> Início da exclusão:

  v_tamr          type i value 254,

* << Fim da exclusão

* >> Início da inclusão:

  v_tamr          type i value 245,

* << Fim da inclusão

  v_nrlines       type i,

  v_per_dias      type i,

  v_nrdias        type i,                                   "#EC NEEDED

  v_base_dias     type i,

  v_lin           type i,

  v_imp           type i,

  v_ec            type i,

  v_nrparcj       type /pws/zycbt002-nrparc,

 v_programa       type sy-cprog,

  v_defator       like tcurr-ffact,

...