Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Rotina Mensal
Data/Hora da Publicação: 05/10/2007 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:17:11
Descrição da Nota: CODE INSPECTOR(ROTINA MENSAL)
Sintoma
O código está passando pelo code inspector e retornando muitos erros.
Solução
Os erros foram corrigidos no F6D.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04930 Data: 05/10/2007 Hora: 14:50:35
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04930
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00015
----------------------------------------------------------------------------------------------------
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
00474 - 00002 - 6.0 - 00021 - CALCULO DO VALOR MI PARA JPY NA ROTINA MENSAL PARA CLEARING NO PA
00673 - 00003 - 6.0 - 00022 - 281688 - ROTINA MENSAL ULTIMA PARCELA - DEDUZ JUROS LIQUIDAÇÃO
01033 - 00004 - 6.0 - 00022 - ROTINA MENSAL EXPORTAÇÃO - ESTORNO MENSAL - DATA LANÇAMENTO ESTOR
01054 - 00005 - 6.0 - 00023 - ROTINA MENSAL COM TRANSFERÊNCIA DE LONGO PARA CURTO, GERAVA F-30
01309 - 00006 - 6.0 - 00023 - ROTINA MENSAL EXPORTAÇÃO CONTABILIZAÇÃO SEPARADA DE ACC E ACE = S
02434 - 00007 - 6.0 - 00025 - ROTINA MENSAL - DUPLICAR REGISTRO CONTRATO DE PT
02567 - 00008 - 6.0 - 00025 - ROTINA MENSAL - ERRO AO CALCULAR OS JUROS P/ CONTRATOS COM ESCALO
02625 - 00009 - 6.0 - 00025 - ROTINA MENSAL EXPORTAÇÃO - NÃO CONTABILIZA F-02
02670 - 00010 - 6.0 - 00026 - ROTINA MENSAL EXPORTAÇÃO - EXCLUSÃO MENSAGEM WARNING
02674 - 00011 - 6.0 - 00026 - ROTINA MENSAL EXPORTAÇÃO - COMISSÃO - BCO. NEGOCIADOR
02694 - 00012 - 6.0 - 00026 - ROTINA MENSAL EXPORTAÇÃO - TRANSFERÊNCIA LP/CP - CONTABILIZAÇÃO
03166 - 00013 - 6.0 - 00026 - ROTINA MENSAL - EXPORTAÇÃO - VALOR JUROS
03221 - 00014 - 6.0 - 00026 - ROTINA MENSAL EXPORTAÇÃO - CONTA DÉBITO NA MÃO COM 17 CARACTERES
03289 - 00015 - 6.0 - 00026 - ROTINA MENSAL - CAMPO TAXA - MONTANTE CONVERTE
03450 - 00016 - 7.0 - 00001 - DESENVOLVIMENTO ADICIONAL - ESTORNO DA ROTINA MENSAL.
03457 - 00017 - 7.0 - 00001 - ROTINA MENSAL EXPORTAÇÃO /PWS/ZYCBT062
03651 - 00018 - 7.0 - 00001 - ROTINA MENSAL DE EXPORTAÇÃO - JUROS ACC X PRÉ
03756 - 00019 - 7.0 - 00001 - ROTINA MENSAL EXPORTAÇÃO - DUPLICIDADE PROVISÃO COMISSÃO
03942 - 00020 - 7.0 - 00002 - ROTINA MENSAL EXPORTAÇÃO - TAXAS
04193 - 00021 - 7.0 - 00002 - ROTINA MENSAL EXPORTAÇÃO - JUROS ACC X PRÉ
04606 - 00022 - 7.0 - 00002 - PAÍS DE DESTINO INDEFINIDO EM EMBARQUE POR PEDIDO DE COMPRA
----------------------------------------------------------------------------------------------------
CODE INSPECTOR(ROTINA MENSAL)
----------------------------------------------------------------------------------------------------
Palavras Chave:
CODE INSPECTOR(ROTINA MENSAL)
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCBI003
REPS /PWS/ZYCBR003
REPT /PWS/ZYCBR003
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBI003
...
fcode LIKE rsmpe-func,
END OF itab_status.
DATA: BEGIN OF itab_total_ac OCCURS 0,
waers LIKE /pws/zycbt001-waers,
slacc LIKE /pws/zycbt001-vlme,
slace LIKE /pws/zycbt001-vlme,
END OF itab_total_ac.
DATA: itab_zycbt009 LIKE /pws/zycbt009 OCCURS 3 WITH HEADER LINE,
itab_zycbt010 LIKE /pws/zycbt010 OCCURS 2 WITH HEADER LINE,
itab_zycbt011 LIKE /pws/zycbt011 OCCURS 5 WITH HEADER LINE,
* >> Início da exclusão:
itab_zycbt013 LIKE /pws/zycbt013 OCCURS 5 WITH HEADER LINE,
* << Fim da exclusão
itab_zycbt022 LIKE /pws/zycbt022 OCCURS 5 WITH HEADER LINE,
* >> Início da exclusão:
itab_zycbt029 LIKE /pws/zycbt154 OCCURS 10 WITH HEADER LINE,
* << Fim da exclusão
itab_zycbt154 LIKE /pws/zycbt154 OCCURS 10 WITH HEADER LINE,
itab_tcurx LIKE tcurx OCCURS 10 WITH HEADER LINE.
* >> Início da exclusão:
DATA: BEGIN OF itab_zycbt154t OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt154.
DATA: END OF itab_zycbt154t.
DATA: BEGIN OF itab_zycbt001_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt001.
DATA: END OF itab_zycbt001_aux.
DATA: BEGIN OF itab_zycbt002_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt002.
DATA: END OF itab_zycbt002_aux.
* << Fim da exclusão
DATA : BEGIN OF itab_zycbt036 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt036.
DATA : END OF itab_zycbt036.
DATA: BEGIN OF itab_contabil OCCURS 20,
tpcontab(2) TYPE c,
tpcontr LIKE /pws/zycbt001-tpcontr,
bco LIKE /pws/zycbt001-bconegoc,
descbanc LIKE lfa1-name1,
dtcont LIKE sy-datum,
bukrs LIKE /pws/zycbt001-bukrs,
...
...
wa_zycbt007 LIKE /pws/zycbt007,
v_contabilizado,
v_cpochv LIKE /pws/zycbe033-cpochv,
v_codeven LIKE /pws/zycbt011-codeven,
aux_relat LIKE itab_relat.
DATA: BEGIN OF wa_taxa_cambial,
txc LIKE tcurr-ukurs,
ftme LIKE tcurr-ffact,
ftmi LIKE tcurr-ffact,
END OF wa_taxa_cambial.
* >> Início da exclusão:
DATA: v_tamn TYPE i VALUE 248,
* << Fim da exclusão
* >> Início da inclusão:
DATA:
* << Fim da inclusão
v_dias_mes TYPE i,
* >> Início da exclusão:
v_agkon LIKE /pws/zycbe033-agkon,
v_newko LIKE /pws/zycbe033-d_newko,
* << Fim da exclusão
v_data LIKE /pws/zycbt154-dtcont,
v_totac LIKE /pws/zycbt001-vlme,
v_premio LIKE /pws/zycbt136-vlprinc,
v_dias TYPE i,
v_dias3 TYPE i,
...
...
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
OTHERS = 13.
* >> Início da inclusão: FORM PROCESSA_CALCULO_JUROS
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
WHEN 4.
WHEN 5.
WHEN 6.
WHEN 7.
WHEN 8.
WHEN 9.
WHEN 10.
WHEN 11.
WHEN 12.
WHEN 13.
WHEN OTHERS.
ENDCASE.
* << Fim da inclusão
ENDIF.
itab_msg-nrseqc = itab_zycbt001-nrseqc.
itab_msg-nrcontr = itab_zycbt001-nrcontr.
itab_msg-tpcontr = itab_zycbt001-tpcontr.
itab_msg-tpmsg = 'E'.
APPEND itab_msg.
ELSE.
MOVE-CORRESPONDING itab_relat TO wa_taxa_cambial.
v_ok = 'X'.
IF NOT v_liq IS INITIAL.
...
...
ENDIF.
ENDFORM.
FORM exibe_relatorio.
FIELD-SYMBOLS:
<fs_itab_relat> LIKE LINE OF itab_relat[].
DATA: v_nrlines TYPE i,
v_vlmej LIKE /pws/zycbt001-vlme,
v_vlmeir LIKE /pws/zycbt001-vlme,
v_vlmejc(16),
v_vlmij LIKE /pws/zycbt001-vlme,
* >> Início da exclusão: FORM EXIBE_RELATORIO
v_vlmiir LIKE /pws/zycbt001-vlme,
v_vlmijc(16),
* << Fim da exclusão
v_nrcorresp LIKE /pws/zycbt154-nrcorresp,
v_vlrjprov LIKE /pws/zycbt154-vlme,
v_vlirprov LIKE /pws/zycbt154-vlme,
v_faux,
v_waers LIKE /pws/zycbt001-waers,
* >> Início da exclusão: FORM EXIBE_RELATORIO
v_vlme_mes LIKE /pws/zycbt001-vlme,
v_vlmi_mes LIKE /pws/zycbt001-vlmi,
* << Fim da exclusão
v_nrdias(8) TYPE n,
v_tjuros LIKE /pws/zycbt004-vlme,
* >> Início da exclusão: FORM EXIBE_RELATORIO
v_tir LIKE /pws/zycbt004-vlme,
* << Fim da exclusão
v_primeiro TYPE c,
* >> Início da exclusão: FORM EXIBE_RELATORIO
v_sy_index LIKE sy-tabix,
* << Fim da exclusão
v_conta_dif TYPE c,
* >> Início da exclusão: FORM EXIBE_RELATORIO
v_ftpj LIKE itab_relat-ftpj,
* << Fim da exclusão
v_vlmej2 LIKE /pws/zycbt001-vlme,
v_vlmeir2 LIKE /pws/zycbt001-vlme.
...
...
itab_relat-vlmeir =
itab_relat-vlmeir * ( 10 ** ( itab_tcurx-currdec - 2 ) ).
MODIFY itab_relat.
ENDIF.
v_sytabix = v_sytabix + 1.
wa_itab_relat = itab_relat.
IF NOT itab_relat-txc IS INITIAL AND
itab_relat-tpcontab NE 'T'.
v_txc = itab_relat-txc.
ENDIF.
* >> Início da exclusão: FORM EXIBE_RELATORIO
v_sy_index = sy-tabix.
* << Fim da exclusão
READ TABLE itab_lfa1 WITH KEY lifnr = itab_relat-bco.
IF sy-subrc EQ 0.
itab_relat-descbanc = itab_lfa1-name1.
ELSE.
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.
ELSE.
itab_relat-vlirprov = itab_relat-vlmeir.
itab_relat-vlrprov = itab_relat-vlmej.
MODIFY itab_relat INDEX v_sytabix TRANSPORTING
vlrprov vlirprov.
ENDIF.
MOVE itab_relat-vlmej TO v_vlmej.
MOVE itab_relat-vlmij TO v_vlmij.
MOVE itab_relat-vlmeir TO v_vlmeir.
* >> Início da exclusão: FORM EXIBE_RELATORIO
MOVE itab_relat-vlme_mes TO v_vlme_mes.
MOVE itab_relat-vlmi_mes TO v_vlmi_mes.
* << Fim da exclusão
ULINE.
PERFORM calcula_vlmi USING aux_relat-tpcontr
aux_relat-waers
v_vlmej
v_txc
CHANGING v_vlmij.
FORMAT COLOR COL_NORMAL INTENSIFIED ON.
WRITE: / sy-vline,
text-106,
172 v_vlmej CURRENCY v_waers,
...
...
itab_total_ac-waers.
WRITE: AT v_tamr sy-vline.
FORMAT COLOR OFF.
ULINE.
ENDLOOP.
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).
CLEAR itab_msg.
IF p_txj IS INITIAL.
MOVE-CORRESPONDING itab_zycbt001 TO itab_msg.
itab_msg-tpmsg = 'W'.
itab_msg-msg = text-004.
APPEND itab_msg.
ENDIF.
ENDFORM.
* << Fim da exclusão
FORM exibe_cabecalho.
DATA: v_tamc TYPE i,
v_dia_sem(20),
v_textodia(23),
v_s_dtentr(10).
SELECT SINGLE butxt INTO (t001-butxt)
FROM t001
WHERE bukrs = s_bukrs.
SELECT SINGLE *
FROM /pws/zycbt021
...
...
ULINE.
ENDFORM.
FORM exibe_dia_da_semana USING p_dia_sem.
CALL FUNCTION '/PWS/ZYCB_DIA_DA_SEMANA'
EXPORTING
datum = sy-datum
IMPORTING
dia_da_semana = p_dia_sem
EXCEPTIONS
OTHERS = 1.
* >> Início da inclusão: FORM EXIBE_DIA_DA_SEMANA
CASE sy-subrc.
WHEN 1.
ENDCASE.
* << Fim da inclusão
ENDFORM.
FORM processa_dados_contabil.
itab_status-fcode = 'RCON'.
APPEND itab_status.
IF NOT v_contabilizado IS INITIAL OR
s_rbrela = 'X'.
itab_status-fcode = 'CONT'.
APPEND itab_status.
ENDIF.
SET PF-STATUS '003' EXCLUDING itab_status.
...
...
bukrs = itab_relat-bukrs
ktosl = 'DSE'
codaux1 = v_codaux1
codaux2 = v_codaux2
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM PREENCHE_CONTAS
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
ENDCASE.
* << Fim da inclusão
READ TABLE itab_contas INDEX 1.
IF sy-subrc = 0.
itab_relat-d_newko = itab_contas-konts.
ENDIF.
CONCATENATE 'IRRF' v_prazo INTO v_codaux1 SEPARATED BY space.
v_codaux2 = v_tpcontr.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = itab_relat-bukrs
ktosl = 'PVE'
codaux1 = v_codaux1
codaux2 = v_codaux2
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM PREENCHE_CONTAS
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
ENDCASE.
* << Fim da inclusão
READ TABLE itab_contas INDEX 1.
IF sy-subrc = 0.
itab_relat-c_newko = itab_contas-konth.
ENDIF.
CLEAR itab_zycbt011.
v_tpcontr = itab_relat-tpcontr.
IF /pws/zyglt009-cont_rot_sep EQ 'S'.
IF itab_relat-tpcontr(1) EQ 'A' AND
itab_relat-ftpj EQ 'E'.
v_codeven = '005E'.
...
...
ktosl = 'DSE'
codaux1 = v_codaux1
codaux2 = v_codaux2
codaux3 = v_codaux3
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM PREENCHE_CONTAS
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
ENDCASE.
* << Fim da inclusão
READ TABLE itab_contas INDEX 1.
IF sy-subrc = 0.
itab_relat-d_newko = itab_contas-konts.
ENDIF.
IF /pws/zyglt009-provjur_moeda = 'X' AND
itab_relat-waers = wa_zycbt007-waersa.
CONCATENATE 'JUROS' v_prazo wa_zycbt007-waersa
INTO v_codaux1 SEPARATED BY space.
ELSE.
CONCATENATE 'JUROS' v_prazo INTO v_codaux1 SEPARATED BY space.
...
...
ktosl = 'PVE'
codaux1 = v_codaux1
codaux2 = v_codaux2
codaux3 = v_codaux3
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM PREENCHE_CONTAS
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
ENDCASE.
* << Fim da inclusão
READ TABLE itab_contas INDEX 1.
IF sy-subrc = 0.
itab_relat-c_newko = itab_contas-konth.
ENDIF.
ENDFORM.
FORM lancamento_provisao.
DATA: v_descricao(30).
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO
SELECT * FROM /pws/zycbt013 INTO TABLE itab_zycbt013
WHERE tabela = '/PWS/ZYCBT154'.
* << Fim da exclusão
IF ( ( /pws/zyglt009-calc_rot_sep EQ 'S' OR
/pws/zyglt009-cont_rot_sep EQ 'S' ) AND
wa_zycbt007-fprovisao EQ 'C' ).
LOOP AT itab_contabil WHERE NOT subtotal IS initial.
v_sytabix = sy-tabix.
READ TABLE itab_contabil WITH KEY
nrcorresp = itab_contabil-nrcorresp
vlrprov = itab_contabil-vlrprov
subtotal = ' '.
IF sy-subrc = 0.
...
...
IF NOT itab_contabil-vlmetransf IS INITIAL.
itab_zycbe033-wrbtr = itab_contabil-vlmetransf.
ELSE.
itab_zycbe033-wrbtr = itab_contabil-vlrprov.
ENDIF.
IF wa_zycbt007-fdtdoc = 'L'.
itab_zycbe033-bldat = itab_zycbe033-budat.
ELSE.
itab_zycbe033-bldat = sy-datum.
ENDIF.
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO
READ TABLE itab_zycbt001
* << Fim da inclusão
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO
READ TABLE itab_zycbt001 WITH KEY
nrseqc = itab_contabil-nrcorresp.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO
WITH KEY nrseqc = itab_contabil-nrcorresp+2(8).
* << Fim da inclusão
IF sy-subrc = 0.
itab_zycbe033-brnch = itab_zycbt001-j_1bbranch.
ENDIF.
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
itab_zycbe033-kursf = itab_contabil-kursf.
itab_zycbe033-blart = itab_contabil-blart.
itab_zycbe033-d_gsber = itab_contabil-gsber.
itab_zycbe033-d_kostl = itab_contabil-kostl.
itab_zycbe033-d_prctr = itab_contabil-prctr.
itab_zycbe033-d_fipos = itab_contabil-fipos.
itab_zycbe033-d_fictr = itab_contabil-fictr.
itab_zycbe033-c_gsber = itab_contabil-gsber.
READ TABLE itab_zycbt001
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO
WITH KEY nrseqc = itab_contabil-nrcorresp.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_PROVISAO
WITH KEY nrseqc = itab_contabil-nrcorresp+2(8).
* << Fim da inclusão
IF sy-subrc = 0.
itab_zycbe033-werks = itab_zycbt001-werks.
ENDIF.
IF NOT itab_contabil-fipos_transf IS INITIAL AND
itab_contabil-tpcontab EQ 'T'.
itab_zycbe033-d_fipos = itab_contabil-fipos_transf.
itab_zycbe033-c_fipos = itab_contabil-fipos_transf.
ENDIF.
REFRESH itab_zyglt321.
IF itab_contabil-tpcontab IS INITIAL OR
...
...
ELSEIF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbt001-nrcontr.
itab_zycbe033-c_zuonr = /pws/zycbt001-nrcontr.
ENDIF.
WHEN 'ZTERM'.
IF itab_zyglt321-cpocb = 'ZTERM'.
itab_zycbe033-zterm = /pws/zycbt001-zterm.
ENDIF.
ENDCASE.
ENDLOOP.
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO
CALL CUSTOMER-FUNCTION '002'
TABLES
t_dados = itab_zycbe033.
* << Fim da exclusão
APPEND itab_zycbe033.
IF NOT itab_contabil-vlirprov IS INITIAL.
IF itab_contabil-tpcontab EQ 'C'.
CONCATENATE 'CI'
itab_contabil-bco itab_contabil-bukrs
itab_contabil-gsber itab_contabil-waers
itab_contabil-d_newkoir itab_contabil-c_newkoir
INTO itab_zycbe033-cpochv.
ELSE.
CONCATENATE 'IR' itab_contabil-bco itab_contabil-bukrs
itab_contabil-gsber itab_contabil-waers
itab_contabil-d_newkoir itab_contabil-c_newkoir
INTO itab_zycbe033-cpochv.
ENDIF.
itab_zycbe033-wrbtr = itab_contabil-vlirprov.
itab_zycbe033-d_newko = itab_contabil-d_newkoir.
itab_zycbe033-c_newko = itab_contabil-c_newkoir.
itab_zycbe033-blart = itab_contabil-blartir.
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO
CALL CUSTOMER-FUNCTION '003'
TABLES
t_dados = itab_zycbe033.
* << Fim da exclusão
APPEND itab_zycbe033.
ENDIF.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
IF itab_zycbt034 IS INITIAL AND
NOT itab_zycbe033[] IS INITIAL.
IF itab_contabil-tpcontab IS INITIAL OR
itab_contabil-tpcontab = 'PR' OR
itab_contabil-tpcontab EQ 'C'.
...
...
itab_contabil-tpcontr itab_contabil-bco
itab_contabil-bukrs itab_contabil-gsber
itab_contabil-waers itab_contabil-d_newko
itab_contabil-c_newko INTO v_cpochv.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-30'
tabela = '/PWS/ZYCBT002'
cpochv = v_cpochv
tpmsg = 'S'.
ENDIF.
IF sy-subrc = 0.
* >> Início da exclusão: FORM LANCAMENTO_PROVISAO
CALL CUSTOMER-FUNCTION '007'.
* << Fim da exclusão
UPDATE /pws/zycbt001 SET f_encerrado = 'C'
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.
...
...
CONCATENATE itab_zycbt154-codmodul itab_zycbt154-tpcontr
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.
* >> Início da exclusão: FORM LANCAMENTO_ESTORNO
CALL CUSTOMER-FUNCTION '008'.
* << Fim da exclusão
IF wa_zycbt007-fprovisao EQ space.
MOVE-CORRESPONDING itab_zycbt154 TO /pws/zycbt154.
DELETE /pws/zycbt154.
ELSE.
UPDATE /pws/zycbt154 SET status = 'S'
WHERE codmod = itab_zycbt154-codmod
AND codmodul = itab_zycbt154-codmodul
AND tpcontr = itab_zycbt154-tpcontr
AND codint = itab_zycbt154-codint
AND bco = itab_zycbt154-bco
...
...
EXPORTING
bukrs = itab_relat-bukrs
ktosl = 'CPT'
codaux1 = v_codaux1
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM PREENCHE_CONTAS_TRANSFERENCIA
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
ENDCASE.
* << Fim da inclusão
READ TABLE itab_contas INDEX 1.
itab_relat-d_newko = itab_contas-konth.
CONCATENATE itab_relat-tpcontr 'C' INTO v_codaux1 SEPARATED BY space.
CLEAR: itab_contas.
REFRESH: itab_contas.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = itab_relat-bukrs
ktosl = 'CPT'
codaux1 = v_codaux1
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM PREENCHE_CONTAS_TRANSFERENCIA
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
ENDCASE.
* << Fim da inclusão
READ TABLE itab_contas INDEX 1.
itab_relat-c_newko = itab_contas-konth.
ENDFORM.
* >> Início da exclusão: FORM PROCESSA_PERIODO_JC
FORM processa_periodo_jc USING value(p_vlme)
value(p_dtinicio) TYPE d
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_PERIODO_JC
FORM processa_periodo_jc USING
* << Fim da inclusão
value(p_dtfim) TYPE d.
DATA: v_liq,
v_dtde LIKE /pws/zycbt002-dtinicio,
v_dtate LIKE /pws/zycbt002-dtfinal,
v_saldo LIKE /pws/zycbt001-vlme.
CLEAR itab_zycbt006_aux.
REFRESH itab_zycbt006_aux.
LOOP AT itab_zycbt006 WHERE nrseqc = itab_zycbt001-nrseqc.
MOVE itab_zycbt006 TO itab_zycbt006_aux.
APPEND itab_zycbt006_aux.
...
...
AND dtinicio < p_dtfim.
CLEAR v_liq.
v_dtde = itab_zycbt002j-dtinicio.
v_dtate = itab_zycbt002j-dtfinal.
LOOP AT itab_zycbt006 WHERE nrseqc = itab_zycbt001-nrseqc AND
dtpagto > itab_zycbt002j-dtinicio AND
dtpagto <= itab_zycbt002j-dtfinal.
v_liq = 'X'.
v_saldo = itab_zycbt001-slpagar.
LOOP AT itab_zycbt006_aux WHERE dtpagto >= itab_zycbt006-dtpagto.
* >> Início da exclusão: FORM PROCESSA_PERIODO_JC
SELECT SINGLE parid FROM /pws/zycbt005
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_PERIODO_JC
SELECT parid UP TO 1 ROWS FROM /pws/zycbt005
* << Fim da inclusão
INTO /pws/zycbt005-parid
WHERE nrseqc = itab_zycbt006_aux-nrseqc
AND tpdesp = itab_zycbt006_aux-tpdesp
AND nrparc = itab_zycbt006_aux-nrparc
AND nrinvoic = itab_zycbt006_aux-nrinvoic
AND gsberf = itab_zycbt006_aux-gsberf
AND dtvincul = itab_zycbt006_aux-dtvincul
AND dtvencto = itab_zycbt006_aux-dtvencto
AND nrparcf = itab_zycbt006_aux-nrparcf.
* >> Início da inclusão: FORM PROCESSA_PERIODO_JC
ENDSELECT.
* << Fim da inclusão
IF /pws/zycbt005-parid > 0.
itab_zycbt006_aux-vlme = itab_zycbt006_aux-vlme *
/pws/zycbt005-parid.
ENDIF.
v_saldo = v_saldo + itab_zycbt006_aux-vlme.
ENDLOOP.
itab_relat-dtde = v_dtde.
IF itab_zycbt006-dtpagto < s_dtentr.
itab_relat-dtate = itab_zycbt006-dtpagto.
ELSE.
...
...
itab_zycbt002j-tptxjur
itab_relat-dtde
itab_relat-dtate
itab_zycbt001-waers
itab_zycbt011-ctmoed
'A'.
ENDLOOP.
IF v_dtate < itab_zycbt002j-dtfinal.
v_saldo = itab_zycbt001-slpagar.
LOOP AT itab_zycbt006_aux WHERE dtpagto > v_dtde.
* >> Início da exclusão: FORM PROCESSA_PERIODO_JC
SELECT SINGLE parid FROM /pws/zycbt005
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_PERIODO_JC
SELECT parid UP TO 1 ROWS FROM /pws/zycbt005
* << Fim da inclusão
INTO /pws/zycbt005-parid
WHERE nrseqc = itab_zycbt006_aux-nrseqc
AND tpdesp = itab_zycbt006_aux-tpdesp
AND nrparc = itab_zycbt006_aux-nrparc
AND nrinvoic = itab_zycbt006_aux-nrinvoic
AND gsberf = itab_zycbt006_aux-gsberf
AND dtvincul = itab_zycbt006_aux-dtvincul
AND dtvencto = itab_zycbt006_aux-dtvencto
AND nrparcf = itab_zycbt006_aux-nrparcf.
* >> Início da inclusão: FORM PROCESSA_PERIODO_JC
ENDSELECT.
* << Fim da inclusão
IF /pws/zycbt005-parid > 0.
itab_zycbt006_aux-vlme = itab_zycbt006_aux-vlme *
/pws/zycbt005-parid.
ENDIF.
v_saldo = v_saldo + itab_zycbt006_aux-vlme.
ENDLOOP.
itab_relat-dtde = v_dtde.
IF itab_zycbt002j-dtfinal < s_dtentr.
itab_relat-dtate = itab_zycbt002j-dtfinal.
ELSE.
...
...
itab_zycbt002j-tptxjur
itab_relat-dtde
itab_relat-dtate
itab_zycbt001-waers
itab_zycbt011-ctmoed
'A'.
ENDIF.
IF v_liq IS INITIAL.
v_saldo = itab_zycbt001-slpagar.
LOOP AT itab_zycbt006_aux WHERE dtpagto > v_dtde.
* >> Início da exclusão: FORM PROCESSA_PERIODO_JC
SELECT SINGLE parid FROM /pws/zycbt005
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_PERIODO_JC
SELECT parid UP TO 1 ROWS FROM /pws/zycbt005
* << Fim da inclusão
INTO /pws/zycbt005-parid
WHERE nrseqc = itab_zycbt006_aux-nrseqc
AND tpdesp = itab_zycbt006_aux-tpdesp
AND nrparc = itab_zycbt006_aux-nrparc
AND nrinvoic = itab_zycbt006_aux-nrinvoic
AND gsberf = itab_zycbt006_aux-gsberf
AND dtvincul = itab_zycbt006_aux-dtvincul
AND dtvencto = itab_zycbt006_aux-dtvencto
AND nrparcf = itab_zycbt006_aux-nrparcf.
* >> Início da inclusão: FORM PROCESSA_PERIODO_JC
ENDSELECT.
* << Fim da inclusão
IF /pws/zycbt005-parid > 0.
itab_zycbt006_aux-vlme = itab_zycbt006_aux-vlme *
/pws/zycbt005-parid.
ENDIF.
v_saldo = v_saldo + itab_zycbt006_aux-vlme.
ENDLOOP.
itab_relat-dtde = v_dtde.
IF itab_zycbt002j-dtfinal < s_dtentr.
itab_relat-dtate = itab_zycbt002j-dtfinal.
ELSE.
...
...
CHANGING p_ano.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = p_bukrs
v_date = p_budat
IMPORTING
v_year = p_ano.
ENDFORM.
FORM preenche_contas_pgto.
DATA: v_codaux1 LIKE /pws/zyglt316-codaux1,
* >> Início da exclusão: FORM PREENCHE_CONTAS_PGTO
v_codaux2 LIKE /pws/zyglt316-codaux2,
v_codaux3 LIKE /pws/zyglt316-codaux3,
v_tpcontr LIKE /pws/zycbt001-tpcontr.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_CONTAS_PGTO
v_codaux3 LIKE /pws/zyglt316-codaux3.
* << Fim da inclusão
DATA: BEGIN OF itab_contas OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt316.
DATA: END OF itab_contas.
IF /pws/zyglt009-calc_rot_sep = 'N' AND
/pws/zyglt009-cont_rot_sep = 'S'.
v_codaux3 = 'ACE'.
ELSE.
IF itab_zycbt004-tpjuros = 'A'.
v_codaux3 = 'ACC'.
ELSEIF itab_zycbt004-tpjuros = 'E'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR003
...
/pws/zycbt005,
/pws/zycbt039.
DATA:
itab_zycbt001 LIKE /pws/zycbt001 OCCURS 10 WITH HEADER LINE,
itab_zycbt001_ence LIKE /pws/zycbt001 OCCURS 10 WITH HEADER LINE,
itab_zycbt002p LIKE /pws/zycbt002 OCCURS 20 WITH HEADER LINE,
itab_zycbt002j LIKE /pws/zycbt002 OCCURS 20 WITH HEADER LINE,
itab_zycbt002j_aux LIKE /pws/zycbt002 OCCURS 20 WITH HEADER LINE,
itab_zycbt002c TYPE STANDARD TABLE OF /pws/zycbt002
WITH HEADER LINE,
* >> Início da exclusão:
itab_zycbt074 TYPE STANDARD TABLE OF t_zycbt074
WITH HEADER LINE,
* << Fim da exclusão
* >> Início da inclusão:
itab_zycbt074 TYPE STANDARD TABLE OF t_zycbt074,
* << Fim da inclusão
itab_zycbt003 LIKE /pws/zycbt003 OCCURS 20 WITH HEADER LINE,
itab_zycbt004 LIKE /pws/zycbt004 OCCURS 20 WITH HEADER LINE,
itab_zycbt004_pr LIKE /pws/zycbt004 OCCURS 20 WITH HEADER LINE,
itab_zycbt004_ence LIKE /pws/zycbt004 OCCURS 20 WITH HEADER LINE,
itab_zycbt005 LIKE /pws/zycbt005 OCCURS 20 WITH HEADER LINE,
itab_zycbt005_pos LIKE /pws/zycbt005 OCCURS 10 WITH HEADER LINE,
itab_zycbt005_ence LIKE /pws/zycbt005 OCCURS 10 WITH HEADER LINE,
itab_zycbt006_pos LIKE /pws/zycbt006 OCCURS 10 WITH HEADER LINE,
itab_zycbt006 LIKE /pws/zycbt006 OCCURS 20 WITH HEADER LINE,
itab_zycbt006_aux LIKE /pws/zycbt006 OCCURS 20 WITH HEADER LINE,
...
...
itab_period LIKE casdayattr OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_contas OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt316.
DATA: END OF itab_contas.
DATA: BEGIN OF itab_zycbt062 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt062.
DATA: END OF itab_zycbt062.
DATA: BEGIN OF itab_modo OCCURS 0.
INCLUDE STRUCTURE spopli.
DATA: END OF itab_modo.
* >> Início da exclusão:
DATA: BEGIN OF itab_tcurr OCCURS 1.
INCLUDE STRUCTURE tcurr.
DATA: END OF itab_tcurr.
* << Fim da exclusão
DATA:
wa_zycbt011 LIKE /pws/zycbt011.
DATA:
v_dtoperac LIKE sy-datum,
v_dtinicio LIKE sy-datum,
v_dtexec LIKE sy-datum,
v_dtentr LIKE sy-datum,
v_sytabix LIKE sy-tabix,
v_monat LIKE t001b-frpe1,
v_ano LIKE t009b-bdatj,
...
...
itab_relat-vlme = itab_relat-vlme + itab_zycbt006_pos-vlme.
ENDLOOP.
ENDIF.
ENDIF.
PERFORM escalonamento USING v_dtfinal.
IF NOT itab_relat-vlme IS INITIAL.
IF v_ffrcalc NE 'L' AND
v_ffrcalc NE 'C' AND
v_ffrcalc NE 'S'.
PERFORM processa_periodo_j USING itab_relat-vlme
* >> Início da exclusão: FORM PROCESSA_PRE_PAGAMENTO
v_dtoperac
* << Fim da exclusão
v_dtfinal
'A'.
ELSEIF v_ffrcalc EQ 'C'.
* >> Início da exclusão: FORM PROCESSA_PRE_PAGAMENTO
PERFORM processa_periodo_jc USING itab_relat-vlme
v_dtoperac
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_PRE_PAGAMENTO
PERFORM processa_periodo_jc USING
* << Fim da inclusão
v_dtfinal.
ELSE.
* >> Início da exclusão: FORM PROCESSA_PRE_PAGAMENTO
PERFORM processa_periodo_jl USING itab_relat-vlme
v_dtoperac
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_PRE_PAGAMENTO
PERFORM processa_periodo_jl USING
* << Fim da inclusão
v_dtfinal.
ENDIF.
LOOP AT itab_zycbt004 WHERE nrseqc = itab_zycbt001-nrseqc.
PERFORM preenche_itab_relat_pago.
ENDLOOP.
PERFORM preenche_variacao_cambial USING v_vlmeaux.
ENDIF.
ENDLOOP.
CLEAR: itab_zycbt001, itab_zycbt002p, itab_zycbt002j.
ENDFORM.
FORM preenche_itab_relat.
* >> Início da exclusão: FORM PREENCHE_ITAB_RELAT
DATA v_dtexec LIKE sy-datum.
* << Fim da exclusão
itab_relat-nrseqc = itab_zycbt001-nrseqc.
itab_relat-nrcontr = itab_zycbt001-nrcontr.
itab_relat-tpcontr = itab_zycbt001-tpcontr.
itab_relat-nrparcj = itab_zycbt002j-nrparc.
itab_relat-nrparcp = itab_zycbt002p-nrparc.
itab_relat-przcontr = itab_zycbt001-przcontr.
* >> Início da exclusão: FORM PREENCHE_ITAB_RELAT
CONCATENATE s_dtentr(6) '01' INTO v_dtexec.
* << Fim da exclusão
itab_relat-nrinvoic = itab_zycbt005-nrinvoic.
...
...
PERFORM preenche_contas.
ELSE.
itab_relat-kostl = itab_zycbt001-kostl.
itab_relat-prctr = itab_zycbt001-prctr.
itab_relat-fipos = itab_zycbt001-fipos.
itab_relat-fipos_transf = itab_zycbt001-fipos_transf.
PERFORM preenche_contas_transferencia.
ENDIF.
ENDFORM.
FORM processa_periodo_j USING value(p_vlme)
* >> Início da exclusão: FORM PROCESSA_PERIODO_J
value(p_dtinicio) TYPE d
* << Fim da exclusão
value(p_dtfim) TYPE d
value(p_tpjuros).
DATA: v_dtate LIKE sy-datum.
CLEAR itab_zycbt002j.
LOOP AT itab_zycbt002j WHERE nrseqc = itab_zycbt001-nrseqc
AND dtinicio < p_dtfim.
itab_relat-vlme = p_vlme.
itab_relat-ftpj = p_tpjuros.
itab_relat-dtde = itab_zycbt002j-dtinicio.
IF itab_zycbt002j-dtfinal < p_dtfim.
...
...
MODIFY itab_zycbt001.
UPDATE /pws/zycbt001 SET f_encerrado = 'E'
WHERE nrseqc = itab_zycbt001-nrseqc.
ENDIF.
CLEAR v_slvinc.
v_slvinc = itab_zycbt001-slvinc.
LOOP AT itab_zycbt005_pos WHERE nrseqc = itab_zycbt001-nrseqc.
v_slvinc = v_slvinc + itab_zycbt005_pos-vlvinc.
ENDLOOP.
PERFORM processa_saldo_acc USING v_slvinc
* >> Início da exclusão: FORM PROCESSA_ACC
v_dtoperac
* << Fim da exclusão
s_dtentr
'A'.
PERFORM processa_vinculacoes.
IF NOT itab_zycbt062[] IS INITIAL.
LOOP AT itab_zycbt062 WHERE nrseq_c = itab_zycbt001-nrseqc.
PERFORM preenche_liq_and.
ENDLOOP.
ENDIF.
LOOP AT itab_zycbt004 WHERE nrseqc = itab_zycbt001-nrseqc.
PERFORM preenche_itab_relat_pago.
...
...
/pws/zyglt009-prov_prem IS INITIAL ).
LOOP AT itab_zycbt136 WHERE nrseqc = itab_zycbt001-nrseqc
AND datinc <= s_dtentr.
PERFORM preenche_itab_premio.
ENDLOOP.
ENDIF.
ENDLOOP.
CLEAR itab_zycbt001.
ENDFORM.
FORM processa_saldo_acc USING value(p_vlme) LIKE /pws/zycbt001-vlme
* >> Início da exclusão: FORM PROCESSA_SALDO_ACC
value(p_dtinicio) TYPE d
* << Fim da exclusão
value(p_dtfim) TYPE d
value(p_tpjuros).
CHECK p_vlme > 0.
IF p_dtfim > s_dtentr.
p_dtfim = s_dtentr.
ENDIF.
PERFORM escalonamento USING p_dtfim.
IF s_dtentr LE itab_zycbt001-dtentr OR NOT
itab_zycbt005-nrinvoic IS INITIAL OR
p_tpjuros EQ 'A'.
PERFORM processa_periodo_j USING p_vlme
* >> Início da exclusão: FORM PROCESSA_SALDO_ACC
p_dtinicio
* << Fim da exclusão
p_dtfim
p_tpjuros.
ELSE.
CLEAR itab_zycbt003.
SORT itab_zycbt003 BY nrseqc ASCENDING
dtpror DESCENDING.
LOOP AT itab_zycbt003 WHERE nrseqc = itab_zycbt001-nrseqc
AND tppror = 'E'.
PERFORM processa_periodo_j USING p_vlme
* >> Início da exclusão: FORM PROCESSA_SALDO_ACC
p_dtinicio
* << Fim da exclusão
p_dtfim
p_tpjuros.
EXIT.
ENDLOOP.
CLEAR itab_msg.
IF itab_zycbt003-dtpror IS INITIAL OR
itab_zycbt003-dtpror < p_dtfim.
MOVE-CORRESPONDING itab_zycbt001 TO itab_msg.
itab_msg-nrinvoic = itab_zycbt005-nrinvoic.
itab_msg-tpmsg = 'E'.
itab_msg-msg = text-002.
APPEND itab_msg.
ENDIF.
ENDIF.
PERFORM preenche_variacao_cambial USING p_vlme.
ENDFORM.
FORM processa_vinculacoes.
DATA: primeiro(1) TYPE c VALUE 'X',
v_vlvinc LIKE /pws/zycbt005-vlvinc,
* >> Início da inclusão: FORM PROCESSA_VINCULACOES
v_data type /pws/zycbt005-dtvincul,
* << Fim da inclusão
v_dtate LIKE sy-datum.
LOOP AT itab_zycbt005 WHERE nrseqc = itab_zycbt001-nrseqc.
primeiro = 'X'.
itab_zycbt005-vlme_p = itab_zycbt005-vlme_p * itab_zycbt005-parid.
PERFORM seleciona_data_operacao.
IF itab_zycbt001-tpcontr(1) EQ 'E' AND NOT
itab_zycbt001-dtinijur IS INITIAL.
v_dtoperac = itab_zycbt001-dtinijur.
ENDIF.
IF itab_zycbt005-dtcredext IS INITIAL.
...
...
IF primeiro EQ 'X'.
IF v_dtoperac < v_dtate.
PERFORM processa_ace USING v_dtoperac.
ENDIF.
ENDIF.
ELSE.
IF v_dtoperac < itab_zycbt005-dtvincul.
v_vlme_par = itab_zycbt006_aux-vlme * itab_zycbt005-parid.
IF /pws/zyglt009-calc_rot_sep EQ 'S'.
PERFORM processa_saldo_acc USING v_vlme_par
* >> Início da exclusão: FORM PROCESSA_VINCULACOES
v_dtoperac
* << Fim da exclusão
itab_zycbt005-dtvincul
'A'.
ELSE.
PERFORM processa_saldo_acc USING v_vlme_par
* >> Início da exclusão: FORM PROCESSA_VINCULACOES
v_dtoperac
* << Fim da exclusão
itab_zycbt005-dtvincul
'E'.
ENDIF.
...
...
gsberf = itab_zycbt005-gsberf AND
dtvincul = itab_zycbt005-dtvincul AND
dtvencto = itab_zycbt005-dtvencto.
ENDSELECT.
v_vlvinc = itab_zycbt005-vlvinc - /pws/zycbt050-vldev.
PERFORM escalonamento USING itab_zycbt005-dtvincul.
IF v_vlvinc GT 0.
IF v_dtoperac < itab_zycbt005-dtvincul.
IF /pws/zyglt009-calc_rot_sep EQ 'S'.
PERFORM processa_saldo_acc USING v_vlvinc
* >> Início da exclusão: FORM PROCESSA_VINCULACOES
v_dtoperac
* << Fim da exclusão
itab_zycbt005-dtvincul
'A'.
ELSE.
PERFORM processa_saldo_acc USING v_vlvinc
* >> Início da exclusão: FORM PROCESSA_VINCULACOES
v_dtoperac
* << Fim da exclusão
itab_zycbt005-dtvincul
'E'.
ENDIF.
...
...
IF v_dtoperac < v_dtate.
PERFORM processa_ace2 USING v_dtoperac.
ENDIF.
ENDIF.
ELSE.
IF v_dtoperac < itab_zycbt005-dtvincul.
v_vlme_par = itab_zycbt005-vlme_p *
itab_zycbt005-parid.
IF /pws/zyglt009-calc_rot_sep EQ 'S'.
PERFORM processa_saldo_acc USING v_vlme_par
* >> Início da exclusão: FORM PROCESSA_VINCULACOES
v_dtoperac
* << Fim da exclusão
itab_zycbt005-dtvincul
'A'.
ELSE.
PERFORM processa_saldo_acc USING v_vlme_par
* >> Início da exclusão: FORM PROCESSA_VINCULACOES
v_dtoperac
* << Fim da exclusão
itab_zycbt005-dtvincul
'E'.
ENDIF.
IF primeiro EQ 'X'.
* >> Início da exclusão: FORM PROCESSA_VINCULACOES
PERFORM processa_ace2 USING itab_zycbt005-dtvincul.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_VINCULACOES
v_data = itab_zycbt005-dtvincul.
PERFORM processa_ace2 USING v_data.
* << Fim da inclusão
ENDIF.
ELSEIF v_dtoperac < v_dtate.
IF primeiro EQ 'X'.
PERFORM processa_ace_a_2 USING v_dtoperac.
ENDIF.
ENDIF.
ENDIF.
CLEAR primeiro.
sy-subrc = 0.
ENDIF.
...
...
USING v_vlme_par
p_data_de
v_dtate.
ENDIF.
ENDLOOP.
CASE /pws/zycbt007-dtjuros.
WHEN 'DTVENCTO'.
v_dtate = itab_zycbt005-dtvencto.
WHEN 'DTPAGEXT'.
CLEAR v_calcula_juros.
* >> Início da exclusão: FORM PROCESSA_ACE
CALL CUSTOMER-FUNCTION '001'
IMPORTING
v_subrc = v_calcula_juros.
* << Fim da exclusão
IF v_calcula_juros EQ 'X'.
READ TABLE itab_zycbt017
WITH KEY nrinvoic = itab_zycbt005-nrinvoic
gsberf = itab_zycbt005-gsberf.
IF sy-subrc = 0.
IF itab_zycbt017-credext NE '00000000'.
v_dtate = itab_zycbt017-credext.
ELSE.
v_dtate = s_dtentr.
ENDIF.
...
...
ENDIF.
ENDFORM.
FORM processa_periodo_jace USING value(p_vlme)
value(p_dtinicio) TYPE d
value(p_dtfim) TYPE d.
DATA: v_txjtotal LIKE /pws/zycbt002-txjtotal,
v_tptxjur LIKE /pws/zycbt002-tptxjur,
v_dtate LIKE /pws/zycbt002-dtfinal,
v_sysubrc LIKE sy-subrc,
v_primeiro VALUE '1',
* >> Início da exclusão: FORM PROCESSA_PERIODO_JACE
v_ultimo TYPE i,
v_nrparc TYPE i.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_PERIODO_JACE
v_ultimo TYPE /pws/zycbt002-nrparc,
v_nrparc TYPE /pws/zycbt002-nrparc.
* << Fim da inclusão
CLEAR itab_zycbt002j.
CLEAR v_ultimo.
LOOP AT itab_zycbt002j WHERE nrseqc = itab_zycbt001-nrseqc.
v_ultimo = v_ultimo + 1.
IF itab_zycbt002j-nrparc > v_nrparc.
v_nrparc = itab_zycbt002j-nrparc.
ENDIF.
v_nrparc = itab_zycbt002j-nrparc.
ENDLOOP.
LOOP AT itab_zycbt002j WHERE nrseqc = itab_zycbt001-nrseqc AND
...
...
v_txjtotal
v_tptxjur
v_dtate
p_dtfim
itab_zycbt001-waers
itab_zycbt011-ctmoed
'E'.
ENDIF.
ENDFORM.
FORM processa_cambio_pronto.
* >> Início da inclusão: FORM PROCESSA_CAMBIO_PRONTO
DATA:
v_data type /pws/zycbt005-dtvincul.
* << Fim da inclusão
LOOP AT itab_zycbt001 WHERE tpcontr(1) = 'C'.
PERFORM seleciona_data_operacao.
LOOP AT itab_zycbt005 WHERE nrseqc = itab_zycbt001-nrseqc.
* >> Início da inclusão: FORM PROCESSA_CAMBIO_PRONTO
v_data = itab_zycbt005-dtvincul.
* << Fim da inclusão
IF itab_zycbt005-dtcredext IS INITIAL.
* >> Início da exclusão: FORM PROCESSA_CAMBIO_PRONTO
PERFORM processa_ace USING itab_zycbt005-dtvincul.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_CAMBIO_PRONTO
PERFORM processa_ace USING v_data.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM PROCESSA_CAMBIO_PRONTO
PERFORM processa_ace2 USING itab_zycbt005-dtvincul.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_CAMBIO_PRONTO
PERFORM processa_ace2 USING v_data.
* << Fim da inclusão
ENDIF.
PERFORM preenche_variacao_cambial USING itab_zycbt005-vlvinc.
ENDLOOP.
...
...
FORM verifica_data_entrada.
DATA v_dtfim LIKE sy-datum.
CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
EXPORTING
day_in = s_dtentr
IMPORTING
last_day_of_month = v_dtfim
EXCEPTIONS
day_in_no_date = 1
OTHERS = 2.
* >> Início da inclusão: FORM VERIFICA_DATA_ENTRADA
CASE sy-subrc.
WHEN 1.
WHEN 2.
ENDCASE.
* << Fim da inclusão
IF s_dtentr <> v_dtfim.
MESSAGE i015 WITH text-043.
LEAVE LIST-PROCESSING.
ELSE.
SELECT *
FROM /pws/zycbt154 UP TO 1 ROWS
WHERE codmod = 'E' AND
dtcont >= s_dtentr AND
bukrs EQ s_bukrs AND
codmodul NE 'T'.
...
...
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
CASE sy-subrc.
WHEN 1.
WHEN 2.
ENDCASE.
* << Fim da inclusão
ENDIF.
ENDFORM.
FORM totaliza_valores_lancados.
DATA : BEGIN OF itab_convnrseq OCCURS 0,
nrcorresp LIKE /pws/zycbt154-nrcorresp,
END OF itab_convnrseq.
LOOP AT itab_zycbt001.
itab_convnrseq-nrcorresp = itab_zycbt001-nrseqc.
APPEND itab_convnrseq.
ENDLOOP.
...
...
AT sy-linsz sy-vline.
ENDIF.
ENDON.
ENDLOOP.
IF sy-subrc NE 0.
WRITE : / sy-vline, text-063,
AT sy-linsz sy-vline.
ENDIF.
ULINE.
ENDFORM.
* >> Início da exclusão: FORM PROCESSA_PERIODO_JL
FORM processa_periodo_jl USING value(p_vlme)
value(p_dtinicio) TYPE d
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_PERIODO_JL
FORM processa_periodo_jl USING
* << Fim da inclusão
value(p_dtfim) TYPE d.
DATA: v_saldo_final LIKE /pws/zycbt001-vlme,
v_ultimo LIKE /pws/zycbt006-dtpagto,
v_inicio LIKE /pws/zycbt006-dtpagto,
v_saldo_aux LIKE /pws/zycbt001-vlme,
v_linha2 LIKE sy-tabix,
v_contr TYPE i,
v_cont TYPE i,
v_linha TYPE i,
v_deduz.
...
...
itab_relat-dtate = s_dtentr.
PERFORM seleciona_taxa.
itab_relat-txc = v_taxac.
itab_relat-vlmij = itab_relat-vlmej * itab_relat-txc.
PERFORM preenche_itab_relat.
APPEND itab_relat.
ENDIF.
CLEAR v_contr.
ENDFORM.
FORM seleciona_taxa.
* >> Início da exclusão: FORM SELECIONA_TAXA
DATA: v_data LIKE sy-datum,
v_dtbudat LIKE sy-datum,
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_TAXA
DATA:
* << Fim da inclusão
v_kurst LIKE /pws/zycbt009-kurst.
CONCATENATE '005' itab_zycbt001-tpcontr INTO v_codeven.
CLEAR wa_zycbt011.
SELECT *
UP TO 1 ROWS
FROM /pws/zycbt011
INTO wa_zycbt011
WHERE codeven = v_codeven AND
codmod = text-066.
ENDSELECT.
...
...
FROM /pws/zycbt007
INTO wa_zycbt007
WHERE bukrs EQ s_bukrs.
ENDIF.
SELECT kurst
UP TO 1 ROWS
FROM /pws/zycbt009
INTO v_kurst
WHERE codpadr = wa_zycbt011-ctmoed.
ENDSELECT.
* >> Início da exclusão: FORM SELECIONA_TAXA
v_data = s_dtentr.
CONVERT DATE v_data INTO INVERTED-DATE v_dtbudat.
* << Fim da exclusão
CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'
EXPORTING
i_montante = '1'
i_demoeda = itab_zycbt001-waers
i_paramoeda = wa_zycbt007-waersb
i_ctmoeda = v_kurst
i_dtbase = s_dtentr
IMPORTING
e_txc = v_taxac
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 SELECIONA_TAXA
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
WHEN 4.
WHEN 5.
WHEN 6.
WHEN 7.
WHEN 8.
ENDCASE.
* << Fim da inclusão
ENDFORM.
FORM mapeia_transacao.
itab_zycbe033-tcode = 'FB08'.
itab_zycbe033-tabela = '/PWS/ZYCBT154'.
CONCATENATE itab_zycbt154-codmodul itab_zycbt154-tpcontr
itab_zycbt154-bco itab_zycbt154-dtcont
itab_zycbt154-bukrs itab_zycbt154-gsber
itab_zycbt154-waers itab_zycbt154-d_newko
itab_zycbt154-c_newko INTO itab_zycbe033-cpochv.
itab_zycbe033-belnr = itab_zycbt154-belnr_pr.
...
...
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 MAPEIA_TRANSACAO
CASE sy-subrc.
WHEN 1.
WHEN 2.
ENDCASE.
* << 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 MAPEIA_TRANSACAO
CASE sy-subrc.
WHEN 1.
WHEN 2.
ENDCASE.
* << Fim da inclusão
ENDIF.
PERFORM converte_data.
ENDIF.
itab_zycbe033-budat = v_data.
itab_zycbe033-bldat = s_dtentr.
PERFORM determina_periodo USING itab_zycbe033-budat
itab_zycbe033-bukrs
CHANGING v_monat.
PERFORM determina_ano USING itab_zycbe033-budat
itab_zycbe033-bukrs
...
...
itab_zycbe033-budat = s_dtentr.
ELSEIF itab_zycbt154-dtcont EQ itab_zycbe033-budat.
itab_zycbe033-stgrd = '01'.
ELSE.
itab_zycbe033-stgrd = '02'.
ENDIF.
ELSE.
itab_zycbe033-stgrd = '02'.
itab_zycbe033-budat = sy-datum.
ENDIF.
* >> Início da exclusão: FORM MAPEIA_TRANSACAO
CALL CUSTOMER-FUNCTION '004'
TABLES
t_dados = itab_zycbe033.
* << Fim da exclusão
APPEND itab_zycbe033.
ENDFORM.
FORM modo_batch_input.
CLEAR: /pws/zycbt039, itab_modo.
REFRESH itab_modo.
SELECT * FROM /pws/zycbt039.
itab_modo-selflag = /pws/zycbt039-modo.
itab_modo-varoption = /pws/zycbt039-descr.
APPEND itab_modo.
ENDSELECT.
...
...
titel = text-069
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
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
WHEN 4.
ENDCASE.
* << Fim da inclusão
IF v_modo_bi EQ '1' OR v_modo_bi EQ 'A'.
v_modo_bi = 'N'.
ELSEIF v_modo_bi EQ '3'.
v_modo_bi = 'A'.
ELSEIF v_modo_bi EQ '2'.
v_modo_bi = 'E'.
ENDIF.
ENDFORM.
FORM converte_data.
CLEAR: itab_period, v_confirm, v_txt_f.
...
...
date_to = v_data
language = text-102
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 CONVERTE_DATA
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
WHEN 4.
WHEN 5.
ENDCASE.
READ TABLE itab_period WITH KEY weekday = '6'.
* << Fim da inclusão
* >> Início da exclusão: FORM CONVERTE_DATA
READ TABLE itab_period WITH KEY weekday = 6.
* << Fim da exclusão
IF sy-subrc EQ 0.
PERFORM verifica_dia.
ELSE.
* >> Início da exclusão: FORM CONVERTE_DATA
READ TABLE itab_period WITH KEY weekday = 7.
* << Fim da exclusão
* >> Início da inclusão: FORM CONVERTE_DATA
READ TABLE itab_period WITH KEY weekday = '7'.
* << Fim da inclusão
IF sy-subrc EQ 0.
...
...
date_to = v_data
language = text-102
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
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
WHEN 4.
WHEN 5.
ENDCASE.
* << 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.
...
...
itab_relat-bco = itab_zycbt001-bcofinan.
READ TABLE itab_tcurx WITH KEY currkey = itab_zycbt001-waers.
IF sy-subrc <> 0.
itab_tcurx-currdec = 2.
ENDIF.
v_vlmeaux = itab_relat-vlme / ( 10 ** ( itab_tcurx-currdec - 2 ) ).
CLEAR itab_zycbt011.
CONCATENATE '025' itab_zycbt001-tpcontr INTO v_codeven.
READ TABLE itab_zycbt011 WITH KEY codeven = v_codeven.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM PREENCHE_ITAB_RELAT_PR
READ TABLE itab_zycbt009 WITH KEY codpadr = itab_zycbt011-ctmoed.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ITAB_RELAT_PR
READ TABLE itab_zycbt009
WITH KEY codpadr = itab_zycbt011-ctmoed+3(1).
* << Fim da inclusão
IF sy-subrc EQ 0.
CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'
EXPORTING
i_montante = v_vlmeaux
i_demoeda = itab_zycbt001-waers
i_paramoeda = /pws/zycbt007-waersb
i_ctmoeda = itab_zycbt009-kurst
i_dtbase = s_dtentr
IMPORTING
e_txc = itab_relat-txc
...
...
EXPORTING
bukrs = itab_relat-bukrs
ktosl = 'PVE'
codaux1 = v_codaux1
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM PREENCHE_CONTAS_PR
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
ENDCASE.
* << Fim da inclusão
READ TABLE itab_contas INDEX 1.
itab_relat-d_newko = itab_contas-konts.
CONCATENATE 'PREMIO' itab_zycbt001-tpcontr
INTO v_codaux1 SEPARATED BY space.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = itab_relat-bukrs
ktosl = 'RCE'
codaux1 = v_codaux1
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM PREENCHE_CONTAS_PR
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
ENDCASE.
* << Fim da inclusão
READ TABLE itab_contas INDEX 1.
itab_relat-c_newko = itab_contas-konth.
ENDFORM.
FORM calcula_dias_uteis USING p_dtde
p_dtate.
v_dias = p_dtate - p_dtde.
DO v_dias TIMES.
IF v_data EQ 00000000.
v_data = p_dtde.
ENDIF.
...
...
TABLES
holiday_attributes = itab_thol
EXCEPTIONS
calendar_buffer_not_loadable = 1
date_after_range = 2
date_before_range = 3
date_invalid = 4
holiday_calendar_id_missing = 5
holiday_calendar_not_found = 6
OTHERS = 7.
* >> Início da inclusão: FORM VERIFICA_FERIADO
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
WHEN 4.
WHEN 5.
WHEN 6.
WHEN 7.
ENDCASE.
* << Fim da inclusão
ENDFORM.
FORM verifica_dia_semana.
CALL FUNCTION '/PWS/ZYCB_DIA_DA_SEMANA'
EXPORTING
datum = v_data
IMPORTING
wotnr = v_dia_semana
EXCEPTIONS
OTHERS = 1.
* >> Início da inclusão: FORM VERIFICA_DIA_SEMANA
CASE sy-subrc.
WHEN 1.
ENDCASE.
* << Fim da inclusão
IF v_dia_semana = '6' OR ( v_dia_semana = '7' ).
v_feriado = 'X'.
ELSE.
v_feriado = space.
ENDIF.
ENDFORM.
FORM processa_calculo_premio USING p_dtde
p_dtate.
DATA v_num TYPE p DECIMALS 5.
IF itab_zycbt136-tpcal EQ 'LA'.
...
...
WITH p_gsber = itab_zycbt001_ence-gsber
WITH p_bcofin = itab_zycbt001_ence-bcofinan
WITH p_bconeg = itab_zycbt001_ence-bconegoc
AND RETURN.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
* >> Início da exclusão: FORM ESCALONAMENTO
FORM escalonamento USING p_dtbase.
* << Fim da exclusão
* >> Início da inclusão: FORM ESCALONAMENTO
FORM escalonamento USING p_dtbase TYPE sy-datum.
* << Fim da inclusão
CLEAR: v_tx_esc_tot, v_tx_esc_var, v_tx_esc_fix.
DATA: v_txjuros(1) TYPE c.
IF itab_zycbt001-tpcalcjur EQ 'E'.
LOOP AT itab_zycbt002j WHERE nrseqc = itab_zycbt001-nrseqc.
IF p_dtbase GE itab_zycbt002j-dtinicio AND
p_dtbase LE itab_zycbt002j-dtfinal.
IF p_dtbase EQ itab_zycbt002j-dtinicio
AND v_txjuros = 'X'.
EXIT.
ENDIF.
...
...
DATA: v_dtate LIKE sy-datum,
v_vlme LIKE /pws/zycbt006-vlme.
CLEAR: v_vlme, v_vlme_par.
ADD itab_zycbt005-vlme_p TO v_vlme.
v_dtate = itab_zycbt005-dtcredext.
PERFORM escalonamento USING v_dtate.
IF v_dtate > s_dtentr.
v_dtate = s_dtentr.
ENDIF.
IF itab_zycbt005-dtvincul < v_dtate.
* >> Início da exclusão: FORM PROCESSA_ACE2
v_vlme_par = itab_zycbt005-vlme_p * itab_zycbt005-parid.
PERFORM processa_periodo_jace
USING v_vlme_par
itab_zycbt005-dtvincul
v_dtate.
ELSE.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_ACE2
p_data_de = itab_zycbt005-dtvincul.
ENDIF.
* << Fim da inclusão
v_vlme_par = itab_zycbt005-vlme_p * itab_zycbt005-parid.
PERFORM processa_periodo_jace
USING v_vlme_par
p_data_de
v_dtate.
* >> Início da exclusão: FORM PROCESSA_ACE2
ENDIF.
* << Fim da exclusão
ENDFORM.
FORM processa_ace_a_2 USING value(p_data_de).
...
...
itab_relat-nrparcj = itab_zycbt002c-nrparc.
itab_relat-przcontr = itab_zycbt001-przcontr.
itab_relat-dtentreg = itab_zycbt001-dtentr.
itab_relat-dtliquid = itab_zycbt001-dtliquid.
itab_relat-aliqir = itab_zycbt002c-aliqir.
itab_relat-f_encerrado = itab_zycbt001-f_encerrado.
itab_relat-kostl = itab_zycbt002c-kostl.
itab_relat-prctr = itab_zycbt002c-prctr.
itab_relat-fipos = itab_zycbt002c-fipos.
itab_relat-fictr = itab_zycbt002c-fictr.
* >> Início da exclusão: FORM PREENCHE_ITAB_RELAT_COMISSAO
itab_relat-txc = itab_tcurr-ukurs.
* << Fim da exclusão
CONCATENATE s_dtentr(6) '01' INTO v_dtexec.
itab_relat-bco = itab_zycbt001-bconegoc.
SELECT name1
UP TO 1 ROWS
INTO (lfa1-name1)
FROM lfa1
WHERE lifnr EQ itab_relat-bco.
ENDSELECT.
IF sy-subrc EQ 0.
itab_relat-descbanc = lfa1-name1.
...
...
ktosl = 'DSE'
codaux1 = v_codaux1
codaux2 = v_codaux2
codaux3 = v_codaux3
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM PREENCHE_CONTAS_COMISSAO
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
ENDCASE.
* << Fim da inclusão
READ TABLE itab_contas INDEX 1.
IF sy-subrc EQ 0.
itab_relat-d_newkoir = itab_contas-konts.
ENDIF.
v_codaux1 = text-125.
v_codaux2 = itab_zycbt001-tpcontr.
v_codaux3 = text-126.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = itab_relat-bukrs
ktosl = 'PVE'
codaux1 = v_codaux1
codaux2 = v_codaux2
codaux3 = v_codaux3
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM PREENCHE_CONTAS_COMISSAO
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
ENDCASE.
* << Fim da inclusão
READ TABLE itab_contas INDEX 1.
IF sy-subrc EQ 0.
itab_relat-c_newkoir = itab_contas-konth.
ENDIF.
CLEAR itab_zycbt011.
READ TABLE itab_zycbt011 WITH KEY codeven = '004CM'.
itab_relat-blart = itab_zycbt011-blart.
itab_relat-d_sgtxt = itab_zycbt011-txtdesc.
itab_relat-c_sgtxt = itab_zycbt011-txtdesc.
v_codaux1 = 'CO'.
...
...
bukrs = itab_relat-bukrs
ktosl = 'DSE'
codaux1 = v_codaux1
codaux2 = v_codaux2
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM PREENCHE_CONTAS_COMISSAO
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
ENDCASE.
* << Fim da inclusão
READ TABLE itab_contas INDEX 1.
IF sy-subrc EQ 0.
itab_relat-d_newko = itab_contas-konts.
ENDIF.
CONCATENATE text-127 v_prazo INTO v_codaux1 SEPARATED BY space.
v_codaux2 = itab_zycbt001-tpcontr.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = itab_relat-bukrs
ktosl = 'PVE'
codaux1 = v_codaux1
codaux2 = v_codaux2
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM PREENCHE_CONTAS_COMISSAO
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
ENDCASE.
* << Fim da inclusão
READ TABLE itab_contas INDEX 1.
IF sy-subrc EQ 0.
itab_relat-c_newko = itab_contas-konth.
ENDIF.
ENDFORM.
FORM calcula_vlmi USING p_tpcontr
p_waers
p_vlmej
p_txc
CHANGING p_vlmij.
IF wa_zycbt011-ctmoed IS INITIAL.
CONCATENATE '005' p_tpcontr INTO v_codeven.
* >> Início da exclusão: FORM CALCULA_VLMI
SELECT SINGLE ctmoed FROM /pws/zycbt011
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_VLMI
SELECT ctmoed UP TO 1 ROWS FROM /pws/zycbt011
* << Fim da inclusão
INTO wa_zycbt011-ctmoed
WHERE codeven = v_codeven AND
codmod = text-066.
* >> Início da inclusão: FORM CALCULA_VLMI
ENDSELECT.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM CALCULA_VLMI
READ TABLE itab_zycbt009 WITH KEY codpadr = wa_zycbt011-ctmoed.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_VLMI
READ TABLE itab_zycbt009 WITH KEY codpadr = wa_zycbt011-ctmoed+3(1).
* << Fim da inclusão
IF sy-subrc NE 0 OR itab_zycbt009-kurst IS INITIAL.
itab_zycbt009-kurst = 'M'.
ENDIF.
CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'
EXPORTING
i_montante = p_vlmej
i_demoeda = p_waers
i_paramoeda = wa_zycbt007-waersb
i_ctmoeda = itab_zycbt009-kurst
i_dtbase = s_dtentr
...
...
ENDFORM.
FORM montante_converte
USING
value(p_ctmoed) LIKE /pws/zycbt011-ctmoed
value(p_waers) LIKE tcurx-currkey
value(p_vlme) LIKE /pws/zycbt001-vlme
CHANGING
p_taxa LIKE tcurr-ukurs
p_vlmi LIKE /pws/zycbt001-vlme.
READ TABLE itab_zycbt009
* >> Início da exclusão: FORM MONTANTE_CONVERTE
WITH KEY codpadr = p_ctmoed TRANSPORTING kurst.
* << Fim da exclusão
* >> Início da inclusão: FORM MONTANTE_CONVERTE
WITH KEY codpadr = p_ctmoed+3(1) TRANSPORTING kurst.
* << Fim da inclusão
IF sy-subrc NE 0 OR
itab_zycbt009-kurst IS INITIAL.
itab_zycbt009-kurst = 'M'.
ENDIF.
IF p_taxa IS INITIAL.
CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'
EXPORTING
i_montante = p_vlme
i_demoeda = p_waers
i_paramoeda = wa_zycbt007-waersb
...
...
ktosl = 'DSE'
codaux1 = v_codaux1
codaux2 = v_codaux2
codaux3 = v_codaux3
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM VERIFICA_CONTA_ACC_ACE
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN 3.
ENDCASE.
* << Fim da inclusão
READ TABLE itab_contas INDEX 1.
IF sy-subrc = 0.
IF itab_zycbt154-d_newko NE itab_contas-konts.
p_conta_dif = 'X'.
ENDIF.
IF itab_zycbt154-d_newko+7 EQ itab_contas-konts.
CLEAR p_conta_dif.
ENDIF.
ELSE.
EXIT.
...
...
AND codmodul NE 'CD'
AND codmodul NE 'CF'
AND codmodul NE 'CI'.
ENDLOOP.
IF sy-subrc = 0.
p_separa = 'X'.
ENDIF.
ENDIF.
ENDFORM.
FORM preenche_liq_and.
* >> Início da inclusão: FORM PREENCHE_LIQ_AND
DATA:
v_nrparc type /pws/zycbt004-nrparc value 000.
* << Fim da inclusão
CLEAR itab_relat.
itab_relat-nrseqc = itab_zycbt001-nrseqc.
itab_relat-nrcontr = itab_zycbt001-nrcontr.
itab_relat-tpcontr = itab_zycbt001-tpcontr.
itab_relat-nrparcj = itab_zycbt004-nrparc.
itab_relat-dtde = itab_zycbt062-dtinicio.
itab_relat-dtate = itab_zycbt062-dtfinal.
READ TABLE itab_zycbt060 WITH KEY
nrseq = itab_zycbt062-nrseq.
IF sy-subrc EQ 0.
...
...
itab_relat-bukrs = itab_zycbt001-bukrs.
itab_relat-gsber = itab_zycbt001-gsber.
itab_relat-bco = itab_zycbt001-bconegoc.
itab_relat-txjtotal = itab_zycbt062-txjtotal.
itab_relat-vlme = itab_zycbt062-vlme.
itab_relat-ftpj = 'A'.
itab_relat-waers = itab_zycbt001-waers.
READ TABLE itab_zycbt004 WITH KEY
nrseqc = itab_zycbt062-nrseq_c
tpdesp = 'J'
* >> Início da exclusão: FORM PREENCHE_LIQ_AND
nrparc = '000'
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_LIQ_AND
nrparc = v_nrparc
* << Fim da inclusão
dtincl = itab_zycbt062-dtincl.
PERFORM preenche_contas_pgto.
v_liq = 'X'.
PERFORM processa_calculo_juros USING itab_zycbt062-vlme
itab_zycbt062-txjtotal
itab_zycbt062-tptxjur
itab_relat-dtde
itab_relat-dtate
itab_zycbt001-waers
itab_zycbt011-ctmoed
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/ZYCBR003
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 004
Texto: (19 caracteres)
"Taxa de juros nula."
Comprimento máximo: 19
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 138
Texto: (8 caracteres)
"Estornar"
Comprimento máximo: 8