Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Empréstimos
Data/Hora da Publicação: 28/05/2010 00:00:00
Data/Hora Última Alteração: 18/02/2011 14:27:46
Descrição da Nota: SOCIEDADE PARCEIRA EMPRÉSTIMO
Sintoma
Necessidade de tratamento sociedade parceira na funcionalidade de empréstimo.
Solução
Tratamento sociedade parceira na funcionalidade de empréstimo.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10218 Data: 28/05/2010 Hora: 17:06:24
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10218
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 8.0
Pacote : 00003
Agrupamento : 00023
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01193 - 00001 - 6.0 - 00023 - CAMPO TEXTO INFORMATIVO PARAMETRIZADO /PWS/ZYGL007.
01774 - 00002 - 6.0 - 00024 - EMPRESTIMO - CAMPO TIPO DE JUROS - MSG DE ERRO
04616 - 00003 - 7.0 - 00003 - EMPRÉSTIMO
09254 - 00004 - 8.0 - 00001 - CODE INSPECTOR - CAMBIO
09802 - 00005 - 8.0 - 00002 - DA EMPRÉSTIMO - INCLUSÃO CAMPO DATA INICIAL/LANCTO E DATA CRÉDITO
09923 - 00006 - 8.0 - 00002 - VERIFICAÇÃO PERÍODO ABERTO/FECHADO NÃO FUNCIONA - IMPACTO PELO NE
10188 - 00007 - 8.0 - 00003 - MAPEAMENTO SOCIEDADE PARCEIRA NAS CONTABILIZAÇÕES
----------------------------------------------------------------------------------------------------
SOCIEDADE PARCEIRA EMPRÉSTIMO
----------------------------------------------------------------------------------------------------
Palavras Chave:
SOCIEDADE PARCEIRA EMPRESTIMO
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCA111 0106
REPS /PWS/MZYCA111F01
REPS /PWS/MZYCA111O01
REPS /PWS/MZYCA111TOP
TABD /PWS/ZYCBE128
TABD /PWS/ZYCBT128
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCA111 0106
"Favor solicitar a equipe de produto - pw.CE - Câmbio, arquivo para efetuar upload das alterações
desta tela. Tel.: 11 5504 0170."
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA111F01
...
v_erro_exclusao is initial.
perform salva_dados_bancarios.
endif.
perform message_store using
'/PWS/ZYCBM'
'I'
text-128
/pws/zycbe128-nrseq
text-129
space
* >> Início da exclusão: FORM SAVE_CHANGES
'268'.
* << Fim da exclusão
* >> Início da inclusão: FORM SAVE_CHANGES
'061'.
* << Fim da inclusão
move /pws/zycbe128 to wa_zycbt128.
move /pws/zycbe129 to wa_zycbt129.
v_data_inicial_old = v_data_inicial.
if sy-tcode = '/PWS/ZYCB111_C'.
if v_erro eq 'N'.
perform limpa.
perform find_nrseqc.
select bukrs gsber j_1bbranch werks waersb
into (/pws/zycbe128-bukrs, /pws/zycbe128-gsber,
/pws/zycbe128-j_1bbranch, /pws/zycbe128-werks,
...
...
clear: v_modifp, v_mdparc.
loop at itab_zycbt129pa where belnr ne ' '.
read table itab_zycbt129p with key nrparc = itab_zycbt129pa-nrparc.
if sy-subrc eq 0 and
( itab_zycbt129pa-vlme ne itab_zycbt129p-vlme or
itab_zycbt129pa-dtvencto ne itab_zycbt129p-dtvencto or
itab_zycbt129pa-belnr ne itab_zycbt129p-belnr ).
v_modifp = 'X'.
endif.
endloop.
* >> Início da inclusão: FORM SAVE_ZYCBT128
clear /pws/zyglt009.
select single *
from /pws/zyglt009
where bukrs eq /pws/zycbe128-bukrs.
if /pws/zyglt009-flag_soc_parceir ne 'X'.
clear: /pws/zycbe128-vbund,
wa_zycbt128-vbund.
endif.
* << Fim da inclusão
if v_data_inicial eq v_data_inicial_old and
/pws/zycbe128-bukrs eq wa_zycbt128-bukrs and
/pws/zycbe128-bcofinan eq wa_zycbt128-bcofinan and
/pws/zycbe128-waers eq wa_zycbt128-waers and
/pws/zycbe128-kursf eq wa_zycbt128-kursf and
/pws/zycbe128-ftaxa eq wa_zycbt128-ftaxa and
/pws/zycbe128-vlme eq wa_zycbt128-vlme and
/pws/zycbe128-lifnr eq wa_zycbt128-lifnr and
/pws/zycbe128-gsber eq wa_zycbt128-gsber and
* >> Início da inclusão: FORM SAVE_ZYCBT128
/pws/zycbe128-vbund eq wa_zycbt128-vbund and
* << Fim da inclusão
/pws/zycbe128-kostl eq wa_zycbt128-kostl and
/pws/zycbe128-prctr eq wa_zycbt128-prctr and
/pws/zycbe128-fipos eq wa_zycbt128-fipos and
/pws/zycbe128-fictr eq wa_zycbt128-fictr and
/pws/zycbe128-tpemprest eq wa_zycbt128-tpemprest and
/pws/zycbe128-statusp eq text-007 .
v_mdparc = 'X'.
endif.
if not /pws/zycbe128-belnr is initial or
not itab_excluidos[] is initial.
if ( v_data_inicial ne v_data_inicial_old or
/pws/zycbe128-bukrs ne wa_zycbt128-bukrs or
/pws/zycbe128-bcofinan ne wa_zycbt128-bcofinan or
/pws/zycbe128-waers ne wa_zycbt128-waers or
/pws/zycbe128-kursf ne wa_zycbt128-kursf or
/pws/zycbe128-ftaxa ne wa_zycbt128-ftaxa or
/pws/zycbe128-vlme ne wa_zycbt128-vlme or
/pws/zycbe128-lifnr ne wa_zycbt128-lifnr or
/pws/zycbe128-gsber ne wa_zycbt128-gsber or
* >> Início da inclusão: FORM SAVE_ZYCBT128
/pws/zycbe128-vbund ne wa_zycbt128-vbund or
* << Fim da inclusão
/pws/zycbe128-kostl ne wa_zycbt128-kostl or
/pws/zycbe128-prctr ne wa_zycbt128-prctr or
/pws/zycbe128-fipos ne wa_zycbt128-fipos or
/pws/zycbe128-fictr ne wa_zycbt128-fictr or
/pws/zycbe128-tpemprest ne wa_zycbt128-tpemprest or
v_modifp eq 'X' ) and
/pws/zycbe128-statusp eq text-007.
move /pws/zycbe128 to /pws/zycbt128.
perform reverse_document_zycbt128.
perform save_zycbt129.
...
...
else.
if v_data_inicial eq v_data_inicial_old and
/pws/zycbe128-bukrs eq wa_zycbt128-bukrs and
/pws/zycbe128-bcofinan eq wa_zycbt128-bcofinan and
/pws/zycbe128-waers eq wa_zycbt128-waers and
/pws/zycbe128-kursf eq wa_zycbt128-kursf and
/pws/zycbe128-ftaxa eq wa_zycbt128-ftaxa and
/pws/zycbe128-vlme eq wa_zycbt128-vlme and
/pws/zycbe128-lifnr eq wa_zycbt128-lifnr and
/pws/zycbe128-gsber eq wa_zycbt128-gsber and
* >> Início da inclusão: FORM SAVE_ZYCBT128
/pws/zycbe128-vbund eq wa_zycbt128-vbund and
* << Fim da inclusão
/pws/zycbe128-kostl eq wa_zycbt128-kostl and
/pws/zycbe128-prctr eq wa_zycbt128-prctr and
/pws/zycbe128-fipos eq wa_zycbt128-fipos and
/pws/zycbe128-fictr eq wa_zycbt128-fictr and
/pws/zycbe128-tpemprest eq wa_zycbt128-tpemprest and
/pws/zycbe128-statusp eq text-007 and
v_modifp ne 'X'.
move /pws/zycbe128 to /pws/zycbt128.
modify /pws/zycbt128.
if itab_zycbt129c[] = itab_zycbt129_ant[].
...
...
endform.
form obtem_taxa_cambial.
v_ftaxa = /pws/zycbe128-ftaxa.
select single kurst
from /pws/zycbt009
into /pws/zycbt009-kurst
where codpadr = v_ftaxa.
if sy-subrc ne 0 or /pws/zycbt009-kurst is initial.
/pws/zycbt009-kurst = v_ftaxa.
endif.
* >> Início da inclusão: FORM OBTEM_TAXA_CAMBIAL
clear v_dttaxa.
case /pws/zycbe128-fdtinicial.
when 'C'.
v_dttaxa = /pws/zycbe128-dtcred.
when 'D'.
v_dttaxa = /pws/zycbe128-dtdesem.
when 'I'.
v_dttaxa = /pws/zycbe128-dtincl.
endcase.
* << Fim da inclusão
call function '/PWS/ZYCB_MONTANTE_CONVERTE'
exporting
i_montante = /pws/zycbe128-sldesem
i_demoeda = /pws/zycbe128-waers
i_paramoeda = wa_zycbt007-waersb
i_ctmoeda = /pws/zycbt009-kurst
* >> Início da exclusão: FORM OBTEM_TAXA_CAMBIAL
i_dtbase = sy-datum
* << Fim da exclusão
* >> Início da inclusão: FORM OBTEM_TAXA_CAMBIAL
i_dtbase = v_dttaxa
* << Fim da inclusão
importing
e_txc = v_taxacambial
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
others = 7.
...
...
( sy-tcode ne '/PWS/ZYCB111_E' or v_status_s ne 0 ).
perform verifica_despesa_cotacao.
endif.
perform message_store using
'/PWS/ZYCBM'
'I'
text-128
/pws/zycbe128-nrseq
text-130
space
* >> Início da exclusão: FORM DELETE_ZYCBT128
'268'.
* << Fim da exclusão
* >> Início da inclusão: FORM DELETE_ZYCBT128
'061'.
* << Fim da inclusão
perform exclui_seq_cotacao.
perform unlock_record.
perform exclui_dados_bancarios.
perform executa_exit using 'EMP003'.
perform message_show using 'X'.
leave to screen 0.
endif.
endform.
form verifica_parcelas.
loop at itab_zycbt129p where nrseq = /pws/zycbe128-nrseq.
...
...
perform (itab_zyglt100-formulario)
in program (itab_zyglt100-programa)
using ok_code
changing e_subrc.
if e_subrc ne 0.
exit.
endif.
endif.
endif.
v_newkof = itab_zycbe033-c_newko.
* >> Início da inclusão: FORM FILL_DATE1_F02
itab_zycbe033-vbund = /pws/zycbe128-vbund.
* << Fim da inclusão
append itab_zycbe033.
import v_codeven from memory id 'A001'.
loop at itab_zycbt034.
perform message_store using
'/PWS/ZYCBM'
'E'
itab_zycbt034-descricao
v_codeven
space
space
...
...
endloop.
loop at itab_zycbt129_ant.
if itab_zycbt129_ant-status is initial.
itab_zycbt129_ant-status = 'I'.
endif.
if itab_zycbt129_ant-remissivel is initial.
itab_zycbt129_ant-remissivel = 'N'.
endif.
modify itab_zycbt129_ant index sy-tabix.
endloop.
* >> Início da inclusão: FORM SAVE_ZYCBT129_COMISSAO
clear /pws/zyglt009.
select single *
from /pws/zyglt009
where bukrs eq /pws/zycbe128-bukrs.
if /pws/zyglt009-flag_soc_parceir ne 'X'.
clear: /pws/zycbe128-vbund,
wa_zycbt128-vbund.
endif.
* << Fim da inclusão
describe table itab_zycbt129_ant lines v_nrlines.
if not v_nrlines is initial.
if /pws/zycbe128-fpagto_c ne ' '.
if /pws/zycbe128-nremprest eq wa_zycbt128-nremprest and
v_data_inicial eq v_data_inicial_old and
/pws/zycbe128-bukrs eq wa_zycbt128-bukrs and
/pws/zycbe128-bcofinan eq wa_zycbt128-bcofinan and
/pws/zycbe128-waers eq wa_zycbt128-waers and
/pws/zycbe128-ftaxa eq wa_zycbt128-ftaxa and
/pws/zycbe128-vlme eq wa_zycbt128-vlme and
/pws/zycbe128-lifnr eq wa_zycbt128-lifnr and
/pws/zycbe128-gsber eq wa_zycbt128-gsber and
* >> Início da inclusão: FORM SAVE_ZYCBT129_COMISSAO
/pws/zycbe128-vbund eq wa_zycbt128-vbund and
* << Fim da inclusão
/pws/zycbe128-kostl eq wa_zycbt128-kostl and
/pws/zycbe128-prctr eq wa_zycbt128-prctr and
/pws/zycbe128-fipos eq wa_zycbt128-fipos and
/pws/zycbe128-fictr eq wa_zycbt128-fictr and
/pws/zycbe128-tpemprest eq wa_zycbt128-tpemprest and
/pws/zycbe128-fpagto_c eq wa_zycbt128-fpagto_c and
itab_zycbt129c[] eq itab_zycbt129_ant[].
v_modparc = 'X'.
else.
perform reverse_document_zycbt129.
...
...
itab_zycbe033-d_gsber = /pws/zycbe128-gsber.
itab_zycbe033-d_kostl = /pws/zycbe128-kostl.
itab_zycbe033-d_prctr = /pws/zycbe128-prctr.
itab_zycbe033-d_fipos = /pws/zycbe128-fipos.
itab_zycbe033-d_fictr = /pws/zycbe128-fictr.
itab_zycbe033-c_gsber = /pws/zycbe128-gsber.
itab_zycbe033-c_kostl = /pws/zycbe128-kostl.
itab_zycbe033-c_prctr = /pws/zycbe128-prctr.
itab_zycbe033-c_fipos = /pws/zycbe128-fipos.
itab_zycbe033-c_fictr = /pws/zycbe128-fictr.
* >> Início da inclusão: FORM FILL_DATE_F02
itab_zycbe033-vbund = /pws/zycbe128-vbund.
* << Fim da inclusão
perform verifica_pais_filial using /pws/zycbe128-bukrs
/pws/zycbe128-j_1bbranch.
itab_zycbe033-brnch = /pws/zycbe128-j_1bbranch.
if itab_zycbe033-brnch is initial.
select single * from t001w where werks = /pws/zycbe128-werks.
if sy-subrc eq 0.
perform verifica_pais_filial using /pws/zycbe128-bukrs
t001w-j_1bbranch.
itab_zycbe033-brnch = t001w-j_1bbranch.
endif.
...
...
if not itab_zyglt100-zexit_ativa is initial.
perform (itab_zyglt100-formulario)
in program (itab_zyglt100-programa)
using ok_code
changing e_subrc.
if e_subrc ne 0.
exit.
endif.
endif.
endif.
* >> Início da inclusão: FORM RECONTABILIZA_PARCELAS
itab_zycbe033-vbund = /pws/zycbe128-vbund.
* << Fim da inclusão
append itab_zycbe033.
clear /pws/zyglt009.
select dacc
up to 1 rows
from /pws/zyglt009
into /pws/zyglt009-dacc
where bukrs eq /pws/zycbe128-bukrs.
endselect.
loop at itab_zycbt034.
perform message_store using
...
...
if not itab_zyglt100-zexit_ativa is initial.
perform (itab_zyglt100-formulario)
in program (itab_zyglt100-programa)
using ok_code
changing e_subrc.
if e_subrc ne 0.
exit.
endif.
endif.
endif.
* >> Início da inclusão: FORM GERA_NOVAS_PARCELAS
itab_zycbe033-vbund = /pws/zycbe128-vbund.
* << Fim da inclusão
append itab_zycbe033.
clear /pws/zyglt009.
select dacc
up to 1 rows
from /pws/zyglt009
into /pws/zyglt009-dacc
where bukrs eq /pws/zycbe128-bukrs.
endselect.
loop at itab_zycbt034.
perform message_store using
...
...
perform (itab_zyglt100-formulario)
in program (itab_zyglt100-programa)
using ok_code
changing e_subrc.
if e_subrc ne 0.
exit.
endif.
endif.
endif.
v_newkof = itab_zycbe033-c_newko.
* >> Início da inclusão: FORM CLEARING_CONTA_BANCO
itab_zycbe033-vbund = /pws/zycbe128-vbund.
* << Fim da inclusão
append itab_zycbe033.
clear /pws/zyglt009.
select dacc
up to 1 rows
from /pws/zyglt009
into /pws/zyglt009-dacc
where bukrs eq wa_zycbt128-bukrs.
endselect.
loop at itab_zycbt034.
perform message_store using
...
...
/pws/zycbe128-bukrs
changing v_ano.
select awkey
up to 1 rows
from bkpf
into itab_zycbe033-awkey
where belnr eq /pws/zycbe128-belnr and
bukrs eq /pws/zycbe128-bukrs and
gjahr eq v_ano.
endselect.
* >> Início da inclusão: FORM FILL_DATE_F04
itab_zycbe033-vbund = /pws/zycbe128-vbund.
* << Fim da inclusão
append itab_zycbe033.
import v_codeven from memory id 'A001'.
loop at itab_zycbt034.
perform message_store using
'/PWS/ZYCBM'
'E'
itab_zycbt034-descricao
v_codeven
space
space
...
...
itab_zycbe033-c_fictr = /pws/zycbe128-fictr.
itab_zycbe033-brnch = /pws/zycbe128-j_1bbranch.
if itab_zycbe033-brnch is initial.
select single * from t001w where werks = /pws/zycbe128-werks.
if sy-subrc eq 0.
perform verifica_pais_filial using /pws/zycbe128-bukrs
t001w-j_1bbranch.
itab_zycbe033-brnch = t001w-j_1bbranch.
endif.
endif.
* >> Início da inclusão: FORM CONTABILIZA_IR_COMISSAO
itab_zycbe033-vbund = /pws/zycbe128-vbund.
* << Fim da inclusão
append itab_zycbe033.
endloop.
import v_codeven from memory id 'A001'.
if not itab_zycbe033[] is initial and
itab_zycbt034[] is initial.
call function '/PWS/ZYCA_TRANSACAO_F_02'
exporting
v_modo = v_modo_bi
tables
t_dados = itab_zycbe033
...
...
exceptions
key_not_found = 1
rules_not_found = 2
others = 3.
if sy-subrc eq 0 .
read table itab_zyglt316 index 1.
itab_zycbe033-d_newko = itab_zyglt316-konts.
endif.
itab_zycbe033-agkoa = 'K'.
itab_zycbe033-c_newko = /pws/zyglt025-lifnr.
* >> Início da inclusão: FORM CONTABILIZA_DESPESA_COTACAO
itab_zycbe033-vbund = /pws/zycbe128-vbund.
* << Fim da inclusão
append itab_zycbe033.
loop at itab_zycbt034.
perform message_store using
'/PWS/ZYCBM'
'E'
itab_zycbt034-descricao
space
space
space
'016'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA111O01
...
from lfa1
where lifnr eq /pws/zycbe128-bcofinan1.
endselect.
bcodescr2 = lfa1-name1.
endif.
if not /pws/zycbe128-waers is initial.
select *
up to 1 rows
from tcurt
where spras eq sy-langu and
* >> Início da exclusão: MODULE SET-SCREEN
waers eq /pws/zycbe128-waers. "#EC CI_SGLSELECT
* << Fim da exclusão
* >> Início da inclusão: MODULE SET-SCREEN
waers eq /pws/zycbe128-waers. "#EC CI_SGLSELECT
* << Fim da inclusão
endselect.
moeda = tcurt-ltext.
endif.
if not /pws/zycbe128-lifnr is initial.
select *
up to 1 rows
from lfa1
where lifnr eq /pws/zycbe128-lifnr.
endselect. "#EC CI_SGLSELECT
fornecedor = lfa1-name1.
...
...
if v_status_s = '0' or sy-tcode = '/PWS/ZYCA101_E'.
loop at screen.
screen-input = 0.
modify screen.
endloop.
elseif sy-tcode ne '/PWS/ZYCA101_E'.
loop at screen.
screen-input = 1.
modify screen.
endloop.
* >> Início da inclusão: MODULE FECHA_CAMPOS
clear /pws/zyglt009.
select single *
from /pws/zyglt009
where bukrs eq /pws/zycbe128-bukrs.
if /pws/zyglt009-flag_soc_parceir ne 'X'.
loop at screen.
if screen-name eq '/PWS/ZYCBE128-VBUND'.
screen-input = 0.
modify screen.
clear: /pws/zycbe128-vbund,
/pws/zycbt128-vbund.
endif.
endloop.
endif.
* << Fim da inclusão
endif.
endmodule.
module trata_campos output.
clear: itab_t320[], itab_nome_campo[], v_nome_campo, v_comp.
if sy-dynnr eq '0106' .
v_cod_grupo = 'CCO'.
elseif sy-dynnr eq '0105' or
sy-dynnr eq '0107'.
v_cod_grupo = 'CCR'.
endif.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA111TOP
...
v_altera type i,
v_dele type i,
v_li type i,
v_dia type i,
v_di type i,
v_li2 type i,
v_li3 type i, "#EC NEEDED
v_message type i, "#EC NEEDED
ok_code like sy-ucomm,
v_tela like sy-ucomm,
* >> Início da inclusão:
v_dttaxa like sy-datum,
* << Fim da inclusão
v_index like sy-tabix,
v_syrepid like sy-repid,
v_tela_help like sy-dynnr value '0052', "#EC NEEDED
bcodescr like lfa1-name1,
bcodescr1 like lfa1-name1,
bcodescr2 like lfa1-name1,
moeda like tcurt-ltext,
fornecedor like lfa1-name1,"#EC NEEDED
v_ftaxa like tcurr-kurst,
i_belnr like bkpf-belnr,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCBE128
Campos novos
VBUND RASSC CHAR 6 0 Nº sociedade parceira
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCBT128
Campos novos
VBUND RASSC CHAR 6 0 Nº sociedade parceira