Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Relatórios
Data/Hora da Publicação: 27/02/2008 00:00:00
Data/Hora Última Alteração: 03/03/2010 17:58:04
Descrição da Nota: CODE INSPECTOR, VERIFICAÇÃO AMPLIADA - CAMBIO
Sintoma
performance e sintaxe.
Solução
code inspector e verificação ampliada
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 06038 Data: 27/02/2008 Hora: 11:04:26
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 06038
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:
CODE INSPECTOR, VERIFICAÇÃO AMPLIADA - CAMBIO
----------------------------------------------------------------------------------------------------
Palavras Chave:
CODE INSPECTOR, VERIFICAÇÃO AMPLIADA - CAMBIO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB034F01
REPS /PWS/MZYCB034I01
REPS /PWS/MZYCB034O01
REPS /PWS/MZYCB034TOP
REPS /PWS/MZYCB034X01
REPT /PWS/SAPMZYCB034
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB034F01
...
SET PARAMETER ID 'BUK' FIELD v_bukrs.
SET PARAMETER ID 'GJR' FIELD v_gjahr.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDIF.
ELSE.
MESSAGE e261(sf) WITH 'FB03'.
ENDIF.
ENDCASE.
ENDFORM.
FORM user_command_0100.
* >> Início da exclusão: FORM USER_COMMAND_0100
DATA: v_linhas TYPE sy-tabix.
* << Fim da exclusão
CASE ok_code.
WHEN 'SAVE'.
PERFORM salva_previsto.
PERFORM salva_rendimentos.
PERFORM processamento.
WHEN 'PB_HELP'.
v_tela_help = '0051'.
EXIT.
WHEN 'HELP_CLOSE'.
v_tela_help = '0052'.
...
...
ts_principal-activetab = ok_code.
ELSEIF ok_code(6) EQ 'TAB130'.
ts_70-activetab = ok_code.
ENDIF.
ENDCASE.
ENDFORM.
FORM seleciona_parametros.
IF wa_controle-parametros_carregados IS INITIAL.
SELECT *
FROM /pws/zycbt007
* >> Início da exclusão: FORM SELECIONA_PARAMETROS
INTO TABLE itab_zycbt007.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_PARAMETROS
INTO TABLE itab_zycbt007."#EC CI_NOWHERE
* << Fim da inclusão
SELECT *
FROM /pws/zycbt089
* >> Início da exclusão: FORM SELECIONA_PARAMETROS
INTO TABLE itab_zycbt089.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_PARAMETROS
INTO TABLE itab_zycbt089."#EC CI_NOWHERE
* << Fim da inclusão
SELECT *
FROM /pws/zyglt009
* >> Início da exclusão: FORM SELECIONA_PARAMETROS
INTO TABLE itab_zyglt009.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_PARAMETROS
INTO TABLE itab_zyglt009."#EC CI_NOWHERE
* << Fim da inclusão
SELECT *
FROM /pws/zyglt321
INTO TABLE itab_zyglt321
WHERE ( ktosl = c_chave_oper OR
ktosl = c_chv_oper_fat )
AND ( codeven = c_codeven_op_emb OR
codeven = c_codeven_liqand OR
codeven = c_codeven_liqand_op OR
codeven = c_codeven_op_pagant ).
SELECT *
FROM /pws/zycbt009
INTO TABLE itab_zycbt009.
SELECT *
FROM /pws/zycbt011
INTO TABLE itab_zycbt011
* >> Início da exclusão: FORM SELECIONA_PARAMETROS
WHERE codmod = c_modulo.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_PARAMETROS
WHERE codmod = c_modulo."#EC CI_NOFIRST
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = c_modulo
i_func = c_op
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 SELECIONA_PARAMETROS
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
wa_controle-parametros_carregados = 'X'.
ENDIF.
ENDFORM.
FORM seleciona_op.
DATA:
v_indice TYPE sy-index,
wa_zycbt017 TYPE t_s_zycbt017.
FIELD-SYMBOLS: <fs_zycbt226> TYPE t_s_zycbe226,
<fs_contrato> LIKE LINE OF itab_contrato,
* >> Início da exclusão: FORM SELECIONA_OP
<fs_disp> LIKE LINE OF itab_disp_70,
<fs_zycbt017> TYPE t_s_zycbt017.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_OP
<fs_disp> LIKE LINE OF itab_disp_70.
* << Fim da inclusão
IF sy-tcode NE c_transacao_c.
CHECK wa_controle-dados_op_carregados IS INITIAL.
SELECT *
FROM /pws/zycbt226
INTO CORRESPONDING FIELDS OF TABLE itab_zycbt226
WHERE nrseq IN s_nrseq
AND nrinvoic IN s_invoic
AND nrparcf IN s_nrparc
AND gsberf IN s_gsber
AND bukrs IN s_bukrs
...
...
SELECT * FROM /pws/zycbt238
INTO TABLE itab_disp_70
FOR ALL ENTRIES IN itab_zycbt226
WHERE nrseq = itab_zycbt226-nrseq
AND destino = c_70.
APPEND LINES OF itab_disp_70 TO itab_disp_ant.
IF NOT itab_disp_70[] IS INITIAL.
SELECT * FROM /pws/zycbt239
INTO TABLE itab_contrato
FOR ALL ENTRIES IN itab_disp_70
* >> Início da exclusão: FORM SELECIONA_OP
WHERE nrseq = itab_disp_70-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_OP
WHERE nrseq = itab_disp_70-nrseq."#EC CI_NOFIRST
* << Fim da inclusão
IF sy-subrc EQ 0.
SORT itab_contrato BY nrseq dtdisp tpcontr ASCENDING.
APPEND LINES OF itab_contrato TO itab_contrato_ant.
ENDIF.
CLEAR:
v_indice.
LOOP AT itab_disp_70 ASSIGNING <fs_disp>.
v_indice = v_indice + 1.
LOOP AT itab_contrato ASSIGNING <fs_contrato>
WHERE nrseq = <fs_disp>-nrseq
AND destino = <fs_disp>-destino
AND dtdisp = <fs_disp>-dtdisp.
<fs_contrato>-indice = v_indice.
ENDLOOP.
<fs_disp>-indice = v_indice.
ENDLOOP.
ENDIF.
* >> Início da exclusão: FORM SELECIONA_OP
SELECT * FROM /pws/zycbt240 INTO TABLE itab_rendimentos.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_OP
SELECT * FROM /pws/zycbt240
INTO TABLE itab_rendimentos."#EC CI_NOWHERE
* << Fim da inclusão
itab_rendimentos_ant = itab_rendimentos.
LOOP AT itab_zycbt226 ASSIGNING <fs_zycbt226>.
READ TABLE itab_zycbt017 INTO wa_zycbt017 WITH KEY
nrinvoic = <fs_zycbt226>-nrinvoic
gsberf = <fs_zycbt226>-gsberf
nrparcf = <fs_zycbt226>-nrparcf.
IF sy-subrc EQ '0'.
<fs_zycbt226>-vlavinc = wa_zycbt017-vlavinc.
ENDIF.
ENDLOOP.
...
...
EXPORTING
i_codmod = 'E'
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 TRATA_EXIT
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
ENDIF.
IF NOT itab_zyglt100[] IS INITIAL.
READ TABLE itab_zyglt100 WITH KEY zexit = p_exit
ASSIGNING <fs_zyglt100>.
IF sy-subrc = 0.
CHECK NOT <fs_zyglt100>-zexit_ativa IS INITIAL AND
NOT <fs_zyglt100>-formulario IS INITIAL AND
NOT <fs_zyglt100>-programa IS INITIAL.
v_ucomm = ok_code.
PERFORM (<fs_zyglt100>-formulario)
...
...
ENDIF.
ENDFORM.
FORM valores_iniciais.
CASE sy-dynnr.
WHEN '0100'.
SET PARAMETER ID '/PWS/ZYCBP084' FIELD space.
ENDCASE.
ENDFORM.
FORM bloqueia_op USING value(p_bloqueio)
p_index TYPE sy-tabix.
* >> Início da exclusão: FORM BLOQUEIA_OP
DATA: v_abort(1) TYPE c,
v_index226 TYPE sy-tabix.
* << Fim da exclusão
* >> Início da inclusão: FORM BLOQUEIA_OP
DATA: v_abort(1) TYPE c.
* << Fim da inclusão
FIELD-SYMBOLS: <fs_zycbt226> TYPE t_s_zycbe226.
READ TABLE itab_zycbt226 INDEX p_index ASSIGNING <fs_zycbt226>.
IF sy-subrc = 0.
IF p_bloqueio = 'X'.
CALL FUNCTION 'ENQUEUE_/PWS/EZYCBT226'
EXPORTING
mode_/pws/zycbt226 = 'E'
mandt = sy-mandt
nrseq = <fs_zycbt226>-nrseq
EXCEPTIONS
...
...
ELSEIF p_bloqueio = ' '.
CALL FUNCTION 'ENQUEUE_/PWS/EZYCBT226'
EXPORTING
mode_/pws/zycbt226 = 'E'
mandt = sy-mandt
nrseq = <fs_zycbt226>-nrseq
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
* >> Início da inclusão: FORM BLOQUEIA_OP
if sy-subrc = 0.
else.
* << Fim da inclusão
ENDIF.
ENDIF.
* >> Início da inclusão: FORM BLOQUEIA_OP
ENDIF.
* << Fim da inclusão
IF v_abort = 'X'.
PERFORM message_show USING 'X'.
LEAVE PROGRAM.
ENDIF.
ENDFORM.
...
...
CHECK wa_controle-msg_inicializada IS INITIAL.
CALL FUNCTION 'MESSAGES_INITIALIZE'.
wa_controle-msg_inicializada = 'X'.
ENDFORM.
FORM message_store USING p_classe
p_tipo
p_msg1
p_msg2
p_msg3
p_msg4
* >> Início da exclusão: FORM MESSAGE_STORE
p_nro.
* << Fim da exclusão
* >> Início da inclusão: FORM MESSAGE_STORE
p_nro."#EC *
* << Fim da inclusão
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = p_classe
msgty = p_tipo
msgv1 = p_msg1
msgv2 = p_msg2
msgv3 = p_msg3
msgv4 = p_msg4
txtnr = p_nro
EXCEPTIONS
message_type_not_valid = 1
not_active = 2
* >> Início da exclusão: FORM MESSAGE_STORE
OTHERS = 3.
IF sy-subrc NE 0.
* << Fim da exclusão
* >> Início da inclusão: FORM MESSAGE_STORE
OTHERS = 3."#EC *
IF sy-subrc = 0.
else.
* << Fim da inclusão
ENDIF.
ENDFORM.
FORM message_show USING value(p_limpa_msg) TYPE c.
DATA: v_num_messages TYPE sy-tabix.
CALL FUNCTION 'MESSAGES_COUNT'
IMPORTING
count = v_num_messages
EXCEPTIONS
inconsistent_range = 1
inconsistent_range_severity = 2
OTHERS = 3.
* >> Início da exclusão: FORM MESSAGE_SHOW
IF sy-subrc <> 0.
* << Fim da exclusão
* >> Início da inclusão: FORM MESSAGE_SHOW
IF sy-subrc = 0.
else.
* << Fim da inclusão
ENDIF.
CHECK v_num_messages > 0.
CLEAR:
wa_controle-msg_cnt.
CALL FUNCTION 'MESSAGES_SHOW'
EXPORTING
object =
'Mensagens emitidas durante o processo'(018)
show_linno = space
EXCEPTIONS
inconsistent_range = 1
no_messages = 2
OTHERS = 3.
* >> Início da exclusão: FORM MESSAGE_SHOW
IF sy-subrc <> 0.
* << Fim da exclusão
* >> Início da inclusão: FORM MESSAGE_SHOW
IF sy-subrc = 0.
else.
* << Fim da inclusão
ENDIF.
IF p_limpa_msg = 'X'.
CALL FUNCTION 'MESSAGES_INITIALIZE'.
ENDIF.
ENDFORM.
FORM user_command_0051.
CASE ok_code.
WHEN 'BACK'.
CALL METHOD html_control->go_back.
CLEAR ok_code.
...
...
EXPORT s_invoic TO MEMORY ID 'PROG34-INVOIC'.
EXPORT s_gsber TO MEMORY ID 'PROG34-GSBER'.
EXPORT s_nrparc TO MEMORY ID 'PROG34-NRPARC'.
EXPORT s_kunag TO MEMORY ID 'PROG34-KUNAG'.
EXPORT s_dtincl TO MEMORY ID 'PROG34-DTINCL'.
EXPORT s_dtcext TO MEMORY ID 'PROG34-DTCEXT'.
PERFORM leave_to_transaction
USING c_transacao_a.
ENDFORM.
FORM trata_tela_0100.
* >> Início da exclusão: FORM TRATA_TELA_0100
DATA: v_linhas TYPE sy-tabix.
* << Fim da exclusão
FIELD-SYMBOLS: <fs_cols> TYPE cxtab_column.
LOOP AT SCREEN.
IF sy-tcode = c_transacao_e.
IF screen-group1 CA 'E'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT tc_op-cols ASSIGNING <fs_cols>.
...
...
ENDFORM.
FORM busca_sequencial
CHANGING p_novo_nrseq TYPE /pws/zycbt226-nrseq.
TYPES:
BEGIN OF t_s_nrseq,
nrseq TYPE /pws/zycbt226,
END OF t_s_nrseq,
t_t_nrseq TYPE TABLE OF t_s_nrseq.
DATA:
v_nrseq(8) TYPE c,
* >> Início da exclusão: FORM BUSCA_SEQUENCIAL
v_ano(3) TYPE c,
itab_nrseq TYPE t_t_nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_SEQUENCIAL
v_ano(3) TYPE c.
* << Fim da inclusão
IF sy-tcode = c_transacao_c.
CLEAR v_ultimo_nrseq.
CONCATENATE '%' sy-datum+2(2) INTO v_ano.
SELECT MAX( nrseq ) INTO v_ultimo_nrseq
FROM /pws/zycbt226
WHERE nrseq LIKE v_ano.
IF v_ultimo_nrseq IS INITIAL.
CONCATENATE '00000000' sy-datum+2(2) INTO v_ultimo_nrseq.
ENDIF.
v_nrseq = v_ultimo_nrseq(8) + 1.
...
...
ENDFORM.
FORM paginacao_tc USING p_linhas
CHANGING p_top_line.
CASE ok_code.
WHEN 'P--'.
p_top_line = 1.
WHEN 'P-'.
p_top_line =
p_top_line - wa_controle-tc_linhas.
IF p_top_line LE 0.
* >> Início da exclusão: FORM PAGINACAO_TC
p_top_line = 1.
* << Fim da exclusão
* >> Início da inclusão: FORM PAGINACAO_TC
p_top_line = 1."#EC PORTABLE
* << Fim da inclusão
ENDIF.
WHEN 'P+'.
p_top_line =
p_top_line + wa_controle-tc_linhas.
IF p_top_line GE p_linhas.
* >> Início da exclusão: FORM PAGINACAO_TC
p_top_line = p_linhas.
* << Fim da exclusão
* >> Início da inclusão: FORM PAGINACAO_TC
p_top_line = p_linhas."#EC PORTABLE
* << Fim da inclusão
ENDIF.
WHEN 'P++'.
p_top_line = p_linhas.
ENDCASE.
ENDFORM.
FORM preenche_tc_op.
FIELD-SYMBOLS: <fs_zycbt226> TYPE t_s_zycbe226,
<fs_zycbt209> TYPE t_s_zycbt209.
DATA: wa_zycbt017 TYPE t_s_zycbt017,
wa_kna1 TYPE t_s_kna1,
wa_lfa1 TYPE t_s_lfa1,
* >> Início da exclusão: FORM PREENCHE_TC_OP
v_icon_name TYPE icon-name,
* << Fim da exclusão
v_banco TYPE lfa1-lifnr.
FIELD-SYMBOLS: <fs_zycbt030> TYPE t_s_zycbt030.
READ TABLE itab_zycbt226 INDEX tc_op-current_line
ASSIGNING <fs_zycbt226>.
IF sy-subrc = 0.
IF wa_controle-autorizacao_emp IS INITIAL.
PERFORM message_store USING
'/PWS/ZYCBM'
'W'
'Registro não será exibido por falta de autorização.'(m02)
...
...
screen-name = '/PWS/ZYCBE226-DESTINO'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
FORM importa_selecao.
DATA:
wa_nrseq LIKE LINE OF s_nrseq,
* >> Início da exclusão: FORM IMPORTA_SELECAO
wa_zycbt226 LIKE LINE OF itab_zycbt226,
* << Fim da exclusão
v_param(20) TYPE c,
v_index(3) TYPE n,
* >> Início da exclusão: FORM IMPORTA_SELECAO
v_contador(3) TYPE n,
v_nrseq TYPE /pws/zycbe226-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM IMPORTA_SELECAO
v_contador(3) TYPE n.
* << Fim da inclusão
CLEAR:
v_index,
v_contador.
* >> Início da exclusão: FORM IMPORTA_SELECAO
GET PARAMETER ID 'ZYCB034-QTD' FIELD v_index.
SET PARAMETER ID 'ZYCB034-QTD' FIELD space.
* << Fim da exclusão
* >> Início da inclusão: FORM IMPORTA_SELECAO
GET PARAMETER ID 'ZYCB034-QTD' FIELD v_index."#EC *
SET PARAMETER ID 'ZYCB034-QTD' FIELD space."#EC *
* << Fim da inclusão
wa_nrseq-sign = 'I'.
wa_nrseq-option = 'EQ'.
DO v_index TIMES.
CONCATENATE c_parametro v_contador INTO v_param.
GET PARAMETER ID v_param FIELD wa_nrseq-low.
SET PARAMETER ID v_param FIELD space.
APPEND wa_nrseq TO s_nrseq.
v_contador = v_contador + 1.
ENDDO.
ENDFORM.
FORM processamento.
DATA: v_excecao(01) TYPE c,
* >> Início da exclusão: FORM PROCESSAMENTO
wa_disp LIKE LINE OF itab_disp_30,
wa_zycbt226 LIKE LINE OF itab_zycbt226,
v_indice_226 TYPE sy-tabix.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSAMENTO
wa_zycbt226 LIKE LINE OF itab_zycbt226,"#EC NEEDED
v_indice_226 TYPE sy-tabix."#EC NEEDED
* << Fim da inclusão
PERFORM: seleciona_op,
seleciona_dados,
armazena_dados_antigos.
LOOP AT itab_zycbt226 ASSIGNING <fs_op>.
v_indice_226 = sy-tabix.
IF <fs_op>-status = 'C'.
IF <fs_op>-operacao = 'E'.
READ TABLE itab_disp_30 WITH KEY nrseq = <fs_op>-nrseq
TRANSPORTING NO FIELDS.
IF sy-subrc EQ 0.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
'Ordem de Pagamento'(001)
<fs_op>-nrseq
* >> Início da exclusão: FORM PROCESSAMENTO
'tem disponibilidade(s) de 30%.'(m21)
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSAMENTO
'tem disponibilidade(s) de 30%.'(041)
* << Fim da inclusão
'Estorno não permitido.'(m15)
'061'.
CONTINUE.
ENDIF.
READ TABLE itab_disp_70 WITH KEY nrseq = <fs_op>-nrseq
TRANSPORTING NO FIELDS.
IF sy-subrc EQ 0.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
'Ordem de Pagamento'(001)
<fs_op>-nrseq
* >> Início da exclusão: FORM PROCESSAMENTO
'tem disponibilidade(s) de 70%.'(m22)
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSAMENTO
'tem disponibilidade(s) de 70%.'(040)
* << Fim da inclusão
'Estorno não permitido.'(m15)
'061'.
CONTINUE.
ENDIF.
IF <fs_op>-vlr_exterior NE <fs_op>-sld_exterior.
PERFORM message_store
USING '/PWS/ZYCBM'
'I'
'Ordem de Pagamento'(001)
<fs_op>-nrseq
...
...
ENDLOOP.
IF sy-subrc NE 0 AND NOT itab_zycbt226[] IS INITIAL.
PERFORM leave_to_transaction
USING c_transacao_a.
ENDIF.
ENDIF.
ENDFORM.
FORM verifica_dados
USING p_estorno TYPE c
CHANGING p_excecao TYPE c.
* >> Início da exclusão: FORM VERIFICA_DADOS
DATA: v_mensagens TYPE sy-tabix.
* << Fim da exclusão
PERFORM verifica_parametrizacao_taxas
USING p_estorno
itab_zycbt089
<fs_op>-bukrs
CHANGING p_excecao.
PERFORM bloqueia_contas
USING 'X'
CHANGING p_excecao.
ENDFORM.
FORM determina_periodo_contabil
...
...
EXPORTING
date = p_data
version = v_periv
IMPORTING
period = p_periodo
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
* >> Início da exclusão: FORM DETERMINA_PERIODO_CONTABIL
IF sy-subrc <> 0.
* << Fim da exclusão
* >> Início da inclusão: FORM DETERMINA_PERIODO_CONTABIL
IF sy-subrc = 0.
else.
* << Fim da inclusão
ENDIF.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = p_bukrs
v_date = p_data
IMPORTING
v_year = p_ano
EXCEPTIONS
variante_de_exercicio = 1
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
* >> Início da exclusão: FORM DETERMINA_PERIODO_CONTABIL
IF sy-subrc <> 0.
* << Fim da exclusão
* >> Início da inclusão: FORM DETERMINA_PERIODO_CONTABIL
IF sy-subrc = 0.
else.
* << Fim da inclusão
ENDIF.
ENDFORM.
FORM verifica_periodo_contabil
USING value(p_bukrs) TYPE t001-bukrs
value(p_periodo) TYPE frper
value(p_ano) TYPE gjahr
CHANGING p_periodo_fechado TYPE c.
CHECK:
NOT p_bukrs IS INITIAL,
NOT p_ano IS INITIAL,
...
...
msgty = 'W'
msgv1 = 'O período contábil'(m07)
msgv2 = p_periodo
msgv3 = p_ano
msgv4 = 'está fechado.'(m08)
txtnr = 061
EXCEPTIONS
message_type_not_valid = 1
not_active = 2
OTHERS = 3.
* >> Início da exclusão: FORM VERIFICA_PERIODO_CONTABIL
IF sy-subrc <> 0.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PERIODO_CONTABIL
IF sy-subrc = 0.
else.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
FORM verifica_parametrizacao_taxas
USING p_estorno TYPE c
p_itab_zycbt089 TYPE t_t_zycbt089
p_bukrs TYPE /pws/zycbt089-bukrs
CHANGING p_excecao TYPE c.
FIELD-SYMBOLS:
<fs_zycbt089> TYPE t_s_zycbt089.
* >> Início da exclusão: FORM VERIFICA_PARAMETRIZACAO_TAXAS
DATA: v_erro(1) TYPE c.
* << Fim da exclusão
READ TABLE p_itab_zycbt089
WITH TABLE KEY bukrs = p_bukrs
ASSIGNING <fs_zycbt089>.
IF sy-subrc = 0.
IF p_estorno IS INITIAL.
IF <fs_op>-tipo_op = 'E'.
IF <fs_zycbt089>-tx_desm_cli IS INITIAL OR
<fs_zycbt089>-tx_liq_and IS INITIAL OR
<fs_zycbt089>-tx_c_ordem_pagto IS INITIAL.
p_excecao = 'X'.
...
...
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = '/PWS/ZYCBM'
msgty = 'E'
msgv1 = 'Os tipos de taxa não estão parametrizados.'(m09)
txtnr = 015
EXCEPTIONS
message_type_not_valid = 1
not_active = 2
OTHERS = 3.
* >> Início da exclusão: FORM VERIFICA_PARAMETRIZACAO_TAXAS
IF sy-subrc <> 0.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PARAMETRIZACAO_TAXAS
IF sy-subrc = 0.
else.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
FORM contabilizacoes.
DATA: v_excecao(1) TYPE c.
CLEAR:
v_desm_cli,
v_desm_liqand,
v_sld_liq_and,
...
...
ENDFORM.
FORM preenche_campos_contab_exc
USING
value(p_bukrs) TYPE /pws/zycbt011-bukrs
value(p_ktosl) TYPE /pws/zyglt321-ktosl
value(p_codeven) TYPE /pws/zyglt321-codeven
value(p_desmemb) TYPE c
value(p_wa_zycbt226) TYPE t_s_zycbe226
value(p_wa_zycbt017) TYPE t_s_zycbt017
CHANGING
* >> Início da exclusão: FORM PREENCHE_CAMPOS_CONTAB_EXC
p_wa_zycbe033 TYPE t_s_zycbe033.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_CAMPOS_CONTAB_EXC
p_wa_zycbe033 TYPE t_s_zycbe033."#EC *
* << Fim da inclusão
CONSTANTS:
* >> Início da exclusão: FORM PREENCHE_CAMPOS_CONTAB_EXC
c_desm_cont(01) TYPE c VALUE 'C',
* << Fim da exclusão
c_sgtxt(05) TYPE c VALUE 'SGTXT',
c_xblnr(05) TYPE c VALUE 'XBLNR',
c_zuonr(05) TYPE c VALUE 'ZUONR',
* >> Início da exclusão: FORM PREENCHE_CAMPOS_CONTAB_EXC
c_zterm(05) TYPE c VALUE 'ZTERM',
* << Fim da exclusão
c_zfbdt(05) TYPE c VALUE 'ZFBDT',
c_valut(05) TYPE c VALUE 'VALUT',
c_nrinvoic(08) TYPE c VALUE 'NRINVOIC',
c_nremb(05) TYPE c VALUE 'NREMB',
c_nrseq(05) TYPE c VALUE 'NRSEQ',
c_ref(06) TYPE c VALUE 'REF_OP',
c_obs(03) TYPE c VALUE 'OBS',
c_dtincl(06) TYPE c VALUE 'DTINCL',
c_dtlancto(08) TYPE c VALUE 'DTLANCTO',
c_dtlimite(08) TYPE c VALUE 'DTLIMITE',
...
...
ENDCASE.
ENDCASE.
ENDLOOP.
ENDFORM.
FORM doc_op USING value(p_estorno) TYPE c
CHANGING p_belnr_est_f02 TYPE /pws/zycbt226-belnr_op
p_dtlancto_est_f02 TYPE /pws/zycbt226-dtlancto.
DATA: wa_zycbt032 TYPE t_s_zycbt032,
wa_zycbe033 TYPE t_s_zycbe033,
wa_zycbt034 TYPE t_s_zycbt034,
* >> Início da exclusão: FORM DOC_OP
wa_erro TYPE t_s_erro,
* << Fim da exclusão
wa_zycbt209 TYPE t_s_zycbt209,
wa_tab_op TYPE t_s_tab_op,
v_lancto_multiplo TYPE c,
v_newbs2 TYPE newbs,
v_titulo(31) TYPE c,
v_codeven TYPE /pws/zycbt011-codeven.
CONSTANTS: c_op(23) TYPE c VALUE 'DOC. ORDEM DE PAGAMENTO',
c_est_op(31) TYPE c VALUE 'DOC. ESTORNO ORDEM DE PAGAMENTO'
.
IF p_estorno IS INITIAL.
...
...
wa_zycbe033-gsber = <fs_op>-gsberf.
wa_zycbe033-d_gsber = <fs_op>-gsberf.
wa_zycbe033-c_gsber = <fs_op>-gsberf.
ENDIF.
IF NOT <fs_op>-j_1bbranch IS INITIAL.
wa_zycbe033-brnch = <fs_op>-j_1bbranch.
ENDIF.
IF NOT <fs_op>-werks IS INITIAL.
wa_zycbe033-werks = <fs_op>-werks.
ENDIF.
* >> Início da exclusão: FORM DOC_OP
CONCATENATE 'Des.'
* << Fim da exclusão
* >> Início da inclusão: FORM DOC_OP
CONCATENATE text-038
* << Fim da inclusão
<fs_op>-nrinvoic <fs_op>-nrparcf
INTO wa_zycbe033-d_zuonr
SEPARATED BY space.
* >> Início da exclusão: FORM DOC_OP
CONCATENATE 'Des.' <fs_op>-nrinvoic <fs_op>-nrparcf
* << Fim da exclusão
* >> Início da inclusão: FORM DOC_OP
CONCATENATE text-038
<fs_op>-nrinvoic <fs_op>-nrparcf
* << Fim da inclusão
INTO wa_zycbe033-c_zuonr
SEPARATED BY space.
IF <fs_op>-tipo_op = 'E'.
v_codeven = c_codeven_op_emb.
ELSEIF <fs_op>-tipo_op = 'P'.
v_codeven = '030'.
ENDIF.
PERFORM preenche_campos_contab_exc
USING
<fs_op>-bukrs
c_chave_oper
v_codeven
space
<fs_op>
wa_fat
CHANGING
wa_zycbe033.
IF <fs_op>-tipo_op = 'P'.
* >> Início da exclusão: FORM DOC_OP
CONCATENATE 'Des.' <fs_op>-bukrs
* << Fim da exclusão
* >> Início da inclusão: FORM DOC_OP
CONCATENATE text-038
<fs_op>-bukrs
* << Fim da inclusão
INTO wa_zycbe033-c_zuonr
SEPARATED BY space.
ENDIF.
IF <fs_op>-tipo_op = 'E'.
* >> Início da exclusão: FORM DOC_OP
CONCATENATE 'Des.' <fs_op>-nrinvoic <fs_op>-nrparcf
* << Fim da exclusão
* >> Início da inclusão: FORM DOC_OP
CONCATENATE text-038
<fs_op>-nrinvoic <fs_op>-nrparcf
* << Fim da inclusão
INTO wa_zycbe033-c_zuonr
SEPARATED BY space.
ENDIF.
PERFORM define_taxa_cambio
USING 'O'
p_estorno
v_codeven
<fs_op>-bukrs
<fs_op>-dtlancto
<fs_op>-nrinvoic
...
...
p_kursf TYPE tcurr-ukurs.
CONSTANTS:
c_dtcontr(10) TYPE c VALUE 'DTCONTR',
c_dtfech(10) TYPE c VALUE 'DTFECH',
c_dtlanc(10) TYPE c VALUE 'DTLANC',
c_dtemb(10) TYPE c VALUE 'DTEMB',
c_txfat(10) TYPE c VALUE 'TXFAT',
c_viatrans(10) TYPE c VALUE 'VIATRANS',
c_dtcredext(10) TYPE c VALUE 'DTCREDEXT',
c_dtaverb(10) TYPE c VALUE 'DTAVERB',
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
c_dtcruze(10) TYPE c VALUE 'DTCRUZE',
c_op(28) TYPE c VALUE 'wa_zycbt089-tx_c_ordem_pagto',
c_est_op(30) TYPE c VALUE 'wa_zycbt089-tx_est_ordem_pagto',
c_cli(23) TYPE c VALUE 'wa_zycbt089-tx_desm_cli',
c_est_cli(21) TYPE c VALUE 'wa_zycbt089-tx_cl_cli',
c_liqand(27) TYPE c VALUE 'wa_zycbt089-tx_desm_liq_and',
c_est_liqand(25) TYPE c VALUE 'wa_zycbt089-tx_cl_liq_and'.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
c_dtcruze(10) TYPE c VALUE 'DTCRUZE'.
* << Fim da inclusão
DATA:
v_dt_taxa TYPE d,
wa_zycet001 TYPE t_s_zycet001,
wa_zycit054 TYPE t_s_zycit054,
wa_zycet047 TYPE t_s_zycet047,
wa_zycet048 TYPE t_s_zycet048,
wa_bkpf TYPE t_s_bkpf,
v_op(30) TYPE c,
v_cli(23) TYPE c,
v_liqand(27) TYPE c.
...
...
CASE p_tpcontab.
WHEN 'O'.
v_op = c_dtlanc.
CASE v_op.
WHEN c_dtlanc.
v_dt_taxa = p_dtlanc.
WHEN c_dtcredext.
v_dt_taxa = <fs_op>-dtcredext.
WHEN c_txfat.
READ TABLE itab_zycet001 INTO wa_zycet001
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY nrseq = <fs_op>-nrinvoic.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY nrseq = <fs_op>-nrinvoic."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
READ TABLE itab_zycbt030 INTO wa_zycbt030
WITH KEY nrinvoic = <fs_op>-nrinvoic
gsberf = <fs_op>-gsberf
nrparcf = <fs_op>-nrparcf.
IF sy-subrc = 0.
CHECK ( NOT wa_zycbt030-belnr IS INITIAL OR
NOT wa_zycbt030-belnr_t IS INITIAL OR
NOT wa_zycbt030-belnr6 IS INITIAL ) AND
NOT wa_zycbt030-gjahr IS INITIAL.
...
...
gjahr = wa_zycbt030-gjahr(4).
ENDIF.
ENDIF.
IF sy-subrc = 0.
p_kursf = wa_bkpf-kursf.
ENDIF.
ENDIF.
ENDIF.
WHEN c_viatrans.
READ TABLE itab_zycet001 INTO wa_zycet001
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY nrseq = p_nrinvoic.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY nrseq = p_nrinvoic."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
READ TABLE itab_zycit054 INTO wa_zycit054
WITH KEY vktra_ci = wa_zycet001-viatrans.
IF sy-subrc = 0.
CHECK NOT wa_zycit054-vktra IS INITIAL.
READ TABLE itab_zycet048 INTO wa_zycet048
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY vktrt = wa_zycit054-vktra.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY vktrt = wa_zycit054-vktra."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
IF wa_zycet048-dtvrc EQ wa_zycet048-dtvencto.
v_dt_taxa = wa_zycet001-kurrf_bl.
ELSE.
IF wa_zycet048-dtvrc EQ 'DTBL'.
READ TABLE itab_zycet047 INTO wa_zycet047
WITH KEY nrseq = wa_zycet001-nrseq.
IF sy-subrc = 0.
v_dt_taxa = wa_zycet047-dtbl.
ENDIF.
...
...
v_dt_taxa = wa_zycet001-dtaverb.
ELSEIF wa_zycet048-dtvrc EQ 'DTCRUZE'.
v_dt_taxa = wa_zycet001-dtcruze.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
WHEN c_dtemb.
READ TABLE itab_zycet001 INTO wa_zycet001
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY nrseq = <fs_op>-nrinvoic.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY nrseq = <fs_op>-nrinvoic."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
v_dt_taxa = wa_zycet001-dtemb.
ENDIF.
WHEN c_dtfech.
v_dt_taxa = <fs_op>-dtincl.
v_dt_taxa+6(2) = '01'.
v_dt_taxa = v_dt_taxa - 1.
v_dt_taxa = v_dt_taxa.
ENDCASE.
WHEN 'C'.
...
...
v_cli = wa_zycbt089-tx_desm_cli.
ELSE.
v_cli = wa_zycbt089-tx_cl_cli.
ENDIF.
CASE v_cli.
WHEN c_dtlanc.
v_dt_taxa = p_dtlanc.
WHEN c_dtfech.
READ TABLE itab_zycet001
WITH KEY nrseq = p_nrinvoic
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
INTO wa_zycet001.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
INTO wa_zycet001."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
wa_zycet001-dtemb+6(2) = '01'.
<fs_op>-dtcredext+6(2) = '01'.
IF wa_zycet001-dtemb EQ <fs_op>-dtcredext.
v_dt_taxa = wa_zycet001-dtemb.
ELSE.
v_dt_taxa = <fs_op>-dtincl.
v_dt_taxa+6(2) = '01'.
v_dt_taxa = v_dt_taxa - 1.
ENDIF.
ENDIF.
WHEN c_dtemb.
READ TABLE itab_zycet001
WITH KEY nrseq = p_nrinvoic
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
INTO wa_zycet001.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
INTO wa_zycet001."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
v_dt_taxa = wa_zycet001-dtemb.
ENDIF.
WHEN c_txfat.
READ TABLE itab_zycet001 INTO wa_zycet001
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY nrseq = <fs_op>-nrinvoic.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY nrseq = <fs_op>-nrinvoic."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
READ TABLE itab_zycbt030 INTO wa_zycbt030 WITH KEY
nrinvoic = <fs_op>-nrinvoic
gsberf = <fs_op>-gsberf
nrparcf = <fs_op>-nrparcf.
IF sy-subrc = 0.
IF ( NOT wa_zycbt030-belnr IS INITIAL OR
NOT wa_zycbt030-belnr_t IS INITIAL OR
NOT wa_zycbt030-belnr6 IS INITIAL ) AND
NOT wa_zycbt030-gjahr IS INITIAL.
...
...
p_kursf = wa_bkpf-kursf.
CLEAR v_dt_taxa.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
WHEN c_viatrans OR
c_dtcontr.
READ TABLE itab_zycet001
WITH KEY nrseq = p_nrinvoic
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
INTO wa_zycet001.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
INTO wa_zycet001."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
READ TABLE itab_zycit054
WITH KEY vktra_ci = wa_zycet001-viatrans
INTO wa_zycit054.
IF sy-subrc = 0.
IF NOT wa_zycit054-vktra IS INITIAL.
READ TABLE itab_zycet048
WITH KEY vktrt = wa_zycit054-vktra
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
INTO wa_zycet048.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
INTO wa_zycet048."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
CASE wa_zycet048-dtvrc.
WHEN c_dtemb.
v_dt_taxa = wa_zycet001-dtemb.
WHEN c_dtaverb.
v_dt_taxa = wa_zycet001-dtaverb.
WHEN c_dtcruze.
v_dt_taxa = wa_zycet001-dtcruze.
ENDCASE.
ENDIF.
...
...
IF p_estorno IS INITIAL.
v_liqand = wa_zycbt089-tx_desm_liq_and.
ELSE.
v_liqand = wa_zycbt089-tx_cl_liq_and.
ENDIF.
CASE v_liqand.
WHEN c_dtlanc.
v_dt_taxa = p_dtlanc.
WHEN 'DTEMB'.
READ TABLE itab_zycet001 INTO wa_zycet001
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY nrseq = <fs_op>-nrinvoic.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY nrseq = <fs_op>-nrinvoic."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
v_dt_taxa = wa_zycet001-dtemb.
ENDIF.
WHEN 'DTFECH'.
READ TABLE itab_zycet001
WITH KEY nrseq = p_nrinvoic
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
INTO wa_zycet001.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
INTO wa_zycet001."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
wa_zycet001-dtemb+6(2) = '01'.
<fs_op>-dtcredext+6(2) = '01'.
IF wa_zycet001-dtemb EQ <fs_op>-dtcredext.
v_dt_taxa = wa_zycet001-dtemb.
ELSE.
v_dt_taxa = <fs_op>-dtincl.
v_dt_taxa+6(2) = '01'.
v_dt_taxa = v_dt_taxa - 1.
ENDIF.
ENDIF.
WHEN 'DTFECH1'.
READ TABLE itab_zycet001
WITH KEY nrseq = p_nrinvoic
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
INTO wa_zycet001.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
INTO wa_zycet001."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
wa_zycet001-dtemb+6(2) = '01'.
<fs_op>-dtcredext+6(2) = '01'.
IF wa_zycet001-dtemb EQ <fs_op>-dtcredext.
v_dt_taxa = wa_zycet001-dtemb.
ELSE.
v_dt_taxa = <fs_op>-dtincl.
v_dt_taxa+6(2) = '01'.
ENDIF.
ENDIF.
WHEN 'VIATRANS'.
CLEAR wa_zycet048.
READ TABLE itab_zycet001 INTO wa_zycet001
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY nrseq = <fs_op>-nrinvoic.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY nrseq = <fs_op>-nrinvoic."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
READ TABLE itab_zycit054 INTO wa_zycit054
WITH KEY vktra_ci = wa_zycet001-viatrans.
IF sy-subrc = 0.
IF NOT wa_zycit054-vktra IS INITIAL.
READ TABLE itab_zycet048 INTO wa_zycet048
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY vktrt = wa_zycit054-vktra.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY vktrt = wa_zycit054-vktra."#EC *
* << Fim da inclusão
IF sy-subrc EQ 0.
IF wa_zycet048-dtvrc = wa_zycet048-dtvencto.
CLEAR v_dt_taxa.
p_kursf = wa_zycet001-kurrf_bl.
ELSE.
IF wa_zycet048-dtvrc EQ 'DTBL'.
READ TABLE itab_zycet047 INTO wa_zycet047
WITH KEY nrseq = wa_zycet001-nrseq.
IF sy-subrc = 0.
v_dt_taxa = wa_zycet047-dtbl.
...
...
ELSEIF wa_zycet048-dtvrc EQ 'DTCRUZE'.
v_dt_taxa = wa_zycet001-dtcruze.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
WHEN 'TXFAT'.
READ TABLE itab_zycet001 INTO wa_zycet001
* >> Início da exclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY nrseq = <fs_op>-nrinvoic.
* << Fim da exclusão
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
WITH KEY nrseq = <fs_op>-nrinvoic."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
READ TABLE itab_zycbt030 INTO wa_zycbt030
WITH KEY nrinvoic = <fs_op>-nrinvoic
gsberf = <fs_op>-gsberf
nrparcf = <fs_op>-nrparcf.
IF sy-subrc = 0.
IF NOT wa_zycbt030-belnr IS INITIAL AND
NOT wa_zycet001-dtemb IS INITIAL.
READ TABLE itab_bkpf INTO wa_bkpf
WITH KEY bukrs = <fs_op>-bukrs
...
...
p_bukrs
<fs_op>-waers
wa_zycbt007-waersb
v_dt_taxa
CHANGING
p_kursf.
ENDIF.
ENDIF.
ENDFORM.
FORM seleciona_dados.
* >> Início da exclusão: FORM SELECIONA_DADOS
DATA: BEGIN OF itab_054 OCCURS 0,
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
DATA: BEGIN OF itab_054 OCCURS 0,"#EC *
* << Fim da inclusão
mandt TYPE /pws/zycit054-mandt,
vktra_ci TYPE /pws/zycit054-vktra_ci,
vktra(2) TYPE n,
bezei TYPE /pws/zycit054-bezei,
codvias TYPE /pws/zycit054-codvias,
dtprescarga TYPE /pws/zycit054-dtprescarga,
nrdias TYPE /pws/zycit054-nrdias,
END OF itab_054.
SELECT modo descr
FROM /pws/zycbt039
* >> Início da exclusão: FORM SELECIONA_DADOS
INTO CORRESPONDING FIELDS OF TABLE itab_zycbt039.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
INTO CORRESPONDING FIELDS OF TABLE itab_zycbt039."#EC CI_NOWHERE
* << Fim da inclusão
IF NOT itab_zycbt226[] IS INITIAL.
SELECT *
FROM kna1
INTO TABLE itab_kna1
FOR ALL ENTRIES IN itab_zycbt226
WHERE kunnr = itab_zycbt226-kunag.
SELECT *
FROM lfa1
INTO TABLE itab_lfa1
FOR ALL ENTRIES IN itab_zycbt226
...
...
belnr = itab_zycbt030-belnr6 )
AND bukrs = itab_zycbt030-bukrs
AND gjahr = itab_zycbt030-gjahr.
ENDIF.
SELECT *
FROM /pws/zycbt209
INTO TABLE itab_zycbt209
FOR ALL ENTRIES IN itab_zycbt017
WHERE nrinvoic = itab_zycbt017-nrinvoic
AND nrparcf = itab_zycbt017-nrparcf
* >> Início da exclusão: FORM SELECIONA_DADOS
AND gsberf = itab_zycbt017-gsberf.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
AND gsberf = itab_zycbt017-gsberf."#EC CI_NOFIRST
* << Fim da inclusão
SELECT *
FROM /pws/zyglt368
INTO TABLE itab_zyglt368
FOR ALL ENTRIES IN itab_zycbt017
WHERE bukrs = itab_zycbt017-bukrs.
ENDIF.
ENDFORM.
FORM busca_taxa USING
value(p_codeven) TYPE /pws/zycbt011-codeven
value(p_bukrs) TYPE t001-bukrs
...
...
READ TABLE itab_zycbt011
WITH TABLE KEY
codeven = p_codeven
codmod = c_modulo
bukrs = p_bukrs
ASSIGNING <fs_zycbt011>.
IF sy-subrc = 0.
READ TABLE itab_zycbt009
WITH TABLE KEY
codpadr = <fs_zycbt011>-ctmoed
* >> Início da exclusão: FORM BUSCA_TAXA
ASSIGNING <fs_zycbt009>.
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_TAXA
ASSIGNING <fs_zycbt009>."#EC *
* << Fim da inclusão
ENDIF.
IF <fs_zycbt009> IS ASSIGNED.
CALL FUNCTION '/PWS/ZYGL_MONTANTE_CONVERTE'
EXPORTING
i_montante = 1
i_demoeda = p_waersde
i_paramoeda = p_waerspara
i_ctmoeda = <fs_zycbt009>-kurst
i_dtbase = p_dtbase
IMPORTING
...
...
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
tabela_categ_nao_configurada = 8
OTHERS = 9.
* >> Início da exclusão: FORM BUSCA_TAXA
IF sy-subrc <> 0.
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_TAXA
IF sy-subrc = 0.
else.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDFORM.
FORM le_dados.
READ TABLE itab_zycbt007
WITH TABLE KEY bukrs = <fs_op>-bukrs
INTO wa_zycbt007.
READ TABLE itab_zycbt089
WITH TABLE KEY bukrs = <fs_op>-bukrs
INTO wa_zycbt089.
...
...
INTO wa_fat.
ENDFORM.
FORM busca_conta USING
value(p_bukrs) TYPE /pws/zycbt001-bukrs
value(p_kunnr) TYPE /pws/zycbt001-kunnr
value(p_sld_liq_and) TYPE wrbtr
value(p_wa_zycbt209) TYPE t_s_zycbt209
value(p_estorno) TYPE c
CHANGING
p_wa_zycbe033 TYPE t_s_zycbe033
* >> Início da exclusão: FORM BUSCA_CONTA
p_newbs2 TYPE newbs.
CONSTANTS:
c_codaux1 TYPE /pws/zyglt316-codaux1 VALUE 'ORDEM PAGAMENTO'.
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_CONTA
p_newbs2 TYPE newbs."#EC *
* << Fim da inclusão
DEFINE atualiza_cmps_contabeis_op.
<fs_op>-tp_conta = &1.
<fs_op>-conta_contabil = &2.
<fs_op>-rze = &3.
END-OF-DEFINITION.
DATA:
wa_zyglt316 TYPE t_s_zyglt316,
wa_zycbt011 TYPE t_s_zycbt011,
v_codeven TYPE /pws/zycbt011-codeven,
v_banco TYPE /pws/zycbt226-bco_me.
...
...
bukrs = <fs_op>-bukrs
ktosl = 'FBK'
codaux1 = v_banco
codaux2 = <fs_op>-waers
TABLES
account = itab_zyglt316
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM BUSCA_CONTA
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
READ TABLE itab_zyglt316 INTO wa_zyglt316 INDEX 1.
IF sy-subrc = 0.
p_wa_zycbe033-d_newko = wa_zyglt316-konts.
ENDIF.
IF p_estorno IS INITIAL.
atualiza_cmps_contabeis_op 'S'
p_wa_zycbe033-d_newko
' ' .
ENDIF.
PERFORM preenche_contas_bloqueio USING sy-mandt
...
...
titel = 'Execução do Batch-Input'(009)
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_BI
if sy-subrc = 0.
else.
endif.
* << 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 armazena_dados_antigos.
REFRESH itab_zycbt226_ant.
...
...
wa_zycbe033-belnr = <fs_zycbt030>-belnr.
ENDIF.
ENDIF.
wa_zycbe033-d_newko = <fs_op>-kunag.
wa_zycbe033-newbs = '01'.
PERFORM preenche_contas_bloqueio USING sy-mandt
<fs_op>-bukrs
'D'
wa_zycbe033-d_newko
'S'.
* >> Início da exclusão: FORM DOC_DESM_CLIENTE
CONCATENATE 'Des.'
* << Fim da exclusão
* >> Início da inclusão: FORM DOC_DESM_CLIENTE
CONCATENATE text-038
* << Fim da inclusão
<fs_zycbt030>-nrinvoic <fs_zycbt030>-nrparcf
INTO wa_zycbe033-d_zuonr
SEPARATED BY space.
wa_zycbt036-tcode = wa_zycbe033-tcode.
wa_zycbt036-tabela = wa_zycbe033-tabela.
wa_zycbt036-cpochv = wa_zycbe033-cpochv.
wa_zycbt036-residuo = wa_zycbe033-wrbtr.
wa_zycbt036-zuonr = wa_zycbe033-d_zuonr.
APPEND wa_zycbt036 TO itab_zycbt036.
APPEND wa_zycbe033 TO itab_zycbe033.
...
...
FORM doc_desm_liq_and.
DATA: wa_zycbt032 TYPE t_s_zycbt032,
wa_zycbe033 TYPE t_s_zycbe033,
wa_zycbt034 TYPE t_s_zycbt034,
wa_zycbt036 TYPE t_s_zycbt036,
wa_zycbt011 TYPE t_s_zycbt011,
wa_zycbt225 TYPE t_s_zycbt225,
v_vlr_lancto TYPE /pws/zycbe033-wrbtr,
v_ultimo(1) TYPE c,
v_vinc_tot(1) TYPE c.
* >> Início da exclusão: FORM DOC_DESM_LIQ_AND
FIELD-SYMBOLS: <fs_zycbt209> TYPE t_s_zycbt209,
<fs_zycbt030> TYPE t_s_zycbt030.
* << Fim da exclusão
* >> Início da inclusão: FORM DOC_DESM_LIQ_AND
FIELD-SYMBOLS: <fs_zycbt209> TYPE t_s_zycbt209.
* << Fim da inclusão
CHECK NOT <fs_op>-belnr_op IS INITIAL AND
<fs_op>-belnr_desmliqand IS INITIAL AND
v_desm_liqand = 'X'.
LOOP AT itab_zycbt209 ASSIGNING <fs_zycbt209>
WHERE nrinvoic = <fs_op>-nrinvoic
AND nrparcf = <fs_op>-nrparcf
AND gsberf = <fs_op>-gsberf
AND saldo > 0.
CLEAR: v_ultimo,
v_vinc_tot.
...
...
PERFORM preenche_campos_contab_exc
USING
<fs_op>-bukrs
c_chave_oper
c_codeven_liqand_op
space
<fs_op>
wa_fat
CHANGING
wa_zycbe033.
* >> Início da exclusão: FORM DOC_DESM_LIQ_AND
CONCATENATE 'Des.' <fs_zycbt209>-nrinvoic <fs_zycbt209>-nrparcf
* << Fim da exclusão
* >> Início da inclusão: FORM DOC_DESM_LIQ_AND
CONCATENATE text-038
<fs_zycbt209>-nrinvoic <fs_zycbt209>-nrparcf
* << Fim da inclusão
INTO wa_zycbe033-d_zuonr
SEPARATED BY space.
* >> Início da exclusão: FORM DOC_DESM_LIQ_AND
CONCATENATE 'Des.' <fs_zycbt209>-nrinvoic <fs_zycbt209>-nrparcf
* << Fim da exclusão
* >> Início da inclusão: FORM DOC_DESM_LIQ_AND
CONCATENATE text-038
<fs_zycbt209>-nrinvoic <fs_zycbt209>-nrparcf
* << Fim da inclusão
INTO wa_zycbe033-c_zuonr
...
...
IMPORTING
v_year = v_year
EXCEPTIONS
variante_de_exercicio = 1
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
* >> Início da inclusão: FORM DOC_COMPENSACAO
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
SELECT SINGLE zuonr
FROM bseg
INTO wa_zycbe033-c_zuonr
WHERE bukrs = <fs_op>-bukrs AND
belnr = wa_zycbt030-belnr6 AND
gjahr = v_year AND
augbl = space AND
koart = 'D' AND
* >> Início da exclusão: FORM DOC_COMPENSACAO
buzei <= 2.
* << Fim da exclusão
* >> Início da inclusão: FORM DOC_COMPENSACAO
buzei <= 2."#EC *
* << Fim da inclusão
APPEND wa_partidas TO itab_partidas.
ENDIF.
ENDIF.
IF v_desm_liqand = 'X'.
LOOP AT itab_zycbt209 INTO wa_zycbt209
WHERE nrinvoic = <fs_op>-nrinvoic
AND nrparcf = <fs_op>-nrparcf
AND gsberf = <fs_op>-gsberf.
LOOP AT itab_zycbt225 INTO wa_zycbt225
WHERE nrseq = <fs_op>-nrseq
...
...
IMPORTING
v_year = v_year
EXCEPTIONS
variante_de_exercicio = 1
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
* >> Início da inclusão: FORM DOC_COMPENSACAO
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
SELECT SINGLE zuonr
FROM bseg
INTO wa_zycbe033-c_zuonr
WHERE bukrs = wa_zycbt209-bukrs AND
belnr = wa_zycbt225-belnr_desmliqand AND
gjahr = v_year AND
augbl = space AND
koart = wa_zycbt209-koart AND
* >> Início da exclusão: FORM DOC_COMPENSACAO
buzei <= 2.
* << Fim da exclusão
* >> Início da inclusão: FORM DOC_COMPENSACAO
buzei <= 2."#EC *
* << Fim da inclusão
APPEND wa_partidas TO itab_partidas.
ENDLOOP.
ENDLOOP.
ENDIF.
LOOP AT itab_partidas INTO wa_partidas.
PERFORM preenche_contas_bloqueio USING sy-mandt
<fs_op>-bukrs
wa_partidas-agkoa
wa_partidas-agkon(10)
'S'.
...
...
bukrs = <fs_op>-bukrs
ktosl = 'FBK'
codaux1 = v_banco
codaux2 = <fs_op>-waers
TABLES
account = itab_zyglt316
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM BLOQUEIA_CONTAS
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
READ TABLE itab_zyglt316 INTO wa_zyglt316 INDEX 1.
IF sy-subrc = 0.
PERFORM preenche_contas_bloqueio USING sy-mandt
<fs_op>-bukrs
'S'
wa_zyglt316-konts
'S'.
ENDIF.
READ TABLE itab_zycbt209 INTO wa_zycbt209
WITH KEY nrinvoic = <fs_op>-nrinvoic
...
...
bukrs = <fs_op>-bukrs
ktosl = 'FBK'
codaux1 = v_banco
codaux2 = <fs_op>-waers
TABLES
account = itab_zyglt316
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM BLOQUEIA_CONTAS
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
READ TABLE itab_zyglt316 INTO wa_zyglt316 INDEX 1.
IF sy-subrc = 0.
PERFORM preenche_contas_bloqueio USING sy-mandt
<fs_op>-bukrs
'S'
wa_zyglt316-konts
'S'.
ENDIF.
PERFORM preenche_contas_bloqueio USING sy-mandt
<fs_op>-bukrs
...
...
ENDIF.
CALL FUNCTION '/PWS/ZYCB_ENQUEUE_CONTAS'
EXPORTING
i_bloqueia = p_bloqueio
TABLES
itab_zycbt224 = itab_zycbe224
EXCEPTIONS
zycbe224_null = 1
erro_bloqueio = 2
OTHERS = 3.
* >> Início da exclusão: FORM BLOQUEIA_CONTAS
IF sy-subrc <> 0.
* << Fim da exclusão
* >> Início da inclusão: FORM BLOQUEIA_CONTAS
IF sy-subrc = 0.
else.
* << Fim da inclusão
ENDIF.
LOOP AT itab_zycbe224 INTO wa_zycbe224
WHERE uname <> space.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = '/PWS/ZYCBM'
msgty = 'E'
msgv1 = wa_zycbe224-saknr
msgv2 = wa_zycbe224-bukrs
msgv3 = wa_zycbe224-uname
txtnr = 295
EXCEPTIONS
message_type_not_valid = 1
not_active = 2
OTHERS = 3.
* >> Início da exclusão: FORM BLOQUEIA_CONTAS
IF sy-subrc <> 0.
* << Fim da exclusão
* >> Início da inclusão: FORM BLOQUEIA_CONTAS
IF sy-subrc = 0.
else.
* << Fim da inclusão
ENDIF.
p_excecao = 'X'.
ENDLOOP.
IF sy-subrc = 0.
CALL FUNCTION '/PWS/ZYCB_ENQUEUE_CONTAS'
EXPORTING
i_bloqueia = space
TABLES
itab_zycbt224 = itab_zycbe224
EXCEPTIONS
zycbe224_null = 1
erro_bloqueio = 2
OTHERS = 3.
* >> Início da exclusão: FORM BLOQUEIA_CONTAS
IF sy-subrc <> 0.
* << Fim da exclusão
* >> Início da inclusão: FORM BLOQUEIA_CONTAS
IF sy-subrc = 0.
else.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDFORM.
* >> Início da exclusão: FORM VERIFICA_EXCECOES
FORM verifica_excecoes CHANGING p_mensagens TYPE sy-tabix.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_EXCECOES
FORM verifica_excecoes CHANGING p_mensagens TYPE sy-tabix."#EC CALLED
* << Fim da inclusão
CALL FUNCTION 'MESSAGES_COUNT'
IMPORTING
count = p_mensagens
EXCEPTIONS
inconsistent_range = 1
inconsistent_range_severity = 2
OTHERS = 3.
* >> Início da exclusão: FORM VERIFICA_EXCECOES
IF sy-subrc <> 0.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_EXCECOES
IF sy-subrc = 0.
else.
* << Fim da inclusão
ENDIF.
ENDFORM.
FORM get_invoice.
TYPES:
BEGIN OF shlp_intdescr_t.
TYPES:
issimple TYPE dd30v-issimple,
hotkey TYPE dd30v-hotkey,
selmtype TYPE dd30v-selmtype,
selmethod TYPE dd30v-selmethod,
...
...
DATA: BEGIN OF itab_result OCCURS 0.
INCLUDE STRUCTURE ddshretval.
DATA: END OF itab_result.
DATA: BEGIN OF record_tab OCCURS 0.
INCLUDE STRUCTURE seahlpres.
DATA: END OF record_tab.
DATA: v_line TYPE sy-lilli,
l_display(1) TYPE c,
tdynpread TYPE dynpread OCCURS 0 WITH HEADER LINE,
wa_zycbt017 TYPE t_s_zycbt017,
* >> Início da exclusão: FORM GET_INVOICE
itab_zycbt017 TYPE t_t_zycbt017,
* << Fim da exclusão
v_moeda TYPE /pws/zycbe226-waers,
wa_invoice TYPE t_s_invoice,
v_valor(16) TYPE c,
v_pendcomm TYPE /pws/zycbt030-pendcomm,
wa_zycbt226 TYPE LINE OF t_t_zycbt226.
CLEAR tdynpread.
REFRESH tdynpread.
CALL FUNCTION 'DYNP_GET_STEPL'
IMPORTING
povstepl = v_line.
tdynpread-fieldname = '/PWS/ZYCBE226-NRINVOIC'.
tdynpread-stepl = v_line.
APPEND tdynpread.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = '/PWS/SAPMZYCB034'
dynumb = '0110'
TABLES
* >> Início da exclusão: FORM GET_INVOICE
dynpfields = tdynpread.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
dynpfields = tdynpread
EXCEPTIONS
others = 0.
* << Fim da inclusão
IF sy-subrc EQ 0 AND
NOT tdynpread-fieldvalue IS INITIAL.
EXIT.
ENDIF.
IF sy-tcode = c_transacao_a OR
sy-tcode = c_transacao_e.
l_display = 'X'.
ELSE.
l_display = ' '.
ENDIF.
...
...
CLEAR tdynpread.
REFRESH tdynpread.
tdynpread-fieldname = '/PWS/ZYCBE226-NRINVOIC'.
tdynpread-stepl = v_line - 1.
APPEND tdynpread.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = '/PWS/SAPMZYCB034'
dynumb = '0110'
TABLES
* >> Início da exclusão: FORM GET_INVOICE
dynpfields = tdynpread.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
dynpfields = tdynpread
EXCEPTIONS
others = 0.
* << Fim da inclusão
IF sy-subrc EQ 0 AND
tdynpread-fieldvalue IS INITIAL AND
tdynpread-stepl GT 0.
v_line = tdynpread-stepl.
ELSEIF sy-subrc EQ 0 AND
NOT tdynpread-fieldvalue IS INITIAL.
EXIT.
ENDIF.
ENDDO.
CLEAR tdynpread.
...
...
AND nrparcf = record_tab-string+23(2)
AND gsberf = record_tab-string+25(4).
IF sy-subrc NE 0.
SHIFT record_tab-string RIGHT BY 3 PLACES.
SELECT SINGLE * FROM /pws/zycbt017 INTO wa_zycbt017
WHERE nrinvoic = record_tab-string+3(20)
AND nrparcf = record_tab-string+23(2)
AND gsberf = record_tab-string+25(4).
ENDIF.
CLEAR v_pendcomm.
* >> Início da exclusão: FORM GET_INVOICE
SELECT SINGLE pendcomm
FROM /pws/zycbt030 INTO v_pendcomm
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
SELECT pendcomm
FROM /pws/zycbt030
UP TO 1 ROWS
INTO v_pendcomm
* << Fim da inclusão
WHERE nrinvoic = record_tab-string+3(20)
AND nrparcf = record_tab-string+23(2)
AND gsberf = record_tab-string+25(4).
* >> Início da inclusão: FORM GET_INVOICE
endselect.
* << Fim da inclusão
IF NOT v_pendcomm IS INITIAL.
MESSAGE i061 WITH text-029 record_tab-string+3(20) text-030.
CONTINUE.
ENDIF.
READ TABLE itab_invoice INTO wa_invoice
WITH KEY nrinvoic = record_tab-string+3(20)
nrparcf = record_tab-string+23(2)
* >> Início da exclusão: FORM GET_INVOICE
gsberf = record_tab-string+25(4).
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
gsberf = record_tab-string+25(4)."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
APPEND wa_invoice TO itab_invoice_aux.
ENDIF.
ENDLOOP.
LOOP AT itab_invoice_aux INTO wa_invoice.
IF sy-tabix > 1.
v_line = v_line + 1.
ENDIF.
SELECT SINGLE * FROM /pws/zycbt017 INTO wa_zycbt017
WHERE nrinvoic = wa_invoice-nrinvoic
...
...
APPEND wa_zycbt226 TO itab_zycbt226.
ENDIF.
ENDLOOP.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-cprog
dynumb = '0110'
TABLES
dynpfields = tdynpread
EXCEPTIONS
* >> Início da exclusão: FORM GET_INVOICE
OTHERS = 8.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
OTHERS = 0.
* << Fim da inclusão
ENDFORM.
FORM limpa_itabs.
REFRESH:
itab_zycbt017,
itab_zycbt030,
itab_zycbt039,
itab_zycbt209,
itab_zycbe224,
itab_zycbt225,
itab_zycbt226,
...
...
wa_moeda TYPE t_moeda,
itab_moeda TYPE TABLE OF t_moeda WITH DEFAULT KEY,
v_kursf TYPE tcurr-ukurs,
v_ctg_moeda TYPE /pws/zycbt011-ctmoed,
wa_zycbt009 TYPE t_s_zycbt009,
itab_226 TYPE t_t_zycbt226.
CHECK wa_controle-total_30_70 IS INITIAL.
CLEAR: v_total_30,
v_total_70.
SELECT * FROM /pws/zycbt226
* >> Início da exclusão: FORM CALCULA_TOTAL_DESTINO
INTO CORRESPONDING FIELDS OF TABLE itab_226.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_TOTAL_DESTINO
INTO CORRESPONDING FIELDS OF TABLE itab_226."#EC CI_NOWHERE
* << Fim da inclusão
SORT itab_226 BY destino waers ASCENDING.
LOOP AT itab_226 INTO wa_zycbt226.
IF ( wa_zycbt226-destino NE v_destino AND
wa_zycbt226-waers NE v_moeda ) OR
( wa_zycbt226-destino = v_destino AND
wa_zycbt226-waers NE v_moeda ) OR
( wa_zycbt226-destino NE v_destino AND
wa_zycbt226-waers = v_moeda ).
CLEAR wa_moeda.
wa_moeda-destino = wa_zycbt226-destino.
...
...
IF p_moedag = 'X'.
v_ctg_moeda = 'G'.
ENDIF.
IF p_moedam = 'X'.
v_ctg_moeda = 'M'.
ENDIF.
IF p_moedab = 'X'.
v_ctg_moeda = 'B'.
ENDIF.
READ TABLE itab_zycbt009 INTO wa_zycbt009
* >> Início da exclusão: FORM CALCULA_TOTAL_DESTINO
WITH KEY codpadr = v_ctg_moeda.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_TOTAL_DESTINO
WITH KEY codpadr = v_ctg_moeda."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'
EXPORTING
i_montante = '1'
i_demoeda = wa_moeda-waers
i_paramoeda = c_paramoeda
i_ctmoeda = wa_zycbt009-kurst
i_dtbase = sy-datum
IMPORTING
e_txc = v_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 CALCULA_TOTAL_DESTINO
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
wa_moeda-vlr_usd = wa_moeda-soma * v_kursf.
MODIFY TABLE itab_moeda FROM wa_moeda.
ENDIF.
ENDIF.
ENDLOOP.
LOOP AT itab_moeda INTO wa_moeda WHERE destino = '30'.
v_total_30 = v_total_30 + wa_moeda-vlr_usd.
ENDLOOP.
LOOP AT itab_moeda INTO wa_moeda WHERE destino = '70'.
v_total_70 = v_total_70 + wa_moeda-vlr_usd.
...
...
PERFORM message_store
USING wa_zycbt032-msgid
wa_zycbt032-tpmsg
wa_zycbt032-msgv1
wa_zycbt032-msgv2
wa_zycbt032-msgv3
wa_zycbt032-msgv4
wa_zycbt032-nrmsg.
ENDLOOP.
PERFORM estornar_contabilizacoes
* >> Início da exclusão: FORM ESTORNO
USING itab_contabilizacoes.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO
CHANGING itab_contabilizacoes.
* << Fim da inclusão
ENDIF.
ELSEIF sy-subrc = 1.
LOOP AT itab_zycbt034 INTO wa_zycbt034.
PERFORM message_store
USING '/PWS/ZYCBM'
'E'
'Campo não está preenchido.'(m13)
wa_zycbt034-campo
'-'
wa_zycbt034-descricao
'061'.
ENDLOOP.
PERFORM estornar_contabilizacoes
* >> Início da exclusão: FORM ESTORNO
USING itab_contabilizacoes.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO
CHANGING itab_contabilizacoes.
* << Fim da inclusão
ENDIF.
CALL FUNCTION '/PWS/ZYCB_ENQUEUE_CONTAS'
EXPORTING
i_bloqueia = 'X'
TABLES
itab_zycbt224 = itab_zycbe224
EXCEPTIONS
zycbe224_null = 1
erro_bloqueio = 2
OTHERS = 3.
...
...
ENDFORM.
FORM f02_reversa
CHANGING p_belnr_est_f02 TYPE /pws/zycbt226-belnr_op
p_dtlancto_est_f02 TYPE /pws/zycbt226-dtlancto.
DATA: wa_zycbt032 TYPE t_s_zycbt032,
wa_zycbe033 TYPE t_s_zycbe033,
wa_zycbt034 TYPE t_s_zycbt034,
wa_partidas TYPE t_s_zycbe033,
wa_zycbt209 TYPE t_s_zycbt209,
wa_zycbt225 TYPE t_s_zycbt225,
* >> Início da exclusão: FORM F02_REVERSA
wa_tab_op TYPE t_s_tab_op,
* << Fim da exclusão
wa_zyglt316 TYPE t_s_zyglt316,
wa_zycbt011 TYPE t_s_zycbt011,
wa_cont TYPE t_contabilizacoes,
* >> Início da exclusão: FORM F02_REVERSA
v_lancto_multiplo TYPE c,
v_newbs2 TYPE newbs,
* << Fim da exclusão
* >> Início da inclusão: FORM F02_REVERSA
v_lancto_multiplo TYPE c,"#EC NEEDED
* << Fim da inclusão
v_titulo(31) TYPE c,
v_codeven TYPE /pws/zycbt011-codeven,
v_banco TYPE /pws/zycbt226-bco_me,
v_belnr TYPE /pws/zycbt226-belnr_op,
v_gjahr TYPE bkpf-gjahr,
v_tot_liqand TYPE wrbtr.
* >> Início da exclusão: FORM F02_REVERSA
CONSTANTS: c_op(23) TYPE c VALUE 'DOC. ORDEM DE PAGAMENTO',
c_est_op(31) TYPE c VALUE 'DOC. ESTORNO ORDEM DE PAGAMENTO'
.
* << Fim da exclusão
* >> Início da inclusão: FORM F02_REVERSA
CONSTANTS:
c_est_op(31) TYPE c VALUE 'DOC. ESTORNO ORDEM DE PAGAMENTO'.
* << Fim da inclusão
CHECK <fs_op>-tipo_op = 'E'.
v_titulo = c_est_op.
wa_zycbe033-tcode = 'F-02'.
wa_zycbe033-tabela = '/PWS/ZYCBT226'.
IF <fs_op>-tipo_op = 'E'.
CONCATENATE <fs_op>-nrinvoic <fs_op>-gsberf <fs_op>-nrparcf
INTO wa_zycbe033-cpochv.
ENDIF.
PERFORM verifica_campo_vazio USING <fs_op>-dtcredext
'DTCREDEXT'
...
...
bukrs = <fs_op>-bukrs
ktosl = 'FBK'
codaux1 = v_banco
codaux2 = <fs_op>-waers
TABLES
account = itab_zyglt316
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM F02_REVERSA
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
READ TABLE itab_zyglt316 INTO wa_zyglt316 INDEX 1.
IF sy-subrc = 0.
wa_zycbe033-d_newko = wa_zyglt316-konts.
ENDIF.
PERFORM preenche_contas_bloqueio USING sy-mandt
<fs_op>-bukrs
wa_zycbe033-agkoa
wa_zycbe033-d_newko
'S'.
IF v_desm_liqand = 'X'.
...
...
PERFORM message_store
USING wa_zycbt032-msgid
wa_zycbt032-tpmsg
wa_zycbt032-msgv1
wa_zycbt032-msgv2
wa_zycbt032-msgv3
wa_zycbt032-msgv4
wa_zycbt032-nrmsg.
ENDLOOP.
PERFORM estornar_contabilizacoes
* >> Início da exclusão: FORM ESTORNO_LIQ_AND
USING itab_contabilizacoes.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO_LIQ_AND
CHANGING itab_contabilizacoes.
* << Fim da inclusão
ENDIF.
ELSEIF sy-subrc = 1.
LOOP AT itab_zycbt034 INTO wa_zycbt034.
PERFORM message_store
USING '/PWS/ZYCBM'
'E'
'Campo não está preenchido.'(m13)
wa_zycbt034-campo
'-'
wa_zycbt034-descricao
'061'.
ENDLOOP.
PERFORM estornar_contabilizacoes
* >> Início da exclusão: FORM ESTORNO_LIQ_AND
USING itab_contabilizacoes.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO_LIQ_AND
changing itab_contabilizacoes.
* << Fim da inclusão
ENDIF.
ENDIF.
REFRESH: itab_zycbt032,
itab_zycbe033,
itab_zycbt036,
itab_zycbe224.
ENDLOOP.
CALL FUNCTION '/PWS/ZYCB_ENQUEUE_CONTAS'
EXPORTING
i_bloqueia = 'X'
...
...
/pws/zycbe238 TO wa_disp.
MOVE:
v_mark TO wa_disp-mark,
/pws/zycbe226-waers TO wa_disp-waers,
/pws/zycbe238-vldisp TO wa_disp-saldo.
MODIFY p_itab_disp FROM wa_disp INDEX p_tc-current_line.
ENDFORM.
FORM loop_at_screen_disp
USING p_itab_disp TYPE t_t_disponibilidade
p_tc TYPE cxtab_control
* >> Início da exclusão: FORM LOOP_AT_SCREEN_DISP
p_destino TYPE /pws/zycbe238-destino.
* << Fim da exclusão
* >> Início da inclusão: FORM LOOP_AT_SCREEN_DISP
p_destino TYPE /pws/zycbe238-destino."#EC *
* << Fim da inclusão
DATA:
* >> Início da exclusão: FORM LOOP_AT_SCREEN_DISP
v_fecha_linha TYPE c,
v_newko TYPE /pws/zycbe033-d_newko,
wa_disp LIKE LINE OF p_itab_disp.
* << Fim da exclusão
* >> Início da inclusão: FORM LOOP_AT_SCREEN_DISP
v_fecha_linha TYPE c.
* << Fim da inclusão
READ TABLE itab_zycbt007 INTO wa_zycbt007
...
...
ENDCASE.
ENDFORM.
FORM mover_dados
USING p_itab_origem TYPE t_t_zycbt226
p_destino TYPE /pws/zycbt238-destino
CHANGING p_itab_destino TYPE t_t_disponibilidade.
DATA:
v_codaux1 TYPE /pws/zygle316-codaux1,
v_codaux2 TYPE /pws/zygle316-codaux2,
v_codaux3 TYPE /pws/zygle316-codaux3,
* >> Início da exclusão: FORM MOVER_DADOS
v_indice TYPE sy-index,
* << Fim da exclusão
v_existe TYPE char1,
* >> Início da exclusão: FORM MOVER_DADOS
wa_origem LIKE LINE OF p_itab_origem,
* << Fim da exclusão
wa_destino LIKE LINE OF p_itab_destino.
FIELD-SYMBOLS:
<fs_origem> LIKE LINE OF p_itab_origem.
LOOP AT p_itab_origem ASSIGNING <fs_origem> WHERE mark EQ 'X'.
CHECK <fs_origem>-status EQ c_contabilizado.
LOOP AT p_itab_destino INTO wa_destino
...
...
v_ok = 'X'.
ENDIF.
ENDLOOP.
IF sy-subrc NE 0.
MESSAGE w061 WITH
'Por favor, selecionar pelo menos uma fatura.'(m01).
EXIT.
ENDIF.
IF v_ok EQ 'X'.
MESSAGE w061 WITH
* >> Início da exclusão: FORM ADICIONAR_DISPONIBILIDADE
'Não existe saldo suficiente para disponibilizar.'(m21).
* << Fim da exclusão
* >> Início da inclusão: FORM ADICIONAR_DISPONIBILIDADE
text-m21.
* << Fim da inclusão
EXIT.
ENDIF.
wa_modo-selflag = '1'.
wa_modo-varoption = '30%'(031).
APPEND wa_modo TO itab_modo.
wa_modo-selflag = '2'.
wa_modo-varoption = '70%'(032).
APPEND wa_modo TO itab_modo.
SORT itab_modo BY selflag ASCENDING.
CALL FUNCTION 'POPUP_TO_DECIDE_LIST'
...
...
ktosl = p_chave
codaux1 = p_codaux1
codaux2 = p_codaux2
codaux3 = p_codaux3
TABLES
account = itab_zyglt316
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM BUSCA_CONTA_CONTABIL
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
READ TABLE itab_zyglt316 INDEX 1 INTO wa_zyglt316.
IF sy-subrc = 0.
CASE p_tipo.
WHEN c_debito.
MOVE wa_zyglt316-konts TO p_conta.
WHEN c_credito.
MOVE wa_zyglt316-konth TO p_conta.
ENDCASE.
ENDIF.
ENDFORM.
FORM adicionar_dados_contrato
USING p_itab_disp TYPE t_t_disponibilidade.
DATA:
v_indice TYPE sy-index,
* >> Início da exclusão: FORM ADICIONAR_DADOS_CONTRATO
wa_disp LIKE LINE OF p_itab_disp,
* << Fim da exclusão
wa_contrato LIKE LINE OF itab_contrato.
FIELD-SYMBOLS:
<fs_disp> LIKE LINE OF p_itab_disp.
DESCRIBE TABLE p_itab_disp LINES v_indice.
LOOP AT p_itab_disp ASSIGNING <fs_disp>
WHERE vldisp EQ 0.
DO 2 TIMES.
IF sy-index EQ 1.
wa_contrato-tpcontr = c_tp1.
ELSE.
...
...
ENDLOOP.
ENDFORM.
FORM preenche_tc_contrato
USING p_itab_disp TYPE t_t_disponibilidade
p_itab_contrato TYPE t_t_contrato
p_tc TYPE cxtab_control.
DATA:
wa_disp LIKE LINE OF p_itab_disp,
wa_zycbt226 LIKE LINE OF itab_zycbt226,
wa_contrato LIKE LINE OF p_itab_contrato.
* >> Início da exclusão: FORM PREENCHE_TC_CONTRATO
FIELD-SYMBOLS:
<fs_contrato> LIKE LINE OF p_itab_contrato.
* << Fim da exclusão
READ TABLE p_itab_contrato INDEX p_tc-current_line
INTO wa_contrato.
IF sy-subrc EQ 0.
READ TABLE itab_zycbt226
INTO wa_zycbt226
WITH KEY nrseq = wa_contrato-nrseq.
READ TABLE p_itab_disp INTO wa_disp
WITH KEY indice = wa_contrato-indice.
IF sy-subrc EQ 0.
MOVE:
...
...
ENDCASE.
CONCATENATE p_disp-nrseq '-' p_disp-destino '%' INTO v_msg.
SHIFT v_msg LEFT DELETING LEADING '0'.
IF sy-subrc EQ 0.
CASE p_disp-operacao.
WHEN c_novo.
APPEND p_disp TO itab_disp_ant.
PERFORM message_store USING
'/PWS/ZYCBM'
'I'
* >> Início da exclusão: FORM SALVAR_DADOS_DISP
'Disponibilidade'
* << Fim da exclusão
* >> Início da inclusão: FORM SALVAR_DADOS_DISP
'Disponibilidade'(039)
* << Fim da inclusão
v_msg
'gravada com sucesso.'(m37)
space
'061'.
WHEN c_alterado.
MODIFY itab_disp_ant FROM p_disp
TRANSPORTING doc_comp doc_cont doc_desm
WHERE nrseq = p_disp-nrseq
AND destino = p_disp-destino
AND dtdisp = p_disp-dtdisp.
...
...
CHECK NOT p_contrato-operacao IS INITIAL.
CASE p_contrato-operacao.
WHEN c_novo.
INSERT INTO /pws/zycbt239 VALUES p_contrato.
WHEN c_alterado.
UPDATE /pws/zycbt239 FROM p_contrato.
WHEN c_excluido.
DELETE FROM /pws/zycbt239
WHERE nrseq = p_contrato-nrseq
AND destino = p_contrato-destino
* >> Início da exclusão: FORM SALVAR_DADOS_CONTRATO
AND dtdisp = p_contrato-dtdisp.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVAR_DADOS_CONTRATO
AND dtdisp = p_contrato-dtdisp."#EC CI_NOFIRST
* << Fim da inclusão
ENDCASE.
IF sy-subrc EQ 0.
CASE p_contrato-operacao.
WHEN c_novo.
APPEND p_contrato TO itab_contrato_ant.
v_msg = p_contrato-nrseq.
SHIFT v_msg LEFT DELETING LEADING '0'.
CONCATENATE 'para a disponibilidade'(m35)
v_msg
INTO v_msg
...
...
<fs_disp>-operacao.
ENDIF.
ELSE.
<fs_disp>-operacao = c_novo.
ENDIF.
ENDIF.
ENDFORM.
FORM atualiza_icone
USING p_operacao TYPE t_disponibilidade-operacao
CHANGING p_icone.
* >> Início da exclusão: FORM ATUALIZA_ICONE
CLEAR v_icone.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_ICONE
CLEAR P_icone.
* << Fim da inclusão
CASE p_operacao.
WHEN space.
p_icone = icon_space.
WHEN c_excluido.
p_icone = icon_delete.
WHEN c_novo.
p_icone = icon_create.
WHEN c_alterado.
p_icone = icon_change.
ENDCASE.
...
...
LOOP AT p_itab_disp INTO wa_disp
WHERE mark = 'X'.
LOOP AT p_itab_contrato ASSIGNING <fs_contrato>
WHERE nrseq = wa_disp-nrseq
AND destino = wa_disp-destino
AND dtdisp = wa_disp-dtdisp.
<fs_contrato>-mark = 'X'.
ENDLOOP.
ENDLOOP.
PERFORM marcar_estorno
* >> Início da exclusão: FORM MARCAR_ESTORNO_CONTRATO
USING p_valor
p_itab_contrato.
* << Fim da exclusão
* >> Início da inclusão: FORM MARCAR_ESTORNO_CONTRATO
USING p_valor
CHANGING p_itab_contrato.
* << Fim da inclusão
ENDFORM.
FORM elimina_linha_marcada
CHANGING p_itab TYPE INDEX TABLE.
DATA:
v_tabix TYPE sy-tabix.
FIELD-SYMBOLS:
<fs_line> TYPE ANY,
<fs_record> TYPE ANY.
LOOP AT p_itab ASSIGNING <fs_line>.
v_tabix = sy-tabix.
...
...
wa_zycbt226 LIKE LINE OF itab_zycbt226,
v_param(20) TYPE c,
v_index(3) TYPE n.
CLEAR:
v_index.
LOOP AT itab_zycbt226 INTO wa_zycbt226.
CONCATENATE c_parametro v_index INTO v_param.
SET PARAMETER ID v_param FIELD wa_zycbt226-nrseq.
v_index = v_index + 1.
ENDLOOP.
* >> Início da exclusão: FORM LEAVE_TO_TRANSACTION
SET PARAMETER ID 'ZYCB034-QTD' FIELD v_index.
SET PARAMETER ID 'UCOMM' FIELD 'CRET'.
* << Fim da exclusão
* >> Início da inclusão: FORM LEAVE_TO_TRANSACTION
SET PARAMETER ID 'ZYCB034-QTD' FIELD v_index."#EC *
SET PARAMETER ID 'UCOMM' FIELD 'CRET'."#EC *
* << Fim da inclusão
LEAVE TO TRANSACTION p_transacao AND SKIP FIRST SCREEN.
ENDFORM.
FORM contabiliza_contrato
USING p_disp LIKE LINE OF itab_disp_70
CHANGING p_contrato LIKE LINE OF itab_contrato.
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_zycbt011 TYPE /pws/zycbe011,
* >> Início da exclusão: FORM CONTABILIZA_CONTRATO
wa_zycbt034 LIKE LINE OF itab_zycbt034,
* << Fim da exclusão
wa_zycbe033 LIKE LINE OF itab_zycbe033,
wa_mensagem TYPE t_mensagem.
CHECK p_contrato-doc_cont IS INITIAL.
CHECK p_contrato-operacao NE c_excluido.
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
p_contrato-tpcontr
p_contrato-nrseq
p_contrato-destino
p_contrato-dtdisp
...
...
'061'.
ENDLOOP.
FREE p_wa_mensagem.
ENDIF.
ENDFORM.
FORM preenche_f02_contrato
USING p_disp LIKE LINE OF itab_disp_70
p_contrato LIKE LINE OF itab_contrato
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
* >> Início da exclusão: FORM PREENCHE_F02_CONTRATO
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_F02_CONTRATO
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033."#EC *
* << Fim da inclusão
p_zycbe033-tcode = c_f02.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = p_contrato-dtdebito.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-bktxt = p_contrato-txtlanc.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
p_zycbe033-werks = <fs_op>-werks.
...
...
'Conta Débito'(035).
PERFORM verifica_campo_vazio USING p_zycbe033-c_newko
'NEWKO'
'Conta Crédito'(036).
ENDFORM.
FORM busca_parametros
USING p_evento TYPE /pws/zycbt011-codeven
p_modulo
CHANGING p_zycbt011 TYPE /pws/zycbe011
p_zycbe033 LIKE LINE OF itab_zycbe033.
* >> Início da exclusão: FORM BUSCA_PARAMETROS
SELECT SINGLE * FROM /pws/zycbt011 INTO p_zycbt011
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_PARAMETROS
SELECT * FROM /pws/zycbt011
up to 1 rows
INTO p_zycbt011
* << Fim da inclusão
WHERE codeven = p_evento
AND codmod = p_modulo.
* >> Início da inclusão: FORM BUSCA_PARAMETROS
endselect.
* << Fim da inclusão
p_zycbe033-blart = p_zycbt011-blart.
p_zycbe033-agums = p_zycbt011-agums.
p_zycbe033-augtx = p_zycbt011-txtdesc.
p_zycbe033-d_sgtxt = p_zycbt011-txtdesc.
p_zycbe033-agkoa = 'S'.
...
...
periodo_fechado = 2
OTHERS = 3.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDFORM.
FORM busca_parametros_321
USING p_evento
p_chave
p_txtlanc TYPE /pws/zycbe239-txtlanc
* >> Início da exclusão: FORM BUSCA_PARAMETROS_321
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_PARAMETROS_321
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033."#EC *
* << Fim da inclusão
DATA:
v_hora(8) TYPE c,
itab_zyglt321 TYPE STANDARD TABLE OF /pws/zyglt321,
wa_zyglt321 LIKE LINE OF itab_zyglt321.
SELECT * FROM /pws/zyglt321
INTO TABLE itab_zyglt321
WHERE ktosl = p_chave AND
codeven = p_evento.
LOOP AT itab_zyglt321 INTO wa_zyglt321.
CASE wa_zyglt321-cpor3.
...
...
wa_zycbt034-descricao
'061'.
ENDLOOP.
ENDFORM.
FORM clearing_contrato
USING p_disp LIKE LINE OF itab_disp_70
p_itab_contrato TYPE t_t_contrato.
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
* >> Início da exclusão: FORM CLEARING_CONTRATO
wa_contrato LIKE LINE OF p_itab_contrato,
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_CONTRATO
wa_contrato LIKE LINE OF p_itab_contrato,"#EC NEEDED
* << Fim da inclusão
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_zycbt011 TYPE /pws/zycbe011,
* >> Início da exclusão: FORM CLEARING_CONTRATO
wa_zycbt034 LIKE LINE OF itab_zycbt034,
* << Fim da exclusão
wa_zycbe033 LIKE LINE OF itab_zycbe033,
wa_mensagem TYPE t_mensagem.
FIELD-SYMBOLS:
<fs_contrato> TYPE t_contrato.
READ TABLE p_itab_contrato
...
...
OTHERS = 3.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDFORM.
FORM preenche_f30_clearing_contrato
USING p_disp LIKE LINE OF itab_disp_70
p_itab_contrato TYPE t_t_contrato
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
* >> Início da exclusão: FORM PREENCHE_F30_CLEARING_CONTRATO
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_F30_CLEARING_CONTRATO
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033."#EC *
* << Fim da inclusão
DATA:
wa_doctos LIKE LINE OF itab_doctos,
wa_contrato LIKE LINE OF p_itab_contrato.
p_zycbe033-tcode = c_f30.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
READ TABLE p_itab_contrato INTO wa_contrato
WITH KEY nrseq = p_disp-nrseq
destino = p_disp-destino
dtdisp = p_disp-dtdisp.
...
...
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM estorno_clearing_contrato
USING p_contrato TYPE t_contrato
p_cpochv TYPE /pws/zycbe033-cpochv.
DATA:
wa_zycbe033 LIKE LINE OF itab_zycbe033,
* >> Início da exclusão: FORM ESTORNO_CLEARING_CONTRATO
v_periodo TYPE frper,
v_ano TYPE gjahr,
v_periodo_fechado(1) TYPE c,
* << Fim da exclusão
wa_mensagem TYPE t_mensagem.
CHECK NOT p_contrato-doc_comp IS INITIAL.
wa_zycbe033-mandt = sy-mandt.
wa_zycbe033-tcode = c_fbra.
wa_zycbe033-tabela = c_zycbt239.
wa_zycbe033-cpochv = p_cpochv.
wa_zycbe033-belnr = p_contrato-doc_comp.
wa_zycbe033-bukrs = <fs_op>-bukrs.
wa_zycbe033-bldat = p_contrato-dtdebito.
APPEND wa_zycbe033 TO itab_zycbe033.
...
...
USING itab_zycbt034.
ENDIF.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM verifica_periodo
USING p_empresa
p_data
* >> Início da exclusão: FORM VERIFICA_PERIODO
p_msg.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PERIODO
p_msg."#EC *
* << Fim da inclusão
DATA: v_periodo TYPE frper,
v_ano TYPE gjahr,
v_periodo_fechado(1) TYPE c.
PERFORM determina_periodo_contabil
USING p_empresa
p_data
CHANGING v_periodo
v_ano.
PERFORM verifica_periodo_contabil
USING
p_empresa
v_periodo
v_ano
* >> Início da exclusão: FORM VERIFICA_PERIODO
CHANGING v_periodo_fechado.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PERIODO
CHANGING v_periodo_fechado."#EC *
* << Fim da inclusão
IF v_periodo_fechado = 'X'.
PERFORM message_store
USING '/PWS/ZYCBM'
'E'
p_msg
space
space
space
'061'.
ENDIF.
...
...
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc <> 0.
EXIT.
ENDIF.
ENDFORM.
FORM atualizar_saldos
USING p_disp TYPE t_disponibilidade.
* >> Início da exclusão: FORM ATUALIZAR_SALDOS
DATA:
wa_zycbt017 TYPE t_s_zycbt017.
* << Fim da exclusão
CASE <fs_op>-tipo_op.
WHEN c_embarque_exportacao.
PERFORM atualiza_saldo_zycbt017
USING p_disp
c_embarque_exportacao.
PERFORM atualiza_saldo_zycbt030
USING p_disp
c_embarque_exportacao.
PERFORM atualiza_saldo_zycbt226
* >> Início da exclusão: FORM ATUALIZAR_SALDOS
USING p_disp
c_embarque_exportacao.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZAR_SALDOS
USING p_disp.
* << Fim da inclusão
PERFORM atualiza_saldo_zycbt227
USING p_disp
c_embarque_exportacao.
WHEN c_pagamento_antecipado.
PERFORM atualiza_saldo_zycbt017
USING p_disp
c_pagamento_antecipado.
PERFORM atualiza_saldo_zycbt030
USING p_disp
c_pagamento_antecipado.
PERFORM atualiza_saldo_zycbt226
* >> Início da exclusão: FORM ATUALIZAR_SALDOS
USING p_disp
c_pagamento_antecipado.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZAR_SALDOS
USING p_disp.
* << Fim da inclusão
PERFORM atualiza_saldo_zycbt227
USING p_disp
c_pagamento_antecipado.
ENDCASE.
ENDFORM.
FORM atualiza_saldo_zycbt017
USING p_disp TYPE t_disponibilidade
p_tipo_op TYPE /pws/zycbe226-tipo_op.
DATA:
wa_disp TYPE t_disponibilidade,
* >> Início da exclusão: FORM ATUALIZA_SALDO_ZYCBT017
wa_zycbt227 TYPE t_zycbt227,
v_valor TYPE /pws/zycbt226-sld_exterior.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_SALDO_ZYCBT017
wa_zycbt227 TYPE t_zycbt227.
* << Fim da inclusão
FIELD-SYMBOLS:
<fs_zycbt017> LIKE LINE OF itab_zycbt017.
CHECK NOT p_disp-operacao IS INITIAL.
CASE p_tipo_op.
WHEN c_embarque_exportacao.
READ TABLE itab_zycbt017 ASSIGNING <fs_zycbt017>
WITH KEY nrinvoic = <fs_op>-nrinvoic
nrparcf = <fs_op>-nrparcf
gsberf = <fs_op>-gsberf.
CHECK <fs_zycbt017> IS ASSIGNED.
...
...
AND nrparcf = <fs_zycbt017>-nrparcf
AND gsberf = <fs_zycbt017>-gsberf.
ENDLOOP.
ENDCASE.
ENDFORM.
FORM atualiza_saldo_zycbt030
USING p_disp TYPE t_disponibilidade
p_tipo_op TYPE /pws/zycbe226-tipo_op.
DATA:
wa_disp TYPE t_disponibilidade,
* >> Início da exclusão: FORM ATUALIZA_SALDO_ZYCBT030
wa_zycbt227 TYPE t_zycbt227,
v_valor TYPE /pws/zycbt226-sld_exterior.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_SALDO_ZYCBT030
wa_zycbt227 TYPE t_zycbt227.
* << Fim da inclusão
FIELD-SYMBOLS:
<fs_zycbt030> LIKE LINE OF itab_zycbt030.
CHECK NOT p_disp-operacao IS INITIAL.
CASE p_tipo_op.
WHEN c_embarque_exportacao.
READ TABLE itab_zycbt030 ASSIGNING <fs_zycbt030>
WITH KEY nrinvoic = <fs_op>-nrinvoic
nrparcf = <fs_op>-nrparcf
gsberf = <fs_op>-gsberf.
CHECK <fs_zycbt030> IS ASSIGNED.
...
...
UPDATE /pws/zycbt030
SET vlslliq = <fs_zycbt030>-vlslliq
WHERE nrinvoic = <fs_zycbt030>-nrinvoic
AND nrparcf = <fs_zycbt030>-nrparcf
AND gsberf = <fs_zycbt030>-gsberf
AND vbeln = <fs_zycbt030>-vbeln.
ENDLOOP.
ENDCASE.
ENDFORM.
FORM atualiza_saldo_zycbt226
* >> Início da exclusão: FORM ATUALIZA_SALDO_ZYCBT226
USING p_disp TYPE t_disponibilidade
p_tipo_op TYPE /pws/zycbe226-tipo_op.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_SALDO_ZYCBT226
USING p_disp TYPE t_disponibilidade.
* << Fim da inclusão
FIELD-SYMBOLS:
<fs_zycbt226> LIKE LINE OF itab_zycbt226.
CHECK NOT p_disp-operacao IS INITIAL.
READ TABLE itab_zycbt226 ASSIGNING <fs_zycbt226>
WITH KEY nrseq = p_disp-nrseq.
CASE p_disp-operacao.
WHEN c_excluido.
<fs_zycbt226>-sld_exterior =
<fs_zycbt226>-sld_exterior + p_disp-vldisp.
WHEN c_novo.
...
...
ENDCASE.
UPDATE /pws/zycbt226
SET sld_exterior = <fs_zycbt226>-sld_exterior
belnr_op2 = <fs_zycbt226>-belnr_op2
dtlancto2 = <fs_zycbt226>-dtlancto2
WHERE nrseq = <fs_zycbt226>-nrseq.
ENDFORM.
FORM atualiza_saldo_zycbt227
USING p_disp TYPE t_disponibilidade
p_tipo_op TYPE /pws/zycbe226-tipo_op.
* >> Início da exclusão: FORM ATUALIZA_SALDO_ZYCBT227
DATA:
v_residuo TYPE wrbtr.
* << Fim da exclusão
FIELD-SYMBOLS:
<fs_zycbt227> LIKE LINE OF itab_zycbt227.
CHECK NOT p_disp-operacao IS INITIAL.
CHECK p_tipo_op EQ c_pagamento_antecipado.
* >> Início da exclusão: FORM ATUALIZA_SALDO_ZYCBT227
CLEAR v_residuo.
* << Fim da exclusão
LOOP AT itab_zycbt227 ASSIGNING <fs_zycbt227>
WHERE nrseq = <fs_op>-nrseq.
CHECK p_disp-saldo > 0.
...
...
MOVE:
wa_rend-mark TO v_mark.
ENDIF.
ENDFORM.
FORM salva_rendimentos.
DATA:
v_nrseqr TYPE /pws/zycbt240-nrseqr.
FIELD-SYMBOLS:
<fs_rend> TYPE t_rendimentos.
IF v_nrseqr IS INITIAL.
* >> Início da exclusão: FORM SALVA_RENDIMENTOS
SELECT MAX( nrseqr ) FROM /pws/zycbt240 INTO v_nrseqr.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_RENDIMENTOS
SELECT MAX( nrseqr ) FROM /pws/zycbt240
INTO v_nrseqr."#EC CI_NOWHERE
* << Fim da inclusão
ENDIF.
LOOP AT itab_rendimentos_ant ASSIGNING <fs_rend>.
READ TABLE itab_rendimentos
WITH KEY nrseqr = <fs_rend>-nrseqr
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
DELETE FROM /pws/zycbt240 WHERE nrseqr = <fs_rend>-nrseqr.
DELETE itab_rendimentos_ant WHERE nrseqr = <fs_rend>-nrseqr.
ENDIF.
ENDLOOP.
...
...
<fs_rend>-nrseqr = v_nrseqr.
ENDIF.
READ TABLE itab_rendimentos_ant
WITH KEY nrseqr = <fs_rend>-nrseqr
TRANSPORTING NO FIELDS.
IF sy-subrc NE 0.
INSERT INTO /pws/zycbt240 VALUES <fs_rend>.
ENDIF.
ENDLOOP.
IF sy-subrc NE 0 AND sy-tcode NE c_transacao_c.
* >> Início da exclusão: FORM SALVA_RENDIMENTOS
DELETE FROM /pws/zycbt240 WHERE nrseqr <> space.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_RENDIMENTOS
DELETE FROM /pws/zycbt240 WHERE nrseqr <> space."#EC CI_NOFIELD
* << Fim da inclusão
REFRESH itab_rendimentos_ant.
ENDIF.
MODIFY /pws/zycbt240 FROM TABLE itab_rendimentos.
ENDFORM.
FORM user_command_0140.
CASE ok_code.
WHEN 'MARK'.
PERFORM preenche_campo_itab
USING 'MARK'
'X'
...
...
CLEAR p_contrato-operacao.
ENDIF.
ENDFORM.
FORM contabiliza_disponibilidade
CHANGING p_disp TYPE t_disponibilidade.
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_zycbt011 TYPE /pws/zycbe011,
* >> Início da exclusão: FORM CONTABILIZA_DISPONIBILIDADE
wa_zycbt034 LIKE LINE OF itab_zycbt034,
* << Fim da exclusão
wa_zycbe033 LIKE LINE OF itab_zycbe033,
wa_mensagem TYPE t_mensagem.
CHECK p_disp-doc_cont IS INITIAL.
CHECK p_disp-operacao NE c_excluido.
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
p_disp-nrseq
p_disp-destino
p_disp-dtdisp
INTO v_cpochv.
...
...
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM preenche_f02_disponibilidade
USING p_disp LIKE LINE OF itab_disp_70
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
* >> Início da exclusão: FORM PREENCHE_F02_DISPONIBILIDADE
wa_zycbt089 LIKE LINE OF itab_zycbt089,
v_codaux TYPE /pws/zygle316-codaux1.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_F02_DISPONIBILIDADE
wa_zycbt089 LIKE LINE OF itab_zycbt089.
* << Fim da inclusão
READ TABLE itab_zycbt089 INTO wa_zycbt089
WITH KEY bukrs = <fs_op>-bukrs.
p_zycbe033-tcode = c_f02.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = p_disp-dtlanc.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
p_zycbe033-werks = <fs_op>-werks.
p_zycbe033-brnch = <fs_op>-j_1bbranch.
p_zycbe033-wrbtr = p_disp-vldisp.
PERFORM busca_taxa_disponibilidade
USING p_disp
p_zycbt011
wa_zycbt089-tx_lanc_dispon
CHANGING p_zycbe033-kursf.
p_zycbe033-d_newko = p_disp-conta_contabil.
p_zycbe033-c_newko = <fs_op>-conta_contabil.
* >> Início da exclusão: FORM PREENCHE_F02_DISPONIBILIDADE
CONCATENATE 'Desm.'
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_F02_DISPONIBILIDADE
CONCATENATE text-037
* << Fim da inclusão
<fs_op>-nrinvoic
<fs_op>-nrparcf
INTO p_zycbe033-c_zuonr
SEPARATED BY space.
PERFORM verifica_campo_vazio USING p_zycbe033-budat
'DTCREDEXT'
'Data do Documento'(005).
PERFORM verifica_campo_vazio USING p_zycbe033-bldat
'DTLANCTO'
'Data de Lançamento'(004).
...
...
CHANGING
p_kursf.
ENDFORM.
FORM desmembramento_disponibilidade
CHANGING p_disp TYPE t_disponibilidade.
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_zycbt011 TYPE /pws/zycbe011,
* >> Início da exclusão: FORM DESMEMBRAMENTO_DISPONIBILIDADE
wa_zycbt034 LIKE LINE OF itab_zycbt034,
* << Fim da exclusão
wa_zycbe033 LIKE LINE OF itab_zycbe033,
wa_mensagem TYPE t_mensagem.
CHECK NOT p_disp-doc_cont IS INITIAL.
CHECK p_disp-doc_desm IS INITIAL.
CHECK p_disp-operacao NE c_excluido.
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
p_disp-nrseq
p_disp-destino
p_disp-dtdisp
...
...
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM preenche_f30_desmemb_disp
USING p_disp LIKE LINE OF itab_disp_70
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
* >> Início da exclusão: FORM PREENCHE_F30_DESMEMB_DISP
wa_doctos LIKE LINE OF itab_doctos,
v_codaux TYPE /pws/zygle316-codaux1.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_F30_DESMEMB_DISP
wa_doctos LIKE LINE OF itab_doctos.
* << Fim da inclusão
p_zycbe033-tcode = c_f30.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = p_disp-dtlanc.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
p_zycbe033-werks = <fs_op>-werks.
p_zycbe033-brnch = <fs_op>-j_1bbranch.
p_zycbe033-wrbtr = p_disp-vldisp.
p_zycbe033-newbs = '40'.
* >> Início da exclusão: FORM PREENCHE_F30_DESMEMB_DISP
CONCATENATE 'Desm.'
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_F30_DESMEMB_DISP
CONCATENATE text-037
* << Fim da inclusão
<fs_op>-nrinvoic
<fs_op>-nrparcf
INTO p_zycbe033-d_zuonr
SEPARATED BY space.
PERFORM define_taxa_cambio
USING 'C'
'X'
p_zycbt011-codeven
<fs_op>-bukrs
<fs_op>-dtlancto
...
...
'NEWKO'
'Conta Débito'(035).
ENDFORM.
FORM clearing_disponibilidade
CHANGING p_disp TYPE t_disponibilidade.
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_zycbt011 TYPE /pws/zycbe011,
* >> Início da exclusão: FORM CLEARING_DISPONIBILIDADE
wa_zycbt034 LIKE LINE OF itab_zycbt034,
* << Fim da exclusão
wa_zycbe033 LIKE LINE OF itab_zycbe033,
wa_mensagem TYPE t_mensagem.
CHECK p_disp-doc_comp IS INITIAL.
CHECK NOT p_disp-doc_cont IS INITIAL.
CHECK NOT p_disp-doc_desm IS INITIAL.
CHECK p_disp-operacao NE c_excluido.
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
p_disp-nrseq
p_disp-destino
...
...
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM preenche_f30_clearing_disp
USING p_disp LIKE LINE OF itab_disp_70
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
* >> Início da exclusão: FORM PREENCHE_F30_CLEARING_DISP
wa_doctos LIKE LINE OF itab_doctos,
v_codaux TYPE /pws/zygle316-codaux1.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_F30_CLEARING_DISP
wa_doctos LIKE LINE OF itab_doctos.
* << Fim da inclusão
p_zycbe033-tcode = c_f30.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = p_disp-dtlanc.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
p_zycbe033-werks = <fs_op>-werks.
p_zycbe033-brnch = <fs_op>-j_1bbranch.
...
...
p_zycbe033-d_newko = <fs_op>-conta_contabil.
p_zycbe033-c_newko = p_disp-conta_contabil.
wa_doctos-tcode = p_zycbe033-tcode.
wa_doctos-tabela = p_zycbe033-tabela.
wa_doctos-cpochv = p_zycbe033-cpochv.
wa_doctos-belnr = p_disp-doc_cont.
wa_doctos-dtdocto = p_disp-dtlanc.
APPEND wa_doctos TO itab_doctos.
wa_doctos-belnr = p_disp-doc_desm.
wa_doctos-dtdocto = p_disp-dtlanc.
* >> Início da exclusão: FORM PREENCHE_F30_CLEARING_DISP
CONCATENATE 'Desm.'
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_F30_CLEARING_DISP
CONCATENATE text-037
* << Fim da inclusão
<fs_op>-nrinvoic
<fs_op>-nrparcf
INTO wa_doctos-zuonr
SEPARATED BY space.
APPEND wa_doctos TO itab_doctos.
PERFORM verifica_campo_vazio USING p_zycbe033-budat
'DTCREDEXT'
'Data do Documento'(005).
PERFORM verifica_campo_vazio USING p_zycbe033-bldat
'DTLANCTO'
...
...
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ELSE.
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM contabiliza_estorno_dispon
* >> Início da exclusão: FORM CONTABILIZA_ESTORNO_DISPON
CHANGING p_disp TYPE t_disponibilidade.
* << Fim da exclusão
* >> Início da inclusão: FORM CONTABILIZA_ESTORNO_DISPON
using p_disp TYPE t_disponibilidade.
* << Fim da inclusão
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_cont TYPE t_contabilizacoes,
wa_zycbt011 TYPE /pws/zycbe011,
* >> Início da exclusão: FORM CONTABILIZA_ESTORNO_DISPON
wa_zycbt034 LIKE LINE OF itab_zycbt034,
* << Fim da exclusão
wa_zycbe033 LIKE LINE OF itab_zycbe033,
...
...
PERFORM store_erros
USING itab_zycbt034.
ENDIF.
ENDFORM.
FORM preenche_f02_estorno_dispon
USING p_disp LIKE LINE OF itab_disp_70
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
* >> Início da exclusão: FORM PREENCHE_F02_ESTORNO_DISPON
wa_zycbt089 LIKE LINE OF itab_zycbt089,
v_codaux TYPE /pws/zygle316-codaux1.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_F02_ESTORNO_DISPON
wa_zycbt089 LIKE LINE OF itab_zycbt089.
* << Fim da inclusão
READ TABLE itab_zycbt089 INTO wa_zycbt089
WITH KEY bukrs = <fs_op>-bukrs.
p_zycbe033-tcode = c_f02.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = p_disp-dtlanc.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
...
...
'WAERS'
'Moeda'(010).
PERFORM verifica_campo_vazio USING p_zycbe033-kursf
'KURSF'
'Taxa de Câmbio'(019).
PERFORM verifica_campo_vazio USING p_zycbe033-d_newko
'NEWKO'
'Conta Débito'(035).
ENDFORM.
FORM clearing_conta_banco
* >> Início da exclusão: FORM CLEARING_CONTA_BANCO
CHANGING p_disp TYPE t_disponibilidade.
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_CONTA_BANCO
using p_disp TYPE t_disponibilidade.
* << Fim da inclusão
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_cont TYPE t_contabilizacoes,
wa_zycbt011 TYPE /pws/zycbe011,
* >> Início da exclusão: FORM CLEARING_CONTA_BANCO
wa_zycbt034 LIKE LINE OF itab_zycbt034,
* << Fim da exclusão
wa_zycbe033 LIKE LINE OF itab_zycbe033,
...
...
PERFORM estornar_contabilizacoes
CHANGING itab_contabilizacoes.
ENDIF.
ENDFORM.
FORM preenche_f30_clearing_banco
USING p_disp LIKE LINE OF itab_disp_70
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
* >> Início da exclusão: FORM PREENCHE_F30_CLEARING_BANCO
wa_doctos LIKE LINE OF itab_doctos,
v_codaux TYPE /pws/zygle316-codaux1.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_F30_CLEARING_BANCO
wa_doctos LIKE LINE OF itab_doctos.
* << Fim da inclusão
p_zycbe033-tcode = c_f30.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = p_disp-dtlanc.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
p_zycbe033-werks = <fs_op>-werks.
p_zycbe033-brnch = <fs_op>-j_1bbranch.
...
...
'WAERS'
'Moeda'(010).
PERFORM verifica_campo_vazio USING p_zycbe033-kursf
'KURSF'
'Taxa de Câmbio'(019).
PERFORM verifica_campo_vazio USING p_zycbe033-d_newko
'NEWKO'
'Conta Débito'(035).
ENDFORM.
FORM clearing_conta_disp
* >> Início da exclusão: FORM CLEARING_CONTA_DISP
CHANGING p_disp TYPE t_disponibilidade.
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_CONTA_DISP
using p_disp TYPE t_disponibilidade.
* << Fim da inclusão
DATA:
v_count TYPE t_mensagem-msg,
v_msg TYPE t_mensagem-msg,
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_cont TYPE t_contabilizacoes,
wa_zycbt011 TYPE /pws/zycbe011,
* >> Início da exclusão: FORM CLEARING_CONTA_DISP
wa_zycbt034 LIKE LINE OF itab_zycbt034,
* << Fim da exclusão
wa_zycbe033 LIKE LINE OF itab_zycbe033,
...
...
PERFORM estornar_contabilizacoes
CHANGING itab_contabilizacoes.
ENDIF.
ENDFORM.
FORM preenche_f30_clear_conta_disp
USING p_disp LIKE LINE OF itab_disp_70
p_zycbt011 TYPE /pws/zycbe011
p_cpochv TYPE /pws/zycbe033-cpochv
CHANGING p_zycbe033 LIKE LINE OF itab_zycbe033.
DATA:
* >> Início da exclusão: FORM PREENCHE_F30_CLEAR_CONTA_DISP
wa_doctos LIKE LINE OF itab_doctos,
v_codaux TYPE /pws/zygle316-codaux1.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_F30_CLEAR_CONTA_DISP
wa_doctos LIKE LINE OF itab_doctos.
* << Fim da inclusão
p_zycbe033-tcode = c_f30.
p_zycbe033-tabela = c_zycbt239.
p_zycbe033-cpochv = p_cpochv.
p_zycbe033-bukrs = <fs_op>-bukrs.
p_zycbe033-budat = p_disp-dtlanc.
p_zycbe033-bldat = p_zycbe033-budat.
p_zycbe033-waers = <fs_op>-waers.
p_zycbe033-gsber = <fs_op>-gsberf.
p_zycbe033-werks = <fs_op>-werks.
p_zycbe033-brnch = <fs_op>-j_1bbranch.
...
...
wa_cont-belnr.
ENDIF.
ENDLOOP.
REFRESH:
p_itab_cont.
ENDFORM.
FORM loop_at_screen_rendimentos
USING p_itab_rend TYPE t_t_rendimentos
p_tc TYPE cxtab_control.
DATA:
* >> Início da exclusão: FORM LOOP_AT_SCREEN_RENDIMENTOS
wa_rend TYPE t_rendimentos.
* << Fim da exclusão
* >> Início da inclusão: FORM LOOP_AT_SCREEN_RENDIMENTOS
wa_rend TYPE t_rendimentos."#EC NEEDED
* << Fim da inclusão
READ TABLE p_itab_rend INTO wa_rend
INDEX p_tc-current_line.
READ TABLE itab_zycbt007 INTO wa_zycbt007
WITH KEY bukrs = /pws/zycbe226-bukrs.
LOOP AT SCREEN.
IF sy-tcode EQ c_transacao_e.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDFORM.
FORM estorna_disp_incompleta
USING p_disp TYPE t_disponibilidade.
DATA:
v_cpochv TYPE /pws/zycbe033-cpochv,
wa_zycbe033 TYPE t_s_zycbe033.
* >> Início da exclusão: FORM ESTORNA_DISP_INCOMPLETA
FIELD-SYMBOLS:
<fs_tabela> TYPE INDEX TABLE,
<fs_linha> TYPE ANY,
<fs_campo> TYPE ANY.
* << Fim da exclusão
PERFORM limpa_dados_bi.
CONCATENATE <fs_op>-bukrs
<fs_op>-nrseq
INTO v_cpochv.
wa_zycbe033-tabela = c_zycbt239.
wa_zycbe033-bukrs = <fs_op>-bukrs.
IF NOT p_disp-doc_desm IS INITIAL.
PERFORM cancela_documento
USING p_disp-dtlanc
v_cpochv
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB034I01
...
WITH KEY nrseq = /pws/zycbe238-nrseq
destino = v_destino
dtdisp = /pws/zycbe238-dtdisp
TRANSPORTING NO FIELDS.
IF sy-subrc EQ 0.
MESSAGE e061 WITH 'Data Inválida, Favor redigitar.'(034).
ENDIF.
ENDMODULE.
MODULE verifica_taxa_contrato INPUT.
DATA:
* >> Início da exclusão: MODULE VERIFICA_TAXA_CONTRATO
v_indice TYPE sy-index,
v_kursf TYPE /pws/zycbt239-kursf.
* << Fim da exclusão
* >> Início da inclusão: MODULE VERIFICA_TAXA_CONTRATO
v_indice TYPE sy-index.
* << Fim da inclusão
CLEAR:
wa_disp,
wa_contrato.
CASE sy-dynnr.
WHEN '0131'.
READ TABLE itab_disp_70 INTO wa_disp
INDEX tc_70-current_line.
v_indice = wa_disp-indice.
READ TABLE itab_contrato INTO wa_contrato
WITH KEY indice = v_indice
...
...
USING tc_30
CHANGING itab_disp_30.
WHEN '0131'.
PERFORM define_operacao_disp
USING tc_70
CHANGING itab_disp_70.
ENDCASE.
ENDMODULE.
module drilldown input.
DATA: v_campo(30) TYPE c,
* >> Início da exclusão: MODULE DRILLDOWN
v_value(10) TYPE c,
* << Fim da exclusão
* >> Início da inclusão: MODULE DRILLDOWN
v_value(10) TYPE c,"#EC NEEDED
* << Fim da inclusão
v_index TYPE sy-tabix.
FIELD-SYMBOLS:
<fs_receb> LIKE LINE OF itab_zycbt226.
CASE ok_code.
WHEN '/CS'.
CHECK sy-tcode = c_transacao_c.
LOOP AT SCREEN.
IF SCREEN-name EQ '/PWS/ZYCBE226-VLR_EXTERIOR' OR
SCREEN-name EQ '/PWS/ZYCBE226-BCO_ME'.
SCREEN-required = 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB034O01
...
MODULE html_help OUTPUT.
IF my_container IS INITIAL.
CREATE OBJECT my_container
EXPORTING
container_name = 'CC_HTML_HELP'
EXCEPTIONS
others = 1.
CASE sy-subrc.
WHEN 0.
WHEN OTHERS.
* >> Início da exclusão: MODULE HTML_HELP
RAISE cntl_error.
* << Fim da exclusão
* >> Início da inclusão: MODULE HTML_HELP
RAISE cntl_error."#EC *
* << Fim da inclusão
ENDCASE.
ENDIF.
IF html_control IS INITIAL.
CREATE OBJECT html_control
EXPORTING
parent = my_container.
IF sy-subrc NE 0.
* >> Início da exclusão: MODULE HTML_HELP
RAISE cntl_error.
* << Fim da exclusão
* >> Início da inclusão: MODULE HTML_HELP
RAISE cntl_error."#EC *
* << Fim da inclusão
ENDIF.
alignment = html_control->align_at_left +
html_control->align_at_right +
html_control->align_at_top +
html_control->align_at_bottom.
CALL METHOD html_control->set_alignment
EXPORTING
alignment = alignment.
myevent-eventid = html_control->m_id_sapevent.
myevent-appl_event = 'X'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB034TOP
...
c_tela_disp_70 TYPE FELD-FCOD VALUE 'TAB130_DISP',
c_mark(6) TYPE c VALUE 'V_MARK',
c_parametro(14) TYPE C VALUE 'ZYCBE034-NRSEQ',
c_f02 TYPE /pws/zycbt032-tcode VALUE 'F-02',
c_f30 TYPE /pws/zycbt032-tcode VALUE 'F-30',
c_fb08 TYPE /pws/zycbt032-tcode VALUE 'FB08',
c_fbra TYPE /pws/zycbt032-tcode VALUE 'FBRA',
c_zycbt239 TYPE /pws/zycbe033-tabela VALUE '/PWS/ZYCBT239',
c_embarque_exportacao TYPE /pws/zycbt226-tipo_op VALUE 'E',
c_pagamento_antecipado TYPE /pws/zycbt226-tipo_op VALUE 'P',
* >> Início da exclusão:
c_tx_lancamento TYPE c VALUE 'L',
c_tx_estorno TYPE c VALUE 'E',
* << Fim da exclusão
c_transacao_c(14) TYPE c VALUE '/PWS/ZYCB034_C',
c_transacao_a(14) TYPE c VALUE '/PWS/ZYCB034_A',
c_transacao_e(14) TYPE c VALUE '/PWS/ZYCB034_E',
c_op TYPE sy-cprog VALUE '/PWS/SAPMZYCB034',
c_modulo(1) TYPE c VALUE 'E',
c_chave_oper(3) TYPE c VALUE 'TRE',
c_chv_oper_fat(3) TYPE c VALUE 'FTE',
c_codeven_op_emb(5) TYPE c VALUE '029',
c_codeven_op_pagant(5) TYPE c VALUE '030',
c_codeven_fat(5) TYPE c VALUE '010',
c_codeven_liqand(5) TYPE c VALUE '023',
* >> Início da exclusão:
c_codeven_liqand_op(5) TYPE c VALUE '023DO',
c_op_cli(8) TYPE c VALUE 'OP_CLI',
c_op_trs(8) TYPE c VALUE 'OP_TRS',
c_desm_cli(8) TYPE c VALUE 'DESM_CLI',
c_desm_trs(8) TYPE c VALUE 'DESM_TRS'.
* << Fim da exclusão
* >> Início da inclusão:
c_codeven_liqand_op(5) TYPE c VALUE '023DO'.
* << Fim da inclusão
TYPES:
BEGIN OF t_controle,
dados_op_carregados(1) TYPE c,
parametros_carregados(1) TYPE c,
msg_inicializada(1) TYPE c,
tc_linhas TYPE sy-srows,
autorizacao_emp(1) TYPE c,
total_30_70(1) TYPE c,
periodo_fechado(1) TYPE c,
ts_atual LIKE ts_principal-activetab,
...
...
itab_zycbt039 TYPE t_t_zycbt039,
itab_zycbt226 TYPE t_t_zycbt226,
itab_zycbt225 TYPE t_t_zycbt225,
itab_zycbt226_ant TYPE t_t_zycbt226,
itab_zycbt017 TYPE t_t_zycbt017,
itab_zycbt030 TYPE t_t_zycbt030,
itab_zycbt209 TYPE t_t_zycbt209,
itab_zyglt100 TYPE t_t_zyglt100,
itab_zyglt316 TYPE t_t_zyglt316,
itab_zyglt321 TYPE t_t_zyglt321,
* >> Início da exclusão:
itab_zyglt368 TYPE t_t_zyglt368,
* << Fim da exclusão
* >> Início da inclusão:
itab_zyglt368 TYPE t_t_zyglt368,"#EC NEEDED
* << Fim da inclusão
itab_zycbt011 TYPE t_t_zycbt011,
itab_zycet001 TYPE t_t_zycet001,
itab_zycet047 TYPE t_t_zycet047,
itab_zycet048 TYPE t_t_zycet048,
itab_zycit054 TYPE t_t_zycit054,
itab_kna1 TYPE t_t_kna1,
itab_lfa1 TYPE t_t_lfa1,
itab_bkpf TYPE t_t_bkpf,
itab_zycbe224 TYPE t_t_zycbe224,
itab_disp_30 TYPE t_t_disponibilidade,
...
...
v_ultimo_nrseq TYPE /pws/zycbe226-nrseq,
v_novo_nrseq TYPE /pws/zycbe226-nrseq,
v_modo_bi(1) TYPE c,
v_desm_cli(1) TYPE c,
v_desm_liqand(1) TYPE c,
v_sld_liq_and TYPE wrbtr,
v_belnr_est_f02 TYPE /pws/zycbt226-belnr_op,
v_dtlancto_est_f02 TYPE /pws/zycbt226-dtlancto,
v_total_30 TYPE wrbtr,
v_total_70 TYPE wrbtr,
* >> Início da exclusão:
v_msg_previsto(74) TYPE c,
* << Fim da exclusão
* >> Início da inclusão:
v_msg_previsto(74) TYPE c,"#EC NEEDED
* << Fim da inclusão
opt_origem_embarque(1) TYPE c,
opt_origem_pagantec(1) TYPE c,
opt_destino_30(1) TYPE c,
opt_destino_70(1) TYPE c,
v_mark(1) TYPE c,
v_icone TYPE icons-text,
* >> Início da exclusão:
v_tela_help TYPE sy-dynnr VALUE '0052'.
* << Fim da exclusão
* >> Início da inclusão:
v_tela_help TYPE sy-dynnr VALUE '0052'."#EC NEEDED
* << Fim da inclusão
DATA:
v_codaux TYPE /pws/zygle316-codaux1,
v_codaux1 TYPE /pws/zygle316-codaux1,
v_codaux2 TYPE /pws/zygle316-codaux2.
INCLUDE /PWS/MZYCB034X01.
SELECTION-SCREEN BEGIN OF SCREEN 0001.
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-011.
SELECT-OPTIONS: s_bukrs FOR /pws/zycbe226-bukrs,
s_nrseq FOR /pws/zycbe226-nrseq,
s_invoic FOR /pws/zycbe226-nrinvoic
...
...
p_moedab RADIOBUTTON GROUP w.
SELECTION-SCREEN END OF BLOCK c.
SELECTION-SCREEN END OF SCREEN 0001.
AT SELECTION-SCREEN OUTPUT.
PERFORM: status_gui_0001,
importa_selecao.
AT SELECTION-SCREEN.
CHECK sy-dynnr EQ '0001'.
DATA:
v_ucomm type sy-ucomm.
* >> Início da exclusão:
GET PARAMETER ID 'UCOMM' FIELD v_ucomm.
SET PARAMETER ID 'UCOMM' FIELD space.
* << Fim da exclusão
* >> Início da inclusão:
GET PARAMETER ID 'UCOMM' FIELD v_ucomm."#EC *
SET PARAMETER ID 'UCOMM' FIELD space."#EC *
* << Fim da inclusão
IF NOT v_ucomm IS INITIAL.
sy-ucomm = v_ucomm.
ENDIF.
CASE sy-ucomm.
WHEN 'CRET'.
CLEAR wa_controle.
PERFORM: limpa_itabs,
seleciona_op.
IF NOT itab_zycbt226[] IS INITIAL.
CALL SCREEN '0100'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB034X01
* >> Início da exclusão:
DATA: BEGIN OF COMMON PART c.
* << Fim da exclusão
* >> Início da inclusão:
DATA: BEGIN OF COMMON PART c."#EC PART_OK
* << Fim da inclusão
DATA: itab_zycbt032 type t_t_zycbt032,
itab_zycbe033 type t_t_zycbe033,
itab_zycbt034 type t_t_zycbt034,
itab_zycbt036 type t_t_zycbt036,
itab_partidas type t_t_zycbe033.
DATA: END OF COMMON PART.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCB034
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 007
Texto: (21 caracteres)
"Código Razão Especial"
Comprimento máximo: 21
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 022
Texto: (29 caracteres)
"ESTORNO DA ORDEM DE PAGAMENTO"
Comprimento máximo: 29
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 037
Texto: (5 caracteres)
"Desm."
Comprimento máximo: 5
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 038
Texto: (4 caracteres)
"Des."
Comprimento máximo: 4
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 039
Texto: (15 caracteres)
"Disponibilidade"
Comprimento máximo: 15
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 040
Texto: (30 caracteres)
"tem disponibilidade(s) de 70%."
Comprimento máximo: 30
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 041
Texto: (30 caracteres)
"tem disponibilidade(s) de 30%."
Comprimento máximo: 30
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: M17
Texto: (29 caracteres)
"Favor corrigir campo Destino."
Comprimento máximo: 29