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
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