Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Remessa
Data/Hora da Publicação: 01/07/2011 00:00:00
Data/Hora Última Alteração: 01/07/2011 16:07:35
Descrição da Nota: REMESSA - CHAVE LANÇAMENTO
Sintoma
O sistema permitia a parametrização de apenas uma chave de lançamento para busca das partidas dos
documentos contábeis na criação das Remessas com Orgiem
Solução
O programa foi alterado para buscar as partidas do documento contábil de acordo com um range de
chaves de lançamentos
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 11290 Data: 01/07/2011 Hora: 15:53:48
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 11290
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00008
Agrupamento : 00075
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote Descrição Breve
05803 - 00001 - 7.0 - 00004 - VERIFICAÇÃO AMPLIADA, CODE INSPECTOR CAMBIO FINACEIRO
06671 - 00002 - 7.0 - 00005 - REPATRIAÇÃO DE REMESSA
06982 - 00003 - 7.0 - 00006 - REMESSA COM ORIGEM - DESCONSIDERAR PARTIDA CONTA RAZÃO-CHV.LANCTO.
09279 - 00004 - 8.0 - 00001 - REMESSA FINANCEIRA CONTAB.PELA F-43 PARA PAGTO.EM COMPETENCIA
----------------------------------------------------------------------------------------------------
Texto Rápido:
REMESSA - CHAVE LANÇAMENTO
----------------------------------------------------------------------------------------------------
Palavras Chave:
REMESSA - CHAVE LANÇAMENTO
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCA027 0001
FUNC /PWS/ZYCAA027
REPS /PWS/MZYCA027F01
REPS /PWS/MZYCA027I01
REPS /PWS/MZYCA027TOP
REPS /PWS/MZYCA109F01
REPS /PWS/MZYCA109TOP
REPT /PWS/SAPMZYCA027
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCA027 0001
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0001
PROCESS BEFORE OUTPUT.
MODULE:
SELECIONA_CONSISTE_DADOS,
STATUS_0001,
set_screen.
PROCESS AFTER INPUT.
* >> Início da inclusão:
FIELD v_cldebito MODULE valida_chv_cdeb.
FIELD v_clcredito MODULE valida_chv_ccre.
FIELD v_fdebito MODULE valida_chv_fdeb.
FIELD v_fcredito MODULE valida_chv_fcre.
* << Fim da inclusão
MODULE: USER_COMMAND_0001.
PROCESS ON VALUE-REQUEST.
FIELD v_cldebito MODULE seta_matchcode1.
FIELD v_clcredito MODULE seta_matchcode2.
FIELD v_fdebito MODULE seta_matchcode3.
FIELD v_fcredito MODULE seta_matchcode4.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCAA027
...
itab_dados TYPE t_t_dados,
itab_dados_aux TYPE t_t_dados,
wa_dados LIKE LINE OF itab_dados, "#EC *
v_fieldname TYPE dfies-lfieldname.
FIELD-SYMBOLS:
<fs_shlp> LIKE LINE OF shlp_tab,
<fs_fielddescr> LIKE LINE OF shlp_tab-fielddescr,
<fs_dados> LIKE LINE OF itab_dados.
DATA: v_koart TYPE /pws/zycat027-koart,
v_shkzg TYPE /pws/zycat027-shkzg.
* >> Início da inclusão: FUNCTION /PWS/ZYCAA027
DATA: itab_tbsl TYPE TABLE OF tbsl,
v_tabix TYPE sy-tabix.
FIELD-SYMBOLS: <fs_tbsl> LIKE LINE OF itab_tbsl.
* << Fim da inclusão
GET PARAMETER ID 'KOART' FIELD v_koart. "#EC EXISTS
GET PARAMETER ID 'SHKZG' FIELD v_shkzg. "#EC EXISTS
READ TABLE shlp_tab INDEX 1 ASSIGNING <fs_shlp>.
CHECK <fs_shlp> IS ASSIGNED.
LOOP AT <fs_shlp>-fielddescr ASSIGNING <fs_fielddescr>.
CHECK <fs_fielddescr>-fieldname = 'BSCHL' OR
<fs_fielddescr>-fieldname = 'KOART' OR
<fs_fielddescr>-fieldname = 'SHKZG' OR
<fs_fielddescr>-fieldname = 'LTEXT'.
v_fieldname = <fs_fielddescr>-fieldname.
...
...
ENDIF.
ENDLOOP.
UNASSIGN: <fs_shlp>, <fs_fielddescr>.
LOOP AT itab_dados ASSIGNING <fs_dados>.
IF NOT <fs_dados>-koart EQ v_koart OR
NOT <fs_dados>-shkzg EQ v_shkzg.
DELETE record_tab INDEX sy-tabix.
DELETE itab_dados.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FUNCTION /PWS/ZYCAA027
IF NOT itab_dados[] IS INITIAL.
SELECT * FROM tbsl
INTO TABLE itab_tbsl
FOR ALL ENTRIES IN itab_dados
WHERE bschl = itab_dados-bschl.
LOOP AT itab_dados ASSIGNING <fs_dados>.
v_tabix = sy-tabix.
LOOP AT itab_tbsl ASSIGNING <fs_tbsl>
WHERE bschl = <fs_dados>-bschl.
IF <fs_tbsl>-xsonu = 'X'.
DELETE record_tab INDEX v_tabix.
DELETE itab_dados.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDIF.
* << Fim da inclusão
ENDFUNCTION.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA027F01
...
answer = v_resposta. "#EC *
IF v_resposta = 'J'.
PERFORM salvar_dados.
ELSEIF v_resposta = 'A'.
EXIT.
ENDIF.
ENDIF.
CALL FUNCTION 'DEQUEUE_/PWS/EZYCAT027'.
LEAVE PROGRAM.
ENDFORM.
* >> Início da inclusão:
FORM valida_razao USING p_bschl
CHANGING p_erro.
DATA: wa_tbsl TYPE tbsl.
SELECT SINGLE *
FROM tbsl
INTO wa_tbsl
WHERE bschl = p_bschl.
IF wa_tbsl-xsonu = 'X'.
p_erro = 'X'.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA027I01
...
tabname = 'TBSL'
fieldname = 'BSCHL'
searchhelp = v_matchcode4
display = l_display4
TABLES
return_tab = itab_result
EXCEPTIONS
OTHERS = 0.
v_fcredito = itab_result-fieldval.
ENDMODULE.
* >> Início da inclusão:
MODULE valida_chv_cdeb INPUT.
CLEAR v_erro.
PERFORM valida_razao USING v_cldebito
CHANGING v_erro.
IF NOT v_erro IS INITIAL.
CLEAR ok_code.
MESSAGE e061 WITH text-008.
ENDIF.
ENDMODULE.
MODULE valida_chv_ccre INPUT.
CLEAR v_erro.
PERFORM valida_razao USING v_clcredito
CHANGING v_erro.
IF NOT v_erro IS INITIAL.
CLEAR ok_code.
MESSAGE e061 WITH text-008.
ENDIF.
ENDMODULE.
MODULE valida_chv_fdeb INPUT.
CLEAR v_erro.
PERFORM valida_razao USING v_fdebito
CHANGING v_erro.
IF NOT v_erro IS INITIAL.
CLEAR ok_code.
MESSAGE e061 WITH text-008.
ENDIF.
ENDMODULE.
MODULE valida_chv_fcre INPUT.
CLEAR v_erro.
PERFORM valida_razao USING v_fcredito
CHANGING v_erro.
IF NOT v_erro IS INITIAL.
CLEAR ok_code.
MESSAGE e061 WITH text-008.
ENDIF.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA027TOP
...
OCCURS 0 WITH HEADER LINE. "#EC *
DATA: v_name(100) TYPE c,
ok_code TYPE sy-ucomm,
v_status TYPE c,
v_resposta TYPE c,
v_alteracao TYPE c,
v_cldebito TYPE /pws/zycat027-bschl,
v_clcredito TYPE /pws/zycat027-bschl,
v_fdebito TYPE /pws/zycat027-bschl,
v_fcredito TYPE /pws/zycat027-bschl.
* >> Início da inclusão:
DATA: v_erro.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA109F01
...
and ( vbtyp_n = 'M' or vbtyp_n = 'P' ).
endselect.
if sy-subrc = 0.
select *
from bkpf
up to 1 rows
into wa_bkpf
where awkey = wa_vbfa-vbeln. "#EC CI_NOFIRST
endselect.
if sy-subrc = 0.
* >> Início da exclusão: FORM CRIAR_REMESSA_ORDEM
select * from /pws/zycat027 into table itab_zycat027
where shkzg = 'D'. "#EC CI_NOFIRST
if sy-subrc = 0.
loop at itab_zycat027.
r_bschl-sign = 'I'.
r_bschl-option = 'EQ'.
r_bschl-low = itab_zycat027-bschl.
append r_bschl.
endloop.
* << Fim da exclusão
* >> Início da inclusão: FORM CRIAR_REMESSA_ORDEM
perform carrega_bschl.
* << Fim da inclusão
select * from bseg into table itab_bseg
where belnr = wa_bkpf-belnr
and bukrs = wa_bkpf-bukrs
and gjahr = wa_bkpf-gjahr
and bschl in r_bschl
and koart = 'D'
and augbl = space
and umskz = space.
* >> Início da exclusão: FORM CRIAR_REMESSA_ORDEM
endif.
* << Fim da exclusão
if sy-subrc = 0.
perform cria_remessa tables itab_bseg
using wa_bkpf.
perform imprime_relatorio_remessas.
else.
message w061 with text-125 wa_bkpf-belnr text-133.
endif.
else.
message w061 with text-126.
endif.
...
...
form criar_remessa_doc.
if not bkpf-belnr is initial and
not bkpf-bukrs is initial and
not bkpf-gjahr is initial.
clear: itab_bseg, wa_bkpf.
refresh: itab_bseg.
select single * from bkpf into wa_bkpf
where belnr = bkpf-belnr
and bukrs = bkpf-bukrs
and gjahr = bkpf-gjahr.
* >> Início da exclusão: FORM CRIAR_REMESSA_DOC
if sy-subrc = 0.
select *
from /pws/zycat027
into table itab_zycat027. "#EC CI_NOWHERE
* << Fim da exclusão
if sy-subrc = 0.
* >> Início da exclusão: FORM CRIAR_REMESSA_DOC
loop at itab_zycat027.
r_bschl-sign = 'I'.
r_bschl-option = 'EQ'.
r_bschl-low = itab_zycat027-bschl.
append r_bschl.
endloop.
* << Fim da exclusão
* >> Início da inclusão: FORM CRIAR_REMESSA_DOC
perform carrega_bschl.
* << Fim da inclusão
select * from bseg into table itab_bseg
where belnr = wa_bkpf-belnr
and bukrs = wa_bkpf-bukrs
and gjahr = wa_bkpf-gjahr
and augbl = space
and bschl in r_bschl
and umskz = space.
* >> Início da exclusão: FORM CRIAR_REMESSA_DOC
endif.
* << Fim da exclusão
if sy-subrc = 0.
perform cria_remessa tables itab_bseg
using wa_bkpf.
else.
message w061 with text-125 wa_bkpf-belnr text-133.
endif.
else.
message w061 with text-126.
endif.
endif.
...
...
and gjahr = rbkp-gjahr.
if sy-subrc = 0.
concatenate wa_rbkp-belnr wa_rbkp-gjahr into v_docmiro.
select *
from bkpf
up to 1 rows
into wa_bkpf
where gjahr = wa_rbkp-gjahr
and awkey = v_docmiro. "#EC CI_NOFIRST
endselect.
* >> Início da exclusão: FORM CRIAR_REMESSA_REVISAO
if sy-subrc = 0.
select * from /pws/zycat027 into table itab_zycat027
where shkzg = 'C'. "#EC CI_NOFIRST
* << Fim da exclusão
if sy-subrc = 0.
* >> Início da exclusão: FORM CRIAR_REMESSA_REVISAO
loop at itab_zycat027.
r_bschl-sign = 'I'.
r_bschl-option = 'EQ'.
r_bschl-low = itab_zycat027-bschl.
append r_bschl.
endloop.
* << Fim da exclusão
* >> Início da inclusão: FORM CRIAR_REMESSA_REVISAO
perform carrega_bschl.
* << Fim da inclusão
select * from bseg into table itab_bseg
where belnr = wa_bkpf-belnr
and bukrs = wa_bkpf-bukrs
and gjahr = wa_bkpf-gjahr
and bschl in r_bschl
and koart = 'K'
and augbl = space
and umskz = space.
* >> Início da exclusão: FORM CRIAR_REMESSA_REVISAO
endif.
* << Fim da exclusão
if sy-subrc = 0.
perform cria_remessa tables itab_bseg
using wa_bkpf.
else.
message w061 with text-125 wa_bkpf-belnr text-133.
endif.
else.
message w061 with text-126.
endif.
else.
...
...
'/PWS/ZYCBM'
'E'
itab_zycbt034-descricao
space
space
space
'016'.
endloop.
endif.
endform.
* >> Início da inclusão:
form carrega_bschl.
clear r_bschl.
refresh r_bschl.
carrega_bschl '01'.
carrega_bschl '02'.
carrega_bschl '04'.
carrega_bschl '05'.
carrega_bschl '06'.
carrega_bschl '07'.
carrega_bschl '08'.
carrega_bschl '11'.
carrega_bschl '12'.
carrega_bschl '13'.
carrega_bschl '14'.
carrega_bschl '15'.
carrega_bschl '16'.
carrega_bschl '17'.
carrega_bschl '18'.
carrega_bschl '21'.
carrega_bschl '22'.
carrega_bschl '24'.
carrega_bschl '25'.
carrega_bschl '26'.
carrega_bschl '27'.
carrega_bschl '28'.
carrega_bschl '31'.
carrega_bschl '32'.
carrega_bschl '34'.
carrega_bschl '35'.
carrega_bschl '36'.
carrega_bschl '37'.
carrega_bschl '38'.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA109TOP
...
v_resposta type c,
v_verif type c,
v_total_docto type bseg-wrbtr.
constants:
c_f63 type /pws/zyglt009-transacaorem value 'F-63',
c_f43 type /pws/zyglt009-transacaorem value 'F-43'.
data: v_koart_bi type /pws/zycat027-koart,
v_shkzg_bi type /pws/zycat027-shkzg,
v_transrem type /pws/zyglt009-transacaorem,
v_fornec type /pws/zycat024-fornecedor.
* >> Início da inclusão:
DEFINE carrega_bschl.
r_bschl-sign = 'I'.
r_bschl-option = 'EQ'.
r_bschl-low = &1.
append r_bschl.
END-OF-DEFINITION.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCA027
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 008
Texto: (49 caracteres)
"Chave Lançamento de Razão Especial não permitido."
Comprimento máximo: 49