CE PLUS - Nota 005648

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Rotina Mensal

Data/Hora da Publicação: 15/01/2008 00:00:00

Data/Hora Última Alteração: 04/03/2010 14:03:34

Descrição da Nota: VERIFICAÇÃO AMPLIADA, CODE INSPECTOR, ROTINA MENSAL DE CAMBIO IMPORTAÇÃO

Sintoma

 

performance e sintaxe

 

Solução

 

verificação ampliada e code inspector

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 05648 Data: 15/01/2008 Hora: 15:51:24

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

 

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

Nota Número              : 05648

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 7.0

Pacote                   : 00004

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

Texto Rápido:

VERIFICAÇÃO AMPLIADA, CODE INSPECTOR, ROTINA MENSAL DE CAMBIO IMPORTAÇÃO

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

Palavras Chave:

VERIFICAÇÃO AMPLIADA, CODE INSPECTOR, ROTINA MENSAL DE CAMBIO IMPORTAÇÃO

 

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

Objetos da nota:

REPS /PWS/ZYCBI112

REPS /PWS/ZYCBR112

REPT /PWS/ZYCBR112

 

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

Modificações efetuadas em REPS /PWS/ZYCBI112

 

FORM processa_calculo_juros USING value(p_vlme)

                         value(p_txj)

                         value(p_tptxjur)

                         value(p_dtde)

                         value(p_dtate)

                         value(p_moeda)

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

                         value(p_ctmoeda).

* << Fim da exclusão

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

                         value(p_ctmoeda)."#EC *

* << Fim da inclusão

  DATA: v_vlmeaux LIKE /pws/zycbt001-vlme,

        v_dtate(10),

        v_nrdias TYPE i,

        v_nrdiabase TYPE i.

  v_nrdias = p_dtate - p_dtde.

  READ TABLE itab_zycbt010 WITH KEY tptxjur = p_tptxjur.

  v_nrdiabase = itab_zycbt010-nrdias.

  READ TABLE itab_zycbt009 WITH KEY codpadr = p_ctmoeda.

  PERFORM verifica_taxa_juros USING p_txj.

  CHECK NOT p_txj IS INITIAL.

...

 

...

            fator_nao_encontrado         = 3

            margem_cambio_nao_encontrada = 4

            derived_2_times              = 5

            montante_nao_encontrado      = 6

            tx_juros_nao_encontrada      = 7

            dias_base_nao_encontrado     = 8

            dias_periodo_nao_encontrado  = 9

            me_nao_encontrada            = 10

            ctg_cambio_nao_encontrada    = 11

            dtbase_nao_encontrada        = 12

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

            OTHERS                       = 13.

* << Fim da exclusão

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

            OTHERS                       = 13."#EC *

* << Fim da inclusão

  IF sy-subrc <> 0.

    CLEAR itab_msg.

    CASE sy-subrc.

      WHEN '1' OR '5'.

        WRITE: p_dtate TO v_dtate.

        CONCATENATE text-011 itab_zycbt009-kurst

                    v_dtate p_moeda

                    INTO itab_msg-msg SEPARATED BY space.

      WHEN '2'.

        itab_msg-msg = text-012.

...

 

...

                fator_nao_encontrado         = 3

                margem_cambio_nao_encontrada = 4

                derived_2_times              = 5

                montante_nao_encontrado      = 6

                tx_juros_nao_encontrada      = 7

                dias_base_nao_encontrado     = 8

                dias_periodo_nao_encontrado  = 9

                me_nao_encontrada            = 10

                ctg_cambio_nao_encontrada    = 11

                dtbase_nao_encontrada        = 12

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

                OTHERS                       = 13.

* << Fim da exclusão

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

                OTHERS                       = 13."#EC *

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

    ENDIF.

    itab_msg-nrseq    = itab_zycbt112-nrseq.

    itab_msg-nrfinanc = itab_zycbt112-nrfinanc.

    itab_msg-codint   = itab_zycbt112-codint.

    itab_msg-tpmsg    = 'E'.

    APPEND itab_msg.

  ELSE.

    itab_relat-vlmej =

      itab_relat-vlmej * ( 10 ** ( itab_tcurx-currdec - 2 ) ).

    MOVE-CORRESPONDING itab_relat TO wa_taxa_cambial.

...

 

...

                fator_nao_encontrado         = 3

                margem_cambio_nao_encontrada = 4

                derived_2_times              = 5

                montante_nao_encontrado      = 6

                tx_juros_nao_encontrada      = 7

                dias_base_nao_encontrado     = 8

                dias_periodo_nao_encontrado  = 9

                me_nao_encontrada            = 10

                ctg_cambio_nao_encontrada    = 11

                dtbase_nao_encontrada        = 12

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

                OTHERS                       = 13.

* << Fim da exclusão

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

                OTHERS                       = 13."#EC *

* << Fim da inclusão

      IF sy-subrc = 0.

        itab_relat-vlme_mes =

        itab_relat-vlme_mes * ( 10 ** ( itab_tcurx-currdec - 2 ) ).

      ENDIF.

    ENDIF.

  ENDIF.

  APPEND itab_relat.

  CLEAR itab_relat.

ENDFORM.

FORM seleciona_parametros_gerais.

...

 

...

    ENDIF.

    WRITE: AT v_tamr sy-vline.

    ULINE.

  ENDLOOP.

  FORMAT RESET.

  DESCRIBE TABLE itab_msg LINES v_nrlines.

  CHECK NOT v_nrlines IS INITIAL.

  NEW-PAGE.

  PERFORM exibe_mensagens.

ENDFORM.

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

FORM verifica_taxa_juros USING value(p_txj).

* << Fim da exclusão

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

FORM verifica_taxa_juros USING value(p_txj)."#EC *

* << Fim da inclusão

  CLEAR itab_msg.

  IF p_txj IS INITIAL.

    MOVE-CORRESPONDING itab_zycbt112 TO itab_msg.

    itab_msg-tpmsg    = 'W'.

    itab_msg-msg      = text-004.

    APPEND itab_msg.

  ENDIF.

ENDFORM.

FORM exibe_cabecalho.

  DATA: v_tamc TYPE i,

...

 

...

  ENDIF.

  WRITE: /   sy-vline,

         AT (v_tamc) v_textodia CENTERED.

  IF sy-ucomm = 'RCON'.

    WRITE: AT v_tamn sy-vline.

  ELSE.

    WRITE: AT v_tamr sy-vline.

  ENDIF.

  ULINE.

ENDFORM.

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

FORM exibe_dia_da_semana USING p_dia_sem.

* << Fim da exclusão

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

FORM exibe_dia_da_semana USING p_dia_sem."#EC *

* << Fim da inclusão

  CALL FUNCTION '/PWS/ZYCB_DIA_DA_SEMANA'

       EXPORTING

            datum         = sy-datum

       IMPORTING

            dia_da_semana = p_dia_sem

       EXCEPTIONS

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

            OTHERS        = 1.

* << Fim da exclusão

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

            OTHERS        = 0 .

* << Fim da inclusão

ENDFORM.

FORM processa_dados_contabil.

  DATA: v_vlmej_w  LIKE /pws/zycbt112-vlme,

        v_vlmeir_w LIKE /pws/zycbt112-vlme,

        v_nrseq    LIKE /pws/zycbt129-nrseq,

        v_nrparcj  LIKE /pws/zycbt113-nrparc,

        v_nrparcp  LIKE /pws/zycbt113-nrparc,

        v_tpcontab TYPE c.

  REFRESH itab_status.

  itab_status-fcode = 'ESTO'.

...

 

...

    v_nrparcp = itab_relat-nrparcp.

    v_tpcontab = itab_relat-tpcontab.

  ENDLOOP.

  PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w.

  CLEAR itab_relat.

  IF itab_contabil[] IS INITIAL.

    MESSAGE w061 WITH text-080.

  ENDIF.

ENDFORM.

FORM preenche_itab_contabil

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

              USING value(p_vlmej) value(p_vlmeir).

* << Fim da exclusão

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

              USING value(p_vlmej) value(p_vlmeir)."#EC *

* << Fim da inclusão

  MOVE-CORRESPONDING wa_itab_relat TO itab_contabil.

  itab_contabil-nrparcp = wa_itab_relat-nrparcp.

  itab_contabil-nrseq = wa_itab_relat-nrseq.

  itab_contabil-kursf = wa_itab_relat-kursf.

  itab_contabil-dtcont  = s_dtentr.

  itab_contabil-vlme    = p_vlmej.

  itab_contabil-vlmeir  = p_vlmeir.

  APPEND itab_contabil.

  CLEAR itab_contabil.

ENDFORM.

...

 

...

                  itab_zycbt154-bco      itab_zycbt154-dtcont

                  itab_zycbt154-bukrs    itab_zycbt154-gsber

                  itab_zycbt154-waers    itab_zycbt154-d_newko

                  itab_zycbt154-c_newko  INTO v_cpochv.

      READ TABLE itab_zycbt032 WITH KEY tcode  = 'FB08'

                                        tabela = '/pws/zycbt154'

                                        cpochv = v_cpochv

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        DELETE FROM /pws/zycbt154 WHERE

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

                                   belnr_pr = itab_zycbt154-belnr_pr.

* << Fim da exclusão

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

                   belnr_pr = itab_zycbt154-belnr_pr."#EC CI_NOFIRST

* << Fim da inclusão

        DELETE itab_zycbt154 WHERE belnr_pr = itab_zycbt154-belnr_pr.

        WRITE: / itab_zycbt032-tpmsg,

                 itab_zycbt154-bco,

                 itab_zycbt154-codint,

                 itab_zycbt154-bukrs,

                 itab_zycbt154-gsber,

                 text-009,

                 itab_zycbt154-belnr_pr,

                 text-010,

                 itab_zycbt032-belnr.

...

 

...

  NEW-PAGE LINE-SIZE 220 LINE-COUNT 58 NO-TITLE.

  UPDATE /pws/zycbt021 SET data    = sy-datum

                      hora    = sy-uzeit

                      usuario = sy-uname

                WHERE codrel  = '112'.

  IF NOT wa_zycbt007-fprovisao = 'C'.

    PERFORM lancamento_estorno.

  ENDIF.

  PERFORM lancamento_provisao.

ENDFORM.

* >> Início da inclusão:

FORM processa_subtotal_waers USING p_v_vlmej p_v_vlmeir."#EC *

data: v_vlmej(16)  type n,

      v_vlmeir(16) type n.

v_vlmej  = p_v_vlmej.

v_vlmeir = p_v_vlmeir.

* << Fim da inclusão

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

FORM processa_subtotal_waers USING p_v_vlmej p_v_vlmeir.

  IF p_v_vlmej > 0 OR

     p_v_vlmeir > 0.

* << Fim da exclusão

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

  IF v_vlmej > 0 OR

     v_vlmeir > 0.

* << Fim da inclusão

    ULINE.

    PERFORM preenche_itab_contabil USING p_v_vlmej

                                         p_v_vlmeir.

    FORMAT COLOR 2 INVERSE OFF INTENSIFIED ON.

    WRITE:      sy-vline,

                text-006,

                wa_itab_relat-bukrs, wa_itab_relat-codint,

                text-007,

                wa_itab_relat-bco,

                text-014,

...

 

...

            e_txc                      = itab_relat-kursf

       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

            OTHERS                     = 8.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

ENDFORM.

FORM totaliza_juros_ir.

  CLEAR: v_tjuros,

         v_tir.

  LOOP AT itab_relat_aux WHERE nrseq = itab_relat-nrseq

                           AND nrparcj = itab_relat-nrparcj

                           AND tpcontab <> 'C'.

    v_tjuros = v_tjuros + itab_relat_aux-vlmej.

    v_tir    = v_tir    + itab_relat_aux-vlmeir.

  ENDLOOP.

...

 

...

        MESSAGE i061 WITH itab_zycbt034-descricao.

      ENDLOOP.

    ENDIF.

  ENDIF.

ENDFORM.

FORM get_parameters_f-51t.

  CLEAR wa_zycbt011.

  SELECT SINGLE * FROM /pws/zycbt011

                  INTO wa_zycbt011

                  WHERE codeven = '001T'

* >> Início da exclusão: FORM GET_PARAMETERS_F-51T

                    AND codmod  = 'I'.

* << Fim da exclusão

* >> Início da inclusão: FORM GET_PARAMETERS_F-51T

                    AND codmod  = 'I'."#EC *

* << Fim da inclusão

ENDFORM.

FORM clear_date_batch.

  CLEAR: itab_zycbt032,

         itab_zycbe033,

         itab_zycbt034,

         itab_zycbt036.

  REFRESH: itab_zycbt032,

           itab_zycbe033,

           itab_zycbt034,

           itab_zycbt036.

ENDFORM.

FORM verify_null_field USING value(p_field)

                             value(p_fieldname)

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

                             value(p_description).

* << Fim da exclusão

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

                             value(p_description)."#EC *

* << Fim da inclusão

  IF p_field IS INITIAL.

    itab_zycbt034-campo = p_fieldname.

    itab_zycbt034-descricao = p_description.

    APPEND itab_zycbt034.

  ENDIF.

ENDFORM.

FORM quebra USING value(aux_relat) LIKE aux_relat.

  IF NOT aux_relat-tpcontab = 'T'.

    SUM.

    SORT itab_zycbt154 BY nrcorresp codmodul dtcont.

...

 

...

    ENDIF.

    WRITE:  141 itab_relat-vlrprov2 CURRENCY v_waers

            QUICKINFO qinfo,

             v_waers,

             AT v_tamr sy-vline.

    FORMAT RESET.

  ENDIF.

ENDFORM.

FORM determina_periodo USING    value(p_budat)

                                p_bukrs

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

                       CHANGING p_monat.

* << Fim da exclusão

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

                       CHANGING p_monat."#EC *

* << Fim da inclusão

  DATA: v_periv(2).

  SELECT SINGLE periv FROM t001

               INTO v_periv

               WHERE bukrs EQ p_bukrs.

  CALL FUNCTION 'DETERMINE_PERIOD'

       EXPORTING

            date                = p_budat

            version             = v_periv

       IMPORTING

            period              = p_monat

       EXCEPTIONS

            period_in_not_valid = 1

            period_not_assigned = 2

            version_undefined   = 3

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

            OTHERS              = 4.

* << Fim da exclusão

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

            OTHERS              = 4."#EC *

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

ENDFORM.

FORM determina_ano USING    p_budat

                            p_bukrs

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

                   CHANGING p_ano.

* << Fim da exclusão

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

                   CHANGING p_ano."#EC *

* << Fim da inclusão

  CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       EXPORTING

            v_bukrs = p_bukrs

            v_date  = p_budat

       IMPORTING

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

            v_year  = p_ano.

* << Fim da exclusão

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

            v_year  = p_ano."#EC *

* << Fim da inclusão

ENDFORM.

 

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

Modificações efetuadas em REPS /PWS/ZYCBR112

 

REPORT /pws/zycbr112 LINE-SIZE 220

                     LINE-COUNT 65

                     MESSAGE-ID /pws/zycmm

                     NO STANDARD PAGE HEADING.

TABLES: /pws/zycbt112,

* >> Início da exclusão:

        /pws/zycbt113,

        /pws/zycbt031,

* << Fim da exclusão

* >> Início da inclusão:

        /pws/zycbt113,"#EC *

        /pws/zycbt031,"#EC *

* << Fim da inclusão

        /pws/zycbt039,

        /pws/zycbt154,

        t001,

        /pws/zycbt021,

* >> Início da exclusão:

        indx,

* << Fim da exclusão

        /pws/zycbt009,

        sscrfields.

DATA: itab_zycbt112      LIKE /pws/zycbt112 OCCURS 10 WITH HEADER LINE,

...

 

...

      v_syrepid        LIKE sy-repid,

      e_subrc          LIKE sy-subrc.

DATA: wa_itab_relat    LIKE itab_relat,

      wa_zycbt007      LIKE /pws/zycbt007,

      wa_zycbt011      LIKE /pws/zycbt011,

      wa_zyglt009      LIKE /pws/zyglt009,

      v_contabilizado,

      v_cpochv         LIKE /pws/zycbe033-cpochv,

      v_codeven        LIKE /pws/zycbt011-codeven.

SELECTION-SCREEN FUNCTION KEY 1.

* >> Início da exclusão:

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

* << Fim da exclusão

* >> Início da inclusão:

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

* << Fim da inclusão

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

            s_dtentr LIKE sy-datum,

            s_dtlanc LIKE sy-datum.

SELECT-OPTIONS s_codint FOR /pws/zycbt112-codint.

SELECT-OPTIONS: s_nrseq FOR /pws/zycbt112-nrseq

                MATCHCODE OBJECT /pws/zycba156.

* >> Início da exclusão:

SELECTION-SCREEN END OF BLOCK 1.

* << Fim da exclusão

* >> Início da inclusão:

SELECTION-SCREEN END OF BLOCK b1.

* << Fim da inclusão

* >> Início da exclusão:

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

* << Fim da exclusão

* >> Início da inclusão:

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

* << Fim da inclusão

PARAMETERS: s_rbrotm  RADIOBUTTON GROUP rg1,

            s_rbrotd RADIOBUTTON GROUP rg1,

            s_rbrela  RADIOBUTTON GROUP rg1.

* >> Início da exclusão:

SELECTION-SCREEN END OF BLOCK 2.

* << Fim da exclusão

* >> Início da inclusão:

SELECTION-SCREEN END OF BLOCK b2.

* << Fim da inclusão

* >> Início da exclusão:

SELECTION-SCREEN BEGIN OF BLOCK 3 WITH FRAME TITLE text-045.

* << Fim da exclusão

* >> Início da inclusão:

SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-045.

* << Fim da inclusão

PARAMETERS: s_rbmens RADIOBUTTON GROUP rg2 USER-COMMAND rg2,

            s_rbinte RADIOBUTTON GROUP rg2.

* >> Início da exclusão:

SELECTION-SCREEN END OF BLOCK 3.

* << Fim da exclusão

* >> Início da inclusão:

SELECTION-SCREEN END OF BLOCK b3.

* << Fim da inclusão

INCLUDE /pws/zycbi112.

INITIALIZATION.

...

 

...

    IF screen-name = 'S_DTENTR'.

      IF NOT s_rbmens IS INITIAL.

        CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'

             EXPORTING

                  day_in            = s_dtentr

             IMPORTING

                  last_day_of_month = s_dtentr

             EXCEPTIONS

                  day_in_no_date    = 1

                  OTHERS            = 2.

* >> Início da inclusão:

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

      ELSEIF NOT s_rbinte IS INITIAL.

        screen-input = 1.

      ENDIF.

    ELSEIF ( screen-name EQ 'S_DTLANC' OR

             screen-name EQ '%_S_DTLANC_%_APP_%-TEXT' )

             AND wa_zycbt007-fprovisao NE 'C'.

      screen-input = 0.

      screen-invisible = 1.

    ENDIF.

    MODIFY SCREEN.

...

 

...

  IF s_dtentr IS INITIAL.

    s_dtentr = sy-datum.

  ENDIF.

  IF s_nrseq IS INITIAL.

    SELECT * FROM /pws/zycbt112

             INTO TABLE itab_zycbt112

             WHERE bukrs EQ s_bukrs

               AND dtdesem LE s_dtentr

               AND f_encerrado NE v_f_encerrado

               AND status NE 'E'

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

               AND codint IN s_codint.

* << Fim da exclusão

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

               AND codint IN s_codint."#EC CI_NOFIELD

* << Fim da inclusão

  ELSE.

    SELECT * FROM /pws/zycbt112

             APPENDING TABLE itab_zycbt112

             WHERE bukrs EQ s_bukrs

               AND nrseq IN s_nrseq

               AND status NE 'E'

               AND codint IN s_codint.

  ENDIF.

  IF wa_zycbt007-fprovisao <> 'C'.

    SELECT * FROM /pws/zycbt113

...

 

...

      CLEAR v_answer.

      CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'

           EXPORTING

                defaultoption = 'Y'

                textline1     = text-089

                textline2     = text-090

                titel         = text-091

           IMPORTING

                answer        = v_answer

           EXCEPTIONS

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

                OTHERS        = 1.

* << Fim da exclusão

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

               OTHERS        = 0.

* << Fim da inclusão

      IF v_answer = 'J'.

        PERFORM lancamento_estorno.

      ENDIF.

      STOP.

    ENDIF.

  ENDIF.

  PERFORM exibe_relatorio.

ENDFORM.

FORM processa_financiamento.

  DATA: v_dtfinal LIKE /pws/zycbt113-dtfinal.

...

 

...

         EXPORTING

              i_codmod                = 'I'

              i_func                  = v_syrepid

         TABLES

              itab_zyglt100           = itab_zyglt100

         EXCEPTIONS

              i_codmod_nao_encontrado = 1

              i_func_nao_encontrado   = 2

              i_zexit_nao_encontrado  = 3

              OTHERS                  = 4.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

  ENDIF.

  READ TABLE itab_zyglt100 WITH KEY zexit  = 'RMI001' BINARY SEARCH.

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario)

              IN PROGRAM (itab_zyglt100-programa)

              CHANGING   e_subrc.

      IF e_subrc NE 0.

        EXIT.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

FORM processa_periodo_j USING value(p_vlme)

                              value(p_dtinicio) TYPE d

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

                              value(p_dtfim) TYPE d.

* << Fim da exclusão

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

                              value(p_dtfim) TYPE d."#EC *

* << Fim da inclusão

  CLEAR itab_zycbt113j.

  LOOP AT itab_zycbt113j WHERE nrseq = itab_zycbt112-nrseq.

    IF wa_zycbt007-fprovisao <> 'C'.

      CHECK ( itab_zycbt113j-dtpagto IS INITIAL ).

    ENDIF.

    IF itab_zycbt113p-dtinicio => itab_zycbt113j-dtinicio AND

       ( itab_zycbt113p-dtfinal <= itab_zycbt113j-dtfinal OR

         p_dtfim                <= itab_zycbt113j-dtfinal ).

      IF itab_zycbt113p-nrparc = '001'.

        p_vlme = itab_zycbt112-vlme.

...

 

...

             AND dtcont >= s_dtentr

             AND bukrs  EQ s_bukrs

             AND codint IN s_codint

             AND status <> 'S'.

  ENDSELECT.

  IF sy-subrc = 0.

    MESSAGE i015 WITH text-044.

  ENDIF.

  CLEAR /pws/zycbt154.

ENDFORM.

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

FORM preenche_variacao_cambial USING value(p_vlme).

* << Fim da exclusão

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

FORM preenche_variacao_cambial USING value(p_vlme)."#EC *

* << Fim da inclusão

  DATA: v_nrlines TYPE i.

  CHECK NOT wa_taxa_cambial IS INITIAL.

  itab_relat-vlmev =

    ( ( ( wa_taxa_cambial-kursf - itab_zycbt112-kursf ) * p_vlme ) /

    wa_taxa_cambial-ftme ) * wa_taxa_cambial-ftmi.

  DESCRIBE TABLE itab_relat LINES v_nrlines.

  MODIFY itab_relat INDEX v_nrlines TRANSPORTING vlmev.

  CLEAR: wa_taxa_cambial, itab_relat-vlmev.

ENDFORM.

FORM calcula_comissao.

...

 

...

         EXPORTING

              i_codmod                = 'I'

              i_func                  = v_syrepid

         TABLES

              itab_zyglt100           = itab_zyglt100

         EXCEPTIONS

              i_codmod_nao_encontrado = 1

              i_func_nao_encontrado   = 2

              i_zexit_nao_encontrado  = 3

              OTHERS                  = 4.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

  ENDIF.

  READ TABLE itab_zyglt100 WITH KEY zexit  = 'RMI001' BINARY SEARCH.

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario)

              IN PROGRAM (itab_zyglt100-programa)

              CHANGING   e_subrc.

      IF e_subrc NE 0.

        EXIT.

      ENDIF.

...

 

...

            e_txc                      = itab_relat-kursf

       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

            OTHERS                     = 8.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

ENDFORM.

FORM data_inicio.

  DATA: v_dtentr   LIKE sy-datum.

  v_dtentr = s_dtentr.

  IF v_dtentr+4(2) = '01'.

    v_dtentr+4(2) = 12.

    v_dtentr(4) = v_dtentr(4) - 1.

    v_dtinicio = v_dtentr.

  ELSE.

    v_dtentr+4(2) = v_dtentr+4(2) - 1.

    CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'

         EXPORTING

              day_in            = v_dtentr

         IMPORTING

              last_day_of_month = v_dtinicio

         EXCEPTIONS

              day_in_no_date    = 1

              OTHERS            = 2.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM totaliza_valores_lancados.

  IF wa_zycbt007-fprovisao = 'C'.

    SELECT * FROM /pws/zycbt154

          INTO TABLE itab_zycbt154

          FOR ALL ENTRIES IN itab_zycbt112

          WHERE codmod = 'I'

          AND   nrcorresp = itab_zycbt112-nrseq

          AND   dtcont   <= s_dtentr

...

 

...

  REFRESH itab_lancados2.

  LOOP AT itab_zycbt154 WHERE codmodul = 'IR'.

    MOVE-CORRESPONDING itab_zycbt154 TO itab_lancados2.

    CLEAR itab_lancados2-dtcont.

    COLLECT itab_lancados2.

  ENDLOOP.

ENDFORM.

FORM modo_batch_input.

  CLEAR: /pws/zycbt039, itab_modo.

  REFRESH: itab_modo.

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

  SELECT * FROM /pws/zycbt039.

* << Fim da exclusão

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

  SELECT * FROM /pws/zycbt039."#EC CI_NOWHERE

* << Fim da inclusão

    itab_modo-selflag   = /pws/zycbt039-modo.

    itab_modo-varoption = /pws/zycbt039-descr.

    APPEND itab_modo.

  ENDSELECT.

  SORT itab_modo DESCENDING.

  CALL FUNCTION 'POPUP_TO_DECIDE_LIST'

       EXPORTING

            textline1          = text-092

            textline2          = text-093

            titel              = text-094

       IMPORTING

            answer             = v_modo_bi

       TABLES

            t_spopli           = itab_modo

       EXCEPTIONS

            not_enough_answers = 1

            too_much_answers   = 2

            too_much_marks     = 3

            OTHERS             = 4.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

  IF v_modo_bi EQ '3'.

    v_modo_bi = 'A'.

  ELSEIF v_modo_bi EQ '2'.

    v_modo_bi = 'E'.

  ELSEIF v_modo_bi EQ '1'.

    v_modo_bi = 'N'.

  ENDIF.

ENDFORM.

FORM informacoes.

  CALL FUNCTION 'POPUP_DISPLAY_TEXT'

...

 

...

            date_to                    = v_data

            language                   = text-099

       TABLES

            day_attributes             = itab_period

       EXCEPTIONS

            factory_calendar_not_found = 1

            holiday_calendar_not_found = 2

            date_has_invalid_format    = 3

            date_inconsistency         = 4

            OTHERS                     = 5.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

  IF wa_zycbt007-dataestorno NE 'UDM'.

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

    READ TABLE itab_period WITH KEY weekday = 6.

* << Fim da exclusão

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

    READ TABLE itab_period WITH KEY weekday ='6'.

* << Fim da inclusão

    IF sy-subrc EQ 0.

      PERFORM verifica_dia.

    ELSE.

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

      READ TABLE itab_period WITH KEY weekday = 7.

* << Fim da exclusão

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

      READ TABLE itab_period WITH KEY weekday = '7'.

* << Fim da inclusão

      IF sy-subrc EQ 0.

        PERFORM verifica_dia.

      ELSE.

        LOOP AT itab_period WHERE NOT txt_short IS initial

                               OR NOT txt_long  IS initial.

          PERFORM verifica_dia.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ENDIF.

...

 

...

              date_to                    = v_data

              language                   = text-099

         TABLES

              day_attributes             = itab_period

         EXCEPTIONS

              factory_calendar_not_found = 1

              holiday_calendar_not_found = 2

              date_has_invalid_format    = 3

              date_inconsistency         = 4

              OTHERS                     = 5.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

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

    READ TABLE itab_period WITH KEY weekday = 6.

* << Fim da exclusão

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

    READ TABLE itab_period WITH KEY weekday = '6'.

* << Fim da inclusão

    IF sy-subrc NE 0.

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

      READ TABLE itab_period WITH KEY weekday = 7.

* << Fim da exclusão

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

      READ TABLE itab_period WITH KEY weekday = '7'.

* << Fim da inclusão

      IF sy-subrc NE 0.

        v_sair_fadc = 'S'.

        LOOP AT itab_period.

...

 

...

  ELSEIF wa_zycbt007-dataestorno EQ 'UDM'.

    IF s_rbinte = 'X'.

      CALL FUNCTION 'LAST_DAY_OF_MONTHS'

           EXPORTING

                day_in            = v_data

           IMPORTING

                last_day_of_month = v_data

           EXCEPTIONS

                day_in_no_date    = 1

                OTHERS            = 2.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

    ENDIF.

  ELSEIF wa_zycbt007-dataestorno EQ 'UDU'.

    IF s_rbinte = 'X'.

      CALL FUNCTION 'LAST_DAY_OF_MONTHS'

           EXPORTING

                day_in            = v_data

           IMPORTING

                last_day_of_month = v_data

           EXCEPTIONS

                day_in_no_date    = 1

                OTHERS            = 2.

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

  if sy-subrc = 0.

  else.

  endif.

* << Fim da inclusão

    ENDIF.

    PERFORM verifica_data.

  ENDIF.

  itab_zycbe033-budat  = v_data.

ENDFORM.

FORM exclui_campos.

  IF sy-saprl(2) EQ '45' OR

     sy-saprl(2) EQ '40'.

    LOOP AT SCREEN.

      IF screen-group3 EQ 'COF'                  OR

...

 

 

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

Modificações efetuadas em REPT /PWS/ZYCBR112

 

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

Excluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 111

 

Texto: (8 caracteres)

"Estornar"

 

Comprimento máximo: 8