Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Rotina Mensal
Data/Hora da Publicação: 17/10/2008 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:15:29
Descrição da Nota: DA - ROTINA MENSAL DE ESTORNO PARA EXP, IMP, FINANC
Sintoma
DA - Rotina mensal de estorno para os módulos "Câmbio exportação", "Câmbio Financeiro" e "Câmbio
importação" para inclusão de flag para permitir a contabilização da rotina por processo ou agrupada
Solução
DA - Rotina mensal de estorno para os módulos "Câmbio exportação", "Câmbio Financeiro" e "Câmbio
importação" para inclusão de flag para permitir a contabilização da rotina por processo ou agrupada
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07450 Data: 17/10/2008 Hora: 14:02:36
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07450
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00007
Agrupamento : 00069
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01253 - 00013 - 6.0 - 00023 - ROTINA MENSAL EXPORTAÇÃO - ESTORNO MENSAL - INIBIÇÃO CAMPOS SELEÇ
01309 - 00012 - 6.0 - 00023 - ROTINA MENSAL EXPORTAÇÃO CONTABILIZAÇÃO SEPARADA DE ACC E ACE = S
01575 - 00011 - 6.0 - 00024 - ROTINA MENSAL EXPORTAÇÃO - ESTORNO MENSAL - OPÇÃO FILTRO
03450 - 00010 - 7.0 - 00001 - DESENVOLVIMENTO ADICIONAL - ESTORNO DA ROTINA MENSAL.
03898 - 00009 - 7.0 - 00001 - ROTINA MENSAL - TRANSFERÊNCIA DE LONGO PARA CURTO PRAZO
03938 - 00008 - 7.0 - 00002 - ROTINA MENSAL EXPORTAÇÃO - CAMPO DATA OBRIGATÓRIO
03942 - 00007 - 7.0 - 00002 - ROTINA MENSAL EXPORTAÇÃO - TAXAS
04010 - 00006 - 7.0 - 00002 - ROTINA MENSAL - CONTABILIZAÇÃO DE PARCELAS DE COMISSÃO
04193 - 00005 - 7.0 - 00002 - ROTINA MENSAL EXPORTAÇÃO - JUROS ACC X PRÉ
04518 - 00004 - 7.0 - 00002 - ROTINA MENSAL EXPORTAÇÃO - DUPLICIDADE TRANSFERÊNCIA LP CP
05414 - 00003 - 7.0 - 00003 - ROTINA MENSAL
06290 - 00002 - 7.0 - 00005 - FINANCIAMENTO/EMPRESTIMO - JUROS E COMISSÃO COM IRRF DEDUZIDO
07116 - 00001 - 7.0 - 00006 - EXPORTAÇÃO CAPTAÇÃO
----------------------------------------------------------------------------------------------------
DA - ROTINA MENSAL DE ESTORNO PARA EXP, IMP, FINANC
----------------------------------------------------------------------------------------------------
Palavras Chave:
DA - ROTINA MENSAL DE ESTORNO PARA EXP, IMP, FINAC PARA INCLUSAO DE FLAG
PARA PERMITIR A CONTABILIZAÇÃO DA ROTINA POR PROCESSO OU AGRUPADA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCBI003
REPS /PWS/ZYCBI112
REPS /PWS/ZYCBI113
REPS /PWS/ZYCBR003
REPS /PWS/ZYCBR112
REPS /PWS/ZYCBR113
REPT /PWS/ZYCBR003
REPT /PWS/ZYCBR112
REPT /PWS/ZYCBR113
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBI003
...
SET PF-STATUS '003' EXCLUDING itab_status.
v_tamr = 280.
NEW-PAGE LINE-SIZE v_tamr
LINE-COUNT 65.
PERFORM exibe_cabecalho_contabil.
REFRESH itab_contabil.
IF wa_zycbt007-fprovisao = 'C'.
SORT itab_relat BY tpcontab nrseqc ftpj nrparcp nrparcj bukrs waers
gsber tpcontr d_newko c_newko bco vlrprov.
ELSE.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
if p_agrup is initial.
* << Fim da inclusão
SORT itab_relat BY tpcontab bukrs waers gsber
tpcontr d_newko c_newko bco txc.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
else.
SORT itab_relat BY tpcontab nrseqc ftpj nrparcp nrparcj bukrs waers
gsber tpcontr d_newko c_newko bco vlrprov.
endif.
* << Fim da inclusão
ENDIF.
PERFORM processa_aberto.
...
...
WHERE f_encerrado = 'I'
AND nrseqc = itab_contabil-nrcorresp(8).
MOVE-CORRESPONDING itab_contabil TO /pws/zycbt154.
IF NOT itab_contabil-vlmetransf IS INITIAL.
/pws/zycbt154-vlme = itab_contabil-vlmetransf.
ELSE.
/pws/zycbt154-vlme = itab_contabil-vlrprov.
ENDIF.
IF itab_contabil-tpcontab IS INITIAL.
/pws/zycbt154-codmodul = 'JU'.
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO
IF wa_zycbt007-fprovisao = space.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO
IF wa_zycbt007-fprovisao = space and
p_agrup is initial.
* << Fim da inclusão
CLEAR /pws/zycbt154-nrcorresp.
ENDIF.
ELSEIF itab_contabil-tpcontab = 'PR'.
/pws/zycbt154-codmodul = 'PR'.
ELSEIF itab_contabil-tpcontab EQ 'C'.
/pws/zycbt154-codmodul = 'C'.
/pws/zycbt154-codint = itab_contabil-nrparcj.
ELSE.
/pws/zycbt154-codmodul = 'T'.
IF itab_contabil-tpcontr+0(1) CA 'PS'.
...
...
itab_contabil-gsber itab_contabil-waers
itab_contabil-d_newkoir itab_contabil-c_newkoir
INTO v_cpochv.
ENDIF.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-02'
tabela = '/PWS/ZYCBT002'
cpochv = v_cpochv
tpmsg = 'S'.
IF sy-subrc = 0.
MOVE-CORRESPONDING itab_contabil TO /pws/zycbt154.
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO
IF wa_zycbt007-fprovisao NE 'C'.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO
IF wa_zycbt007-fprovisao NE 'C' and
p_agrup is initial.
* << Fim da inclusão
CLEAR: /pws/zycbt154-nrcorresp.
ENDIF.
/pws/zycbt154-vlme = itab_contabil-vlmeir.
/pws/zycbt154-codmod = 'E'.
IF itab_contabil-tpcontab EQ 'C'.
/pws/zycbt154-codmodul = 'CI'.
/pws/zycbt154-codint = itab_contabil-nrparcp.
ELSE.
/pws/zycbt154-codmodul = 'IR'.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBI112
...
APPEND itab_status.
ENDIF.
SET PF-STATUS '003' EXCLUDING itab_status.
NEW-PAGE LINE-SIZE 220 LINE-COUNT 65 NO-TITLE.
PERFORM exibe_cabecalho_contabil.
REFRESH itab_contabil.
IF wa_zycbt007-fprovisao = 'C'.
SORT itab_relat BY tpcontab bukrs nrseq nrparcp nrparcj bco codint
gsber waers d_newko c_newko vlme.
ELSE.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
if p_agrup is initial.
* << Fim da inclusão
SORT itab_relat BY tpcontab bukrs bco codint gsber waers d_newko
c_newko nrseq nrparcp nrparcj vlme.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
else.
SORT itab_relat BY tpcontab bukrs nrseq nrparcp nrparcj bco codint
gsber waers d_newko c_newko vlme.
endif.
* << Fim da inclusão
ENDIF.
itab_relat_aux[] = itab_relat[].
...
...
v_tabix = v_tabix + 1.
IF itab_relat-vlmej IS INITIAL.
CHECK NOT itab_relat-vlmetransf IS INITIAL.
ENDIF.
CHECK itab_relat-f_encerrado IS INITIAL.
ON CHANGE OF itab_relat-tpcontab.
PERFORM processa_subtotal_waers USING v_vlmej_w
v_vlmeir_w.
ENDON.
IF wa_zycbt007-fprovisao = 'C' OR itab_relat-tpcontab = 'T'.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
ON CHANGE OF itab_relat-nrseq.
PERFORM processa_subtotal_waers USING v_vlmej_w
v_vlmeir_w.
ENDON.
ENDIF.
IF wa_zycbt007-fprovisao ne 'C' .
if not p_agrup is initial.
* << Fim da inclusão
ON CHANGE OF itab_relat-nrseq.
PERFORM processa_subtotal_waers USING v_vlmej_w
v_vlmeir_w.
ENDON.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
endif.
* << Fim da inclusão
ENDIF.
IF itab_relat-tpcontab = 'T'.
ON CHANGE OF itab_relat-nrparcp.
PERFORM processa_subtotal_waers USING v_vlmej_w
v_vlmeir_w.
ENDON.
ELSEIF itab_relat-tpcontab <> 'T' AND
wa_zycbt007-fprovisao = 'C'.
ON CHANGE OF itab_relat-nrparcj.
PERFORM processa_subtotal_waers USING v_vlmej_w
v_vlmeir_w.
ENDON.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
elseif itab_relat-tpcontab <> 'T' AND
wa_zycbt007-fprovisao ne 'C'.
if not p_agrup is initial.
ON CHANGE OF itab_relat-nrparcj.
PERFORM processa_subtotal_waers USING v_vlmej_w
v_vlmeir_w.
ENDON.
endif.
* << Fim da inclusão
ENDIF.
ON CHANGE OF itab_relat-bco.
PERFORM processa_subtotal_waers USING v_vlmej_w
v_vlmeir_w.
ENDON.
ON CHANGE OF itab_relat-codint.
PERFORM processa_subtotal_waers USING v_vlmej_w
v_vlmeir_w.
ENDON.
ON CHANGE OF itab_relat-gsber.
...
...
itab_contabil-waers itab_contabil-d_newko
itab_contabil-c_newko INTO v_cpochv.
ENDIF.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-02'
tabela = '/PWS/ZYCBT113'
cpochv = v_cpochv
tpmsg = 'S'.
IF sy-subrc = 0.
CLEAR /pws/zycbt154.
MOVE-CORRESPONDING itab_contabil TO /pws/zycbt154.
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO
IF wa_zycbt007-fprovisao = 'C' OR
itab_contabil-tpcontab = 'T'.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO
IF wa_zycbt007-fprovisao = 'C' OR
itab_contabil-tpcontab = 'T' or
( wa_zycbt007-fprovisao ne 'C' and
p_agrup = 'X' ) .
* << Fim da inclusão
/pws/zycbt154-nrcorresp = itab_contabil-nrseq.
/pws/zycbt154-tpcontr = itab_contabil-nrparcj+1(2).
ELSE.
CLEAR: /pws/zycbt154-nrcorresp, /pws/zycbt154-tpcontr.
ENDIF.
/pws/zycbt154-codmod = 'I'.
IF itab_contabil-tpcontab IS INITIAL.
/pws/zycbt154-codmodul = 'JU'.
ELSEIF itab_contabil-tpcontab EQ 'C'.
/pws/zycbt154-codmodul = 'C'.
...
...
CONCATENATE 'IR' itab_contabil-codint itab_contabil-bco
itab_contabil-bukrs itab_contabil-gsber
itab_contabil-waers itab_contabil-d_newkoir
itab_contabil-c_newkoir INTO v_cpochv.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-02'
tabela = '/PWS/ZYCBT113'
cpochv = v_cpochv
tpmsg = 'S'.
IF sy-subrc = 0.
MOVE-CORRESPONDING itab_contabil TO /pws/zycbt154.
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO
IF wa_zycbt007-fprovisao = 'C'.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO
IF wa_zycbt007-fprovisao = 'C' or
( wa_zycbt007-fprovisao ne 'C' and
p_agrup = 'X' ).
* << Fim da inclusão
/pws/zycbt154-nrcorresp = itab_contabil-nrseq.
/pws/zycbt154-tpcontr = itab_contabil-nrparcj+1(2).
ELSE.
CLEAR: /pws/zycbt154-nrcorresp, /pws/zycbt154-tpcontr.
ENDIF.
/pws/zycbt154-vlme = itab_contabil-vlmeir.
/pws/zycbt154-codmod = 'I'.
/pws/zycbt154-codmodul = 'IR'.
/pws/zycbt154-belnr_pr = itab_zycbt032-belnr.
/pws/zycbt154-c_newko = itab_contabil-c_newkoir.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBI113
...
itab_status-fcode = 'CONT'.
APPEND itab_status.
ENDIF.
SET PF-STATUS '003' EXCLUDING itab_status.
REFRESH itab_contabil.
REFRESH itab_contabil_estorno.
IF wa_zycbt007-fprovisao = 'C'.
SORT itab_relat BY tpcontab bukrs nrseq nrparcp bco tpemprest gsber
waers d_newko c_newko vlme.
ELSE.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
if p_agrup is initial.
* << Fim da inclusão
SORT itab_relat BY tpcontab bukrs bco tpemprest gsber waers d_newko
c_newko nrseq nrparcp vlme .
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
else.
SORT itab_relat BY tpcontab bukrs nrseq nrparcp bco tpemprest gsber
waers d_newko c_newko vlme.
endif.
* << Fim da inclusão
ENDIF.
LOOP AT itab_relat.
...
...
IF itab_contabil[] IS INITIAL.
MESSAGE e061(/pws/zycbm) WITH text-064.
EXIT.
ENDIF.
IF wa_zycbt007-fprovisao = 'C'.
SORT itab_relat BY tpcontab nrseq nrparcj bukrs bco tpemprest gsber
waers d_newko c_newko vlme.
SORT itab_contabil BY tpcontab nrcorresp nrparcj bukrs bco tpemprest
gsber waers d_newko c_newko vlme.
ELSE.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
if p_agrup is initial.
* << Fim da inclusão
SORT itab_relat BY tpcontab bukrs bco tpemprest gsber waers d_newko
c_newko nrseq vlme nrparcj.
SORT itab_contabil BY tpcontab bukrs bco tpemprest gsber waers
d_newko c_newko nrcorresp nrparcj vlme.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
else.
SORT itab_relat BY tpcontab nrseq nrparcj bukrs bco tpemprest gsber
waers d_newko c_newko vlme.
SORT itab_contabil BY tpcontab nrcorresp nrparcj bukrs bco tpemprest
gsber waers d_newko c_newko vlme.
endif.
* << Fim da inclusão
ENDIF.
CLEAR v_tabix.
LOOP AT itab_contabil.
v_tabix = v_tabix + 1.
AT FIRST.
NEW-PAGE LINE-SIZE 220 LINE-COUNT 65 NO-TITLE.
PERFORM exibe_cabecalho_contabil.
ENDAT.
IF wa_zycbt007-fprovisao = 'C'.
CLEAR: v_vlmej_w, v_vlmeir_w.
...
...
itab_relat-aux = 'X'.
MODIFY itab_relat INDEX sy-tabix TRANSPORTING aux.
v_vlmej_w = v_vlmej_w + itab_relat-vlme.
v_vlmeir_w = v_vlmeir_w + itab_relat-vlmeir.
ENDLOOP.
itab_contabil-vlme = itab_contabil-vlrprov.
MODIFY itab_contabil INDEX v_tabix TRANSPORTING vlme.
ENDIF.
ELSE.
IF itab_contabil-tpcontab <> 'T'.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
if p_agrup is initial.
* << Fim da inclusão
CLEAR: v_vlmej_w, v_vlmeir_w.
LOOP AT itab_relat WHERE tpcontab = itab_contabil-tpcontab
AND bukrs = itab_contabil-bukrs
AND bco = itab_contabil-bco
AND tpemprest = itab_contabil-tpemprest
AND gsber = itab_contabil-gsber
AND waers = itab_contabil-waers
AND d_newko = itab_contabil-d_newko
AND c_newko = itab_contabil-c_newko
AND ( vlrprov > 0 OR vlrprovir > 0 )
AND aux <> 'X'.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
PERFORM imprime_itens_contabil.
itab_relat-aux = 'X'.
MODIFY itab_relat INDEX sy-tabix TRANSPORTING aux.
v_vlmej_w = v_vlmej_w + itab_relat-vlmej.
v_vlmeir_w = v_vlmeir_w + itab_relat-vlmeir.
ENDLOOP.
else.
CLEAR: v_vlmej_w, v_vlmeir_w.
LOOP AT itab_relat WHERE bukrs = itab_contabil-bukrs
AND nrseq = itab_contabil-nrcorresp
AND nrparcj = itab_contabil-nrparcj
AND bco = itab_contabil-bco
AND tpemprest = itab_contabil-tpemprest
AND gsber = itab_contabil-gsber
AND waers = itab_contabil-waers
AND d_newko = itab_contabil-d_newko
AND c_newko = itab_contabil-c_newko
AND ( vlrprov > 0 OR vlrprovir > 0 )
AND aux <> 'X'.
* << Fim da inclusão
PERFORM imprime_itens_contabil.
itab_relat-aux = 'X'.
MODIFY itab_relat INDEX sy-tabix TRANSPORTING aux.
v_vlmej_w = v_vlmej_w + itab_relat-vlmej.
v_vlmeir_w = v_vlmeir_w + itab_relat-vlmeir.
ENDLOOP.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
endif.
* << Fim da inclusão
IF sy-subrc = 0.
MOVE-CORRESPONDING itab_contabil TO itab_contabil_estorno.
itab_contabil_estorno-vlrprov = v_vlmej_w.
itab_contabil_estorno-vlrprovir = v_vlmeir_w.
APPEND itab_contabil_estorno.
ENDIF.
ELSE.
CLEAR: v_vlmej_w, v_vlmeir_w.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
if p_agrup is initial.
* << Fim da inclusão
LOOP AT itab_relat WHERE tpcontab = 'T'
AND nrseq = itab_contabil-nrcorresp
AND nrparcp = itab_contabil-nrparcp
AND bukrs = itab_contabil-bukrs
AND bco = itab_contabil-bco
AND tpemprest = itab_contabil-tpemprest
AND gsber = itab_contabil-gsber
AND waers = itab_contabil-waers
AND d_newko = itab_contabil-d_newko
AND c_newko = itab_contabil-c_newko
AND aux <> 'X'.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
PERFORM imprime_itens_contabil.
itab_relat-aux = 'X'.
MODIFY itab_relat INDEX sy-tabix TRANSPORTING aux.
v_vlmej_w = v_vlmej_w + itab_relat-vlmej.
v_vlmeir_w = v_vlmeir_w + itab_relat-vlmeir.
ENDLOOP.
else.
LOOP AT itab_relat WHERE bukrs = itab_contabil-bukrs
AND nrparcp = itab_contabil-nrparcp
AND nrseq = itab_contabil-nrcorresp
AND bco = itab_contabil-bco
AND tpemprest = itab_contabil-tpemprest
AND gsber = itab_contabil-gsber
AND waers = itab_contabil-waers
AND d_newko = itab_contabil-d_newko
AND c_newko = itab_contabil-c_newko
AND tpcontab = 'T'
AND aux <> 'X'.
* << Fim da inclusão
PERFORM imprime_itens_contabil.
itab_relat-aux = 'X'.
MODIFY itab_relat INDEX sy-tabix TRANSPORTING aux.
v_vlmej_w = v_vlmej_w + itab_relat-vlmej.
v_vlmeir_w = v_vlmeir_w + itab_relat-vlmeir.
ENDLOOP.
* >> Início da inclusão: FORM PROCESSA_DADOS_CONTABIL
endif.
* << Fim da inclusão
IF sy-subrc = 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR003
...
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,
v_parafator LIKE tcurr-tfact,
v_separa TYPE c,
v_vlprov_aux LIKE /pws/zycbt004-vlme,
* >> Início da inclusão:
v_fprov TYPE /pws/zycbt007-fprovisao,
* << Fim da inclusão
v_liq TYPE c.
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.
* >> Início da inclusão:
PARAMETERS: p_agrup AS CHECKBOX.
* << Fim da inclusão
SELECTION-SCREEN END OF BLOCK a1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-046.
PARAMETERS: s_rbrotm RADIOBUTTON GROUP rg1,
...
...
EXPORT s_nrseqc TO MEMORY ID '203'.
EXPORT v_programa TO MEMORY ID '204'.
EXPORT s_rbrela TO MEMORY ID '205'.
SUBMIT /pws/zyglr030 AND RETURN.
ELSE.
MESSAGE i061 WITH text-139 text-140.
ENDIF.
WHEN 'MODO'.
PERFORM modo_batch_input.
ENDCASE.
* >> Início da inclusão:
AT SELECTION-SCREEN OUTPUT.
CLEAR v_fprov.
v_fprov = 'C'.
CLEAR wa_zycbt007.
SELECT SINGLE * FROM /pws/zycbt007
INTO wa_zycbt007
WHERE bukrs EQ s_bukrs.
IF sy-subrc = 0.
v_fprov = wa_zycbt007-fprovisao.
ENDIF.
LOOP AT SCREEN.
IF screen-name = 'P_AGRUP'.
IF v_fprov EQ 'C'.
screen-input = 0.
screen-invisible = 1.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
* << Fim da inclusão
TOP-OF-PAGE.
PERFORM exibe_cabecalho.
START-OF-SELECTION.
PERFORM seleciona_dados.
PERFORM processa_dados.
SET PF-STATUS '003' EXCLUDING 'CONT'.
END-OF-SELECTION.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'RCON'.
...
...
ENDLOOP.
ENDIF.
IF v_variacao LT 0.
DELETE itab_relat WHERE nrseqc = itab_relat-nrseqc
AND nrparcj = itab_relat-nrparcj.
CONTINUE.
ENDIF.
ENDIF.
CHECK itab_relat-f_encerrado <> 'C'.
CHECK itab_relat-f_encerrado <> 'E'.
* >> Início da exclusão: FORM PROCESSA_ABERTO
IF NOT wa_zycbt007-fprovisao IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_ABERTO
IF NOT wa_zycbt007-fprovisao IS INITIAL .
* << Fim da inclusão
IF v_tabix NE 1.
IF ( v_bukrs NE itab_relat-bukrs ) OR
( v_waers NE itab_relat-waers ) OR
( v_gsber NE itab_relat-gsber ) OR
( v_tpcontr NE itab_relat-tpcontr ) OR
( v_d_newko NE itab_relat-d_newko ) OR
( v_c_newko NE itab_relat-c_newko ) OR
( v_bco NE itab_relat-bco ) OR
( v_tpcontab NE itab_relat-tpcontab ) OR
( itab_relat-tpcontab EQ 'C' AND
...
...
itab_relat-tpcontr = 'E' ).
PERFORM processa_subtotal_waers USING
v_vlprov v_vlprovir 'X'.
ELSE.
PERFORM processa_subtotal_waers USING
v_vlprov v_vlprovir ' '.
ENDIF.
CLEAR: v_vlprov, v_vlprovir, v_nrseq.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM PROCESSA_ABERTO
ELSE.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_ABERTO
ELSEIF wa_zycbt007-fprovisao IS INITIAL AND
p_agrup = ' ' .
ON CHANGE OF itab_relat-bukrs.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w ' '.
ENDON.
ON CHANGE OF itab_relat-waers.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w ' '.
ENDON.
ON CHANGE OF itab_relat-gsber.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w ' '.
ENDON.
ON CHANGE OF itab_relat-tpcontr.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w ' '.
ENDON.
ON CHANGE OF itab_relat-d_newko.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w ' '.
ENDON.
ON CHANGE OF itab_relat-c_newko.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w ' '.
ENDON.
ON CHANGE OF itab_relat-bco.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w ' '.
ENDON.
ELSEIF wa_zycbt007-fprovisao IS INITIAL AND
p_agrup = 'X' .
IF v_tabix NE 1.
IF v_nrseq NE itab_relat-nrseqc .
* << Fim da inclusão
ON CHANGE OF itab_relat-bukrs.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w ' '.
ENDON.
ON CHANGE OF itab_relat-waers.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w ' '.
ENDON.
ON CHANGE OF itab_relat-gsber.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w ' '.
ENDON.
ON CHANGE OF itab_relat-tpcontr.
...
...
ENDON.
ON CHANGE OF itab_relat-d_newko.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w ' '.
ENDON.
ON CHANGE OF itab_relat-c_newko.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w ' '.
ENDON.
ON CHANGE OF itab_relat-bco.
PERFORM processa_subtotal_waers USING v_vlmej_w v_vlmeir_w ' '.
ENDON.
* >> Início da inclusão: FORM PROCESSA_ABERTO
ENDIF.
ENDIF.
* << Fim da inclusão
ENDIF.
WRITE: / sy-vline,
itab_relat-bco,
itab_relat-descbanc,
itab_relat-nrseqc,
itab_relat-dtoperac,
itab_relat-dtentreg,
itab_relat-dtliquid,
itab_relat-txjtotal NO-ZERO,
itab_relat-vlme CURRENCY itab_relat-waers,
...
...
NO-ZERO.
WRITE: 252 itab_relat-aliqir,
260 itab_relat-vlmeir CURRENCY itab_relat-waers NO-ZERO.
ENDIF.
WRITE: AT sy-linsz sy-vline.
MOVE itab_relat TO wa_itab_relat.
IF itab_relat-vlmitransf IS INITIAL
AND itab_relat-vlmetransf IS INITIAL.
ADD itab_relat-vlmej TO v_vlmej_w.
ADD itab_relat-vlmeir TO v_vlmeir_w.
* >> Início da inclusão: FORM PROCESSA_ABERTO
v_nrseq = itab_relat-nrseqc.
* << Fim da inclusão
CHECK ( wa_zycbt007-fprovisao NE 'C' AND
/pws/zyglt009-calc_rot_sep NE 'S' AND
/pws/zyglt009-cont_rot_sep NE 'S' ) OR
wa_zycbt007-fprovisao EQ 'C'.
IF wa_zycbt007-fprovisao EQ space.
ADD itab_relat-vlrprov TO v_vlprov.
ADD itab_relat-vlirprov TO v_vlprovir.
ELSE.
IF itab_relat-tpcontab EQ 'C' AND
( itab_relat-nrparcj = '001' OR
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR112
...
v_tcomis LIKE /pws/zycbt129-vlme,
v_tir LIKE /pws/zycbt129-vlme,
v_answer TYPE c,
v_data LIKE sy-datum,
v_monat LIKE t001b-frpe1,
v_nrseq LIKE /pws/zycbt112-nrseq,
v_tpcontab TYPE c,
v_msg(150) TYPE c,
v_programa TYPE sy-cprog,
v_nrparcj LIKE /pws/zycbt154-tpcontr,
* >> Início da inclusão:
v_fprov type /pws/zycbt007-fprovisao,
* << Fim da inclusão
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.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
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 inclusão:
Parameters: p_agrup as checkbox.
* << Fim da inclusão
SELECTION-SCREEN END OF BLOCK b1.
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.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-045.
PARAMETERS: s_rbmens RADIOBUTTON GROUP rg2 USER-COMMAND rg2,
s_rbinte RADIOBUTTON GROUP rg2.
SELECTION-SCREEN END OF BLOCK b3.
...
...
else.
endif.
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.
* >> Início da inclusão:
ENDIF.
clear v_fprov.
v_fprov = 'C'.
CLEAR wa_zycbt007.
SELECT SINGLE * FROM /pws/zycbt007
INTO wa_zycbt007
WHERE bukrs EQ s_bukrs.
if sy-subrc = 0.
v_fprov = wa_zycbt007-fprovisao.
endif.
IF screen-name = 'P_AGRUP'.
if v_fprov EQ 'C'.
screen-input = 0.
screen-invisible = 1.
endif.
* << Fim da inclusão
ENDIF.
MODIFY SCREEN.
ENDLOOP.
PERFORM exclui_campos.
START-OF-SELECTION.
PERFORM seleciona_dados.
PERFORM processa_dados.
END-OF-SELECTION.
REFRESH itab_status.
itab_status-fcode = 'CONT'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR113
...
v_vlpagir LIKE /pws/zycbt112-vlme,
v_vlpagc LIKE /pws/zycbt112-vlme,
v_vlpagj2 LIKE /pws/zycbt112-vlme,
v_vlpagir2 LIKE /pws/zycbt112-vlme,
v_vlpagc2 LIKE /pws/zycbt112-vlme,
v_tabix LIKE sy-tabix,
v_data LIKE sy-datum,
v_programa TYPE sy-cprog,
v_nrseq LIKE /pws/zycbt112-nrseq,
v_nrparcj LIKE /pws/zycbt154-tpcontr,
* >> Início da inclusão:
v_fprov type /pws/zycbt007-fprovisao,
* << Fim da inclusão
v_codmod LIKE /pws/zycbt154-codmod.
DATA: v_nrparcp LIKE /pws/zycbt113-nrparc,
v_nrparcj2 LIKE /pws/zycbt113-nrparc,
v_tpcontab TYPE c.
DATA: v_vlmej_w LIKE /pws/zycbt128-vlme,
v_vlrprov_w LIKE /pws/zycbt129-vlrprov,
v_vlmeir_w LIKE /pws/zycbt128-vlme.
DATA : v_answer(1),
t_lista(180) OCCURS 0 WITH HEADER LINE.
DATA: v_syrepid LIKE sy-repid,
...
...
v_nrdias(8) TYPE n,
v_msg(150) TYPE c,
v_quebra(1) TYPE c.
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-001.
PARAMETERS: s_bukrs LIKE /pws/zycbt128-bukrs OBLIGATORY,
s_dtentr LIKE sy-datum,
s_dtlanc LIKE sy-datum.
SELECT-OPTIONS s_tpemp FOR /pws/zycbe128-tpemprest.
SELECT-OPTIONS: s_nrseq FOR /pws/zycbt128-nrseq
MATCHCODE OBJECT /pws/zycba154.
* >> Início da inclusão:
Parameters: p_agrup as checkbox.
* << Fim da inclusão
SELECTION-SCREEN END OF BLOCK a1.
SELECTION-SCREEN BEGIN OF BLOCK a2 WITH FRAME TITLE text-046.
PARAMETERS: s_rbrotm RADIOBUTTON GROUP rg1,
s_rbrela RADIOBUTTON GROUP rg1.
SELECTION-SCREEN END OF BLOCK a2.
SELECTION-SCREEN BEGIN OF BLOCK a3 WITH FRAME TITLE text-045.
PARAMETERS: s_rbmens RADIOBUTTON GROUP rg2 USER-COMMAND rg2,
s_rbinte RADIOBUTTON GROUP rg2.
SELECTION-SCREEN END OF BLOCK a3.
INCLUDE /pws/zycbi113.
...
...
screen-input = 1.
ENDIF.
ELSEIF screen-name EQ 'P_ZEBRA' OR screen-name EQ 'P_OTIM' OR
screen-name EQ 'P_VARIAN'.
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.
* >> Início da inclusão:
clear v_fprov.
v_fprov = 'C'.
CLEAR wa_zycbt007.
SELECT SINGLE * FROM /pws/zycbt007
INTO wa_zycbt007
WHERE bukrs EQ s_bukrs.
if sy-subrc = 0.
v_fprov = wa_zycbt007-fprovisao.
endif.
IF screen-name = 'P_AGRUP'.
if v_fprov eq 'C'.
screen-input = 0.
screen-invisible = 1.
endif.
endif.
* << Fim da inclusão
MODIFY SCREEN.
ENDLOOP.
PERFORM exclui_campos.
START-OF-SELECTION.
PERFORM seleciona_dados.
IF NOT itab_zycbt128[] IS INITIAL.
PERFORM processa_dados.
ELSE.
MESSAGE i015 WITH text-127 text-128.
ENDIF.
...
...
IF sy-subrc = 0.
MOVE-CORRESPONDING itab_contabil_estorno TO /pws/zycbt154.
/pws/zycbt154-codmod = 'F'.
IF itab_contabil_estorno-tpcontab = ' '.
/pws/zycbt154-codmodul = 'JU'.
/pws/zycbt154-vlme = itab_contabil_estorno-vlrprov.
ELSEIF itab_contabil_estorno-tpcontab = 'C'.
/pws/zycbt154-codmodul = 'C'.
/pws/zycbt154-vlme = itab_contabil_estorno-vlrprov.
ENDIF.
* >> Início da inclusão: FORM EXECUTA_TRANS_F_02_ESTORNO_MES
if p_agrup is initial.
* << Fim da inclusão
CLEAR /pws/zycbt154-nrcorresp.
* >> Início da inclusão: FORM EXECUTA_TRANS_F_02_ESTORNO_MES
endif.
* << Fim da inclusão
/pws/zycbt154-dtcont = s_dtentr.
/pws/zycbt154-belnr_pr = itab_zycbt032-belnr.
/pws/zycbt154-codint = itab_contabil_estorno-tpemprest.
INSERT INTO /pws/zycbt154 VALUES /pws/zycbt154.
COMMIT WORK.
IF itab_contabil_estorno-tpcontab <> 'T'.
...
...
IF sy-subrc = 0.
MOVE-CORRESPONDING itab_contabil_estorno TO /pws/zycbt154.
/pws/zycbt154-vlme = itab_contabil_estorno-vlrprovir.
/pws/zycbt154-codmod = 'F'.
/pws/zycbt154-codmodul = 'IR'.
/pws/zycbt154-belnr_pr = itab_zycbt032-belnr.
/pws/zycbt154-vlme = itab_contabil_estorno-vlrprovir.
/pws/zycbt154-c_newko = itab_contabil_estorno-c_newkoir.
/pws/zycbt154-d_newko = itab_contabil_estorno-d_newkoir.
/pws/zycbt154-codint = itab_contabil_estorno-tpemprest.
* >> Início da inclusão: FORM EXECUTA_TRANS_F_02_ESTORNO_MES
if p_agrup is initial.
* << Fim da inclusão
CLEAR /pws/zycbt154-nrcorresp.
* >> Início da inclusão: FORM EXECUTA_TRANS_F_02_ESTORNO_MES
endif.
* << Fim da inclusão
INSERT INTO /pws/zycbt154 VALUES /pws/zycbt154.
COMMIT WORK.
ENDIF.
LOOP AT itab_zycbt032 WHERE tcode = 'F-02'
AND tabela = '/PWS/ZYCBT129'
AND cpochv = v_cpochv.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/ZYCBR003
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): P_AGRUP
Texto: (34 caracteres)
"Rotina Mensal por Contrato"
Referência ao Dictionary: NÃO
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/ZYCBR112
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): P_AGRUP
Texto: (38 caracteres)
"Rot. Mensal por Financiamento"
Referência ao Dictionary: NÃO
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/ZYCBR113
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): P_AGRUP
Texto: (36 caracteres)
"Rotina Mensal por Empréstimo"
Referência ao Dictionary: NÃO