Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Valores Mantidos no Exterior
Data/Hora da Publicação: 13/03/2009 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:40:55
Descrição da Nota: VALORES MANTIDOS NO EXTERIOR - BAIXA DE COMISSÃO DE AGENTE CG NA ROTINA
Sintoma
Desenvolvimento Adicional
Solução
Desenvolvimento Adicional
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08195 Data: 13/03/2009 Hora: 18:23:55
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08195
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00008
Agrupamento : 00088
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01499 - 00008 - 6.0 - 00023 - EXIT VINCULAÇÃO / LIQUIDAÇÃO - ALTERAÇÃO DOCUMENTOS CONTÁBEIS
03678 - 00007 - 7.0 - 00001 - LIQUIDAÇÃO - DA - CHECK DOS DOCUMENTOS - ESTORNO DAS FATURAS
03807 - 00006 - 7.0 - 00001 - LIQUIDAÇÃO - ESTORNO DAS PROVISÕES E CALCULO.
05967 - 00005 - 7.0 - 00004 - VALORES MANTIDOS NO EXTERIOR - EXIT VME001
06218 - 00004 - 7.0 - 00005 - VALORES MANTIDOS NO EXTERIOR - DISPONIBILIDADE NO EXTERIOR
06371 - 00003 - 7.0 - 00005 - VALORES MANTIDOS NO EXTERIOR - DEVOLUÇÃO
07188 - 00002 - 7.0 - 00006 - VALORES MANTIDOS NO EXTERIOR - SALDO DISPONIBILIDADE - VLSLF NEGA
07882 - 00001 - 7.0 - 00008 - LIQUIDAÇÃO - PONTO DE EXIT LIQ031 - EVITA PROVISÃO DE JUROS
----------------------------------------------------------------------------------------------------
VALORES MANTIDOS NO EXTERIOR - BAIXA DE COMISSÃO DE AGENTE CG NA ROTINA
----------------------------------------------------------------------------------------------------
Palavras Chave:
VALORES MANTIDOS NO EXTERIOR - BAIXA DE COMISSÃO DE AGENTE CG NA ROTINA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB004F01
REPS /PWS/MZYCB004F02
REPS /PWS/MZYCB034F01
REPS /PWS/MZYCB034TOP
REPT /PWS/SAPMZYCB034
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F01
...
and codmod = 'E'
and liquid = 'X'.
if sy-tcode ne c_transacao_c.
perform estorna_diferenca_juros.
endif.
perform busca_liquidacoes.
perform provisiona_diferenca_juros.
endif.
endif.
endif.
* >> Início da inclusão: FORM GRAVA_TABELAS
if itab_zycbt226 is initial.
* << Fim da inclusão
if wa_zycbt007-liq_com_cg ne 'RP'.
perform estorna_comissao.
endif.
* >> Início da inclusão: FORM GRAVA_TABELAS
endif.
* << Fim da inclusão
perform atualiza_tabelas_transp2.
if wa_zycbt007-liq_com_cg ne 'RP'.
perform liquida_comissao_agente.
endif.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F02
...
endif.
when 'ZUONR'.
if itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrcontr.
elseif itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
elseif itab_zyglt321-cpocb is initial and
not itab_zyglt321-descr is initial.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
endif.
* >> Início da inclusão: FORM CLEARING
itab_zycbe033-c_zuonr = itab_zycbe033-d_zuonr.
* << Fim da inclusão
when 'ZTERM'.
if itab_zyglt321-cpocb = 'ZTERM'.
itab_zycbe033-zterm = itab_zycbt017-zterm.
endif.
endcase.
endloop.
if not wa_zycbt011-agums is initial.
itab_zycbe033-agums = wa_zycbt011-agums.
endif.
if itab_zycbe033-d_sgtxt is initial.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB034F01
...
PERFORM limpa_dados_bi.
PERFORM doc_op USING ' '
CHANGING v_belnr_est_f02
v_dtlancto_est_f02.
PERFORM limpa_dados_bi.
PERFORM doc_desm_liq_and.
PERFORM limpa_dados_bi.
PERFORM doc_desm_cliente.
PERFORM limpa_dados_bi.
PERFORM doc_compensacao.
* >> Início da inclusão: FORM CONTABILIZACOES
if wa_zycbt007-liq_com_cg ne 'RP'.
perform limpa_dados_bi.
call function '/PWS/ZYCB_ENQUEUE_CONTAS'
exporting
i_bloqueia = ' '
tables
itab_zycbt224 = itab_zycbe224
exceptions
zycbe224_null = 1
erro_bloqueio = 2
others = 3.
if sy-subrc <> 0.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM CONTABILIZACOES
perform liquida_comissao_agente.
endif.
endif.
* << Fim da inclusão
IF <fs_op>-tipo_op = 'P'.
PERFORM limpa_dados_bi.
PERFORM doc_op USING ' '
CHANGING v_belnr_est_f02
...
...
CLEAR v_wrbtr.
<fs_op>-nrseq = v_novo_nrseq.
<fs_op>-belnr_op = wa_zycbt032-belnr.
IF <fs_op>-tipo_op = 'E'.
<fs_op>-status = 'I'.
PERFORM atualiza_saldos_sml USING ' '.
READ TABLE itab_zycbt030 INTO wa_zycbt030 WITH KEY
nrinvoic = <fs_op>-nrinvoic
nrparcf = <fs_op>-nrparcf
gsberf = <fs_op>-gsberf.
* >> Início da exclusão: FORM DOC_OP
IF sy-subrc = 0
AND wa_zycbt030-vlsltrans > 0 and v_wrbtr > 0.
* << Fim da exclusão
* >> Início da inclusão: FORM DOC_OP
if sy-subrc = 0.
if sy-tcode+13(3) = 'SML' and v_wrbtr > 0.
* << Fim da inclusão
wa_zycbt030-vlsltrans = wa_zycbt030-vlsltrans -
v_wrbtr.
* >> Início da inclusão: FORM DOC_OP
else.
wa_zycbt030-vlsltrans = wa_zycbt030-vlsltrans -
<fs_op>-vlr_exterior.
endif.
* << Fim da inclusão
IF wa_zycbt030-vlsltrans < 0.
v_wrbtr = wa_zycbt030-vlsltrans * ( -1 ).
...
...
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.
* >> Início da inclusão: FORM DEFINE_TAXA_CAMBIO
if <fs_op>-waers = wa_zycbt007-waersb.
p_kursf = '1.00000'.
exit.
endif.
* << Fim da inclusão
READ TABLE itab_zycbt089 INTO wa_zycbt089
WITH KEY bukrs = p_bukrs.
READ TABLE itab_zycbt007 INTO wa_zycbt007
WITH KEY bukrs = p_bukrs.
CHECK NOT p_dtlanc IS INITIAL.
IF NOT wa_zycbt007 IS INITIAL AND
NOT wa_zycbt089 IS INITIAL.
CASE p_tpcontab.
WHEN 'O'.
v_op = c_dtlanc.
...
...
value(p_codeven) TYPE /pws/zycbt011-codeven
value(p_bukrs) TYPE t001-bukrs
value(p_waersde) TYPE tcurr-fcurr
value(p_waerspara) TYPE tcurr-tcurr
value(p_dtbase) TYPE d
CHANGING
p_kursf TYPE tcurr-ukurs.
FIELD-SYMBOLS:
<fs_zycbt009> TYPE t_s_zycbt009,
<fs_zycbt011> TYPE t_s_zycbt011.
* >> Início da inclusão: FORM BUSCA_TAXA
if <fs_op>-waers = wa_zycbt007-waersb.
p_kursf = '1.00000'.
exit.
endif.
* << Fim da inclusão
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
...
...
periodo_fechado = 2
OTHERS = 3.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY
tcode = 'F-30'
tabela = '/PWS/ZYCBT226'
cpochv = wa_zycbe033-cpochv
tpmsg = 'S'
INTO wa_zycbt032.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM DOC_DESM_CLIENTE
if sy-tcode+13(3) ne 'SML'.
<fs_zycbt030>-vlsltrans = <fs_zycbt030>-vlsltrans -
wa_zycbe033-wrbtr.
endif.
* << Fim da inclusão
<fs_zycbt030>-belnr6 = wa_zycbt032-belnr.
<fs_zycbt030>-budat = wa_zycbe033-budat.
IF <fs_zycbt030>-belnr_t IS INITIAL.
<fs_zycbt030>-belnr_t = <fs_zycbt030>-belnr6.
<fs_zycbt030>-budat_t = <fs_zycbt030>-budat.
ENDIF.
UPDATE /pws/zycbt030
* >> Início da exclusão: FORM DOC_DESM_CLIENTE
SET
* << Fim da exclusão
* >> Início da inclusão: FORM DOC_DESM_CLIENTE
set vlsltrans = <fs_zycbt030>-vlsltrans
* << Fim da inclusão
belnr6 = <fs_zycbt030>-belnr6
budat = <fs_zycbt030>-budat
belnr_t = <fs_zycbt030>-belnr_t
budat_t = <fs_zycbt030>-budat_t
WHERE nrinvoic = <fs_zycbt030>-nrinvoic
AND nrparcf = <fs_zycbt030>-nrparcf
AND gsberf = <fs_zycbt030>-gsberf.
<fs_op>-belnr_desm_cli = wa_zycbt032-belnr.
UPDATE /pws/zycbt226
SET belnr_desm_cli = <fs_op>-belnr_desm_cli
...
...
CHANGING v_belnr_est_f02
v_dtlancto_est_f02.
PERFORM limpa_dados_bi.
PERFORM estorno USING 'OC'
v_belnr_est_f02
v_dtlancto_est_f02.
PERFORM limpa_dados_bi.
PERFORM estorno USING 'OM'
v_belnr_est_f02
v_dtlancto_est_f02.
* >> Início da inclusão: FORM CONTABILIZACOES_ESTORNO
endif.
if wa_zycbt007-liq_com_cg ne 'RP'.
perform estorna_comissao.
* << Fim da inclusão
ENDIF.
PERFORM bloqueia_contas USING ' '
CHANGING v_excecao.
PERFORM apaga_registros.
ENDFORM.
FORM estorno
USING value(p_processo) TYPE c
value(p_belnr_est_f02) TYPE /pws/zycbt226-belnr_op
value(p_dtlancto_est_f02) TYPE /pws/zycbt226-dtlancto.
DATA: wa_zycbt032 TYPE t_s_zycbt032,
...
...
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
t_zycbt036 = itab_zycbt036
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
ENDIF.
* >> Início da inclusão: FORM ESTORNO
read table itab_zycbe033 into wa_zycbe033 index 1.
* << Fim da inclusão
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY
tcode = 'F-30'
tabela = '/PWS/ZYCBT226'
cpochv = wa_zycbe033-cpochv
tpmsg = 'S'
INTO wa_zycbt032.
IF sy-subrc EQ 0 OR
v_adm EQ 'X'.
wa_cont-belnr = wa_zycbt032-belnr.
...
...
IF sy-subrc NE 0.
PERFORM define_taxa_cambio
USING 'O'
'X'
v_codeven
<fs_op>-bukrs
<fs_op>-dtlancto
<fs_op>-nrinvoic
CHANGING
wa_zycbe033-kursf.
* >> Início da inclusão: FORM F02_REVERSA
elseif <fs_op>-waers = wa_zycbt007-waersb.
wa_zycbe033-kursf = '1.00000'.
* << Fim da inclusão
ENDIF.
PERFORM verifica_campo_vazio USING wa_zycbe033-kursf
'KURSF'
'Taxa de Câmbio'(019).
READ TABLE itab_zycbt011 INTO wa_zycbt011
WITH KEY
codeven = v_codeven
codmod = c_modulo
bukrs = <fs_op>-bukrs.
IF sy-subrc NE 0.
...
...
IF sy-subrc = 0.
wa_zycbe033-blart = wa_zycbt011-blart.
ENDIF.
wa_zycbe033-wrbtr = <fs_op>-vlr_exterior.
v_lancto_multiplo = space.
wa_zycbe033-newbs = '50'.
wa_zycbe033-agkoa = 'S'.
CLEAR wa_zycbe033-umskz.
v_banco = <fs_op>-bco_me.
SHIFT v_banco LEFT DELETING LEADING '0'.
* >> Início da inclusão: FORM F02_REVERSA
if <fs_op>-conta_contab is initial.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
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.
IF sy-subrc = 0.
ELSE.
ENDIF.
READ TABLE itab_zyglt316 INTO wa_zyglt316 INDEX 1.
IF sy-subrc = 0.
wa_zycbe033-d_newko = wa_zyglt316-konts.
* >> Início da inclusão: FORM F02_REVERSA
endif.
else.
wa_zycbe033-d_newko = <fs_op>-conta_contab.
* << Fim da inclusão
ENDIF.
PERFORM preenche_contas_bloqueio USING sy-mandt
<fs_op>-bukrs
wa_zycbe033-agkoa
wa_zycbe033-d_newko
'S'.
IF v_desm_liqand = 'X'.
LOOP AT itab_zycbt225 INTO wa_zycbt225
WHERE nrseq = <fs_op>-nrseq.
READ TABLE itab_zycbt209 INTO wa_zycbt209
...
...
SET saldo = wa_zycbt209-saldo
WHERE bukrs = wa_zycbt209-bukrs
AND nrinvoic = wa_zycbt209-nrinvoic
AND belnr = wa_zycbt209-belnr
AND dtincl = wa_zycbt209-dtincl
AND nrparcf = wa_zycbt209-nrparcf
AND gsberf = wa_zycbt209-gsberf.
ENDLOOP.
ENDIF.
ENDFORM.
* >> Início da inclusão:
form liquida_comissao_agente.
clear: itab_selreg,
itab_zycet010,
itab_zycet013.
refresh: itab_zycet010,
itab_zycet013.
select single * from /pws/zycbt017
into itab_zycbt017_cg
where nrinvoic eq <fs_op>-nrinvoic
and nrparcf eq <fs_op>-nrparcf.
select single * from /pws/zycbt037
into itab_zycbt037_cg
where parvw eq itab_zycbt017_cg-parvw.
if sy-subrc ne 0.
if itab_zycbt017_cg-parvw eq 'AD' or
itab_zycbt017_cg-parvw eq 'DA'.
select single * from /pws/zycbt037
into itab_zycbt037_cg
where parvw eq 'AD' or
parvw eq 'DA'.
endif.
endif.
check itab_zycbt037_cg-codpad eq 'G'
or itab_zycbt037_cg-codpad eq 'D'.
select single * from /pws/zycet037
where bukrs eq <fs_op>-bukrs.
if sy-subrc ne 0.
select single * from /pws/zycet037
where bukrs eq space.
endif.
if /pws/zycet037-comis_provisao is initial or
/pws/zycet037-comis_provisao eq 0.
select *
into table itab_zycet010
from /pws/zycet010
where nrseq eq <fs_op>-nrinvoic
and ( dtpagto is null
or dtpagto eq ' '
or dtpagto eq '00000000' ).
loop at itab_zycet010.
if not itab_zycet010-belnr is initial.
move: itab_zycet010-nrseq to itab_selreg-nrchave,
<fs_op>-nrseq to itab_selreg-docto,
itab_zycet010-dtlanc to itab_selreg-dtlanc,
itab_zycet010-dtvencto to itab_selreg-dtvencto,
itab_zycet010-vlcomis to itab_selreg-vlme,
itab_zycet010-lifnr to itab_selreg-lifnr,
itab_zycbt037_cg-codpad to itab_selreg-codp.
append itab_selreg.
if wa_zycbt007-liq_trans eq 'R'.
perform liquida_comis_trans .
else.
perform fill_date_f30_comissao .
endif.
else.
endif.
endloop.
else.
select *
into table itab_zycet013
from /pws/zycet013
where nrseq eq <fs_op>-nrinvoic
and gsber eq <fs_op>-gsberf
and ( dtpagto is null
or dtpagto eq ' '
or dtpagto eq '00000000' ).
loop at itab_zycet013.
if not itab_zycet013-belnr is initial.
move: itab_zycet013-nrseq to itab_selreg-nrchave,
<fs_op>-nrseq to itab_selreg-docto,
itab_zycet013-dtlanc to itab_selreg-dtlanc,
itab_zycet013-vlme to itab_selreg-vlme,
itab_zycet013-lifnr to itab_selreg-lifnr,
itab_zycbt037_cg-codpad to itab_selreg-codp.
append itab_selreg.
if wa_zycbt007-liq_trans eq 'R'.
perform liquida_comis_trans .
else.
perform fill_date_f30_comissao.
endif.
else.
endif.
endloop.
endif.
endform.
form liquida_comis_trans .
data: v_chave(50),
v_erro_f28(1),
v_aux,
v_status_f30(1) value 'E',
v_budat type bkpf-budat.
perform clear_date_batch.
clear: itab_zycbt032a, itab_zycbt036.
refresh: itab_zycbt032a, itab_zycbt036.
perform get_parameters_comissao .
if wa_zycbt007-comis = 'C'.
read table itab_zycbt012a with key chlanc = 'C'.
endif.
perform verifica_rateio1 .
loop at itab_aux.
clear v_chave.
if itab_aux-flag ne 'X'.
wa_zycbe033-newbs = '40'.
else.
wa_zycbe033-newbs = '50'.
endif.
if wa_zycbt007-comis = 'C'.
wa_zycbe033-d_newko = itab_zycbt012a-saknr1.
else.
wa_zycbe033-d_newko = itab_zycbt012-saknr2.
endif.
perform verify_null_field using wa_zycbe033-d_newko
'KONTO'
text-016.
wa_zycbe033-agkoa = 'D'.
wa_zycbe033-agkon = itab_zycbt017_cg-kunag.
perform verify_null_field using wa_zycbe033-agkon
'AGKON'
text-042.
perform dados_batch .
concatenate itab_aux-nrinvoic itab_aux-vbeln itab_aux-gsberf
into v_chave.
wa_zycbe033-cpochv = v_chave.
perform valor_baixar_comissao.
v_valorc = wa_zycbe033-wrbtr.
perform verify_null_field using itab_aux-belnr6
'BELNR'
text-044.
wa_zycbe033-belnr = itab_aux-belnr6.
clear v_year.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = <fs_op>-bukrs
v_date = itab_zycet010-dtlanc
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.
select single budat from bkpf
into v_budat
where bukrs = <fs_op>-bukrs
and belnr = itab_aux-belnr6
and gjahr = v_year.
wa_zycbe033-dtdocto = v_budat.
if wa_zycbe033-wrbtr gt 0.
append wa_zycbe033 to itab_zycbe033.
endif.
endloop.
loop at itab_zycbt034 into wa_zycbt034.
perform message_store using
'/PWS/ZYCBM'
'W'
wa_zycbt034-descricao
space
space
space
'016'.
endloop.
append wa_zycbt034 to itab_zycbt034.
clear sy-subrc.
if itab_zycbt034 is initial.
call function '/PWS/ZYCB_TRANSACAO_F_30_A'
exporting
v_modo = v_modo_bi
tables
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
exceptions
campo_em_branco = 1
periodo_fechado = 2
others = 3.
clear v_erro_f28.
if sy-subrc = 0.
clear v_aux.
loop at itab_aux.
concatenate itab_aux-nrinvoic
itab_aux-nrparcf
itab_aux-vbeln itab_aux-gsberf
into v_chave.
read table itab_zycbt032 with key tcode = v_trans
tabela = '/PWS/ZYCET010'
cpochv = v_chave
tpmsg = 'S'
into wa_zycbt032.
if sy-subrc = 0.
wa_zycbt030-belnr6 = wa_zycbt032-belnr.
read table itab_zycbe033 into wa_zycbe033
with key cpochv = v_chave.
wa_zycbt030-budat = wa_zycbe033-budat.
modify /pws/zycbt030 from wa_zycbt030.
update /pws/zycbt030 set: belnr6 = wa_zycbt032-belnr
budat = wa_zycbe033-budat
where nrinvoic = itab_aux-nrinvoic
and nrparcf = itab_aux-nrparcf
and vbeln = itab_aux-vbeln
and gsberf = itab_aux-gsberf.
if /pws/zycet037-comis_provisao is initial or
/pws/zycet037-comis_provisao eq 0.
if <fs_op>-status <> 'E'.
itab_zycet010-status = 'C'.
itab_zycet010-belnr_p = wa_zycbt032-belnr.
modify itab_zycet010 transporting status belnr_p dtpagto
where nrseq = itab_zycet010-nrseq
and lifnr = itab_zycet010-lifnr
and dtvencto = itab_zycet010-dtvencto.
else.
itab_zycet010-belnr = wa_zycbt032-belnr.
itab_zycet010-status = space.
itab_zycet010-dtpagto = '00000000'.
modify itab_zycet010 transporting belnr status dtpagto
where nrseq = itab_zycet010-nrseq
and lifnr = itab_zycet010-lifnr
and dtvencto = itab_zycet010-dtvencto.
endif.
modify /pws/zycet010 from itab_zycet010.
else.
if <fs_op>-status <> 'E'.
itab_zycet013-status = 'C'.
itab_zycet013-belnr_c = wa_zycbt032-belnr.
modify itab_zycet013 transporting status
belnr_c
dtpagto
where nrseq = itab_zycet013-nrseq
and lifnr = itab_zycet013-lifnr
and gsber = itab_zycet013-gsber
and prctr = itab_zycet013-prctr.
else.
itab_zycet013-belnr = wa_zycbt032-belnr.
itab_zycet013-status = space.
itab_zycet013-dtpagto = '00000000'.
modify itab_zycet013 transporting status
belnr
dtpagto
where nrseq = itab_zycet013-nrseq
and lifnr = itab_zycet013-lifnr
and gsber = itab_zycet013-gsber
and prctr = itab_zycet013-prctr.
endif.
modify /pws/zycet013 from itab_zycet013.
endif.
move wa_zycbt032 to itab_zycbt032a.
move wa_zycbe033-budat to itab_zycbt032a-budat.
append itab_zycbt032a.
clear itab_doc_f02.
move wa_zycbt032-belnr to itab_doc_f02-docto.
append itab_doc_f02.
v_status_f30 = 'S'.
if v_vinculacao is initial.
commit work.
endif.
itab_contabil-nrinvoic = itab_aux-nrinvoic.
itab_contabil-nrparcf = itab_aux-nrparcf.
itab_contabil-vbeln = itab_aux-vbeln.
itab_contabil-gsberf = itab_aux-gsberf.
itab_contabil-docto = wa_zycbt032-belnr.
itab_contabil-bukrs = <fs_op>-bukrs.
itab_contabil-msg = text-062.
append itab_contabil.
v_aux = '1'.
read table itab_zycbe033 into wa_zycbe033
with key cpochv = v_chave.
itab_zycbt077-belnr = wa_zycbt032-belnr.
itab_zycbt077-bukrs = wa_zycbe033-bukrs.
itab_zycbt077-gjahr = wa_zycbe033-budat(4).
itab_zycbt077-status = 'C'.
itab_zycbt077-tcode = wa_zycbt032-tcode.
concatenate '004' itab_selreg-codp into
itab_zycbt077-codeven.
itab_zycbt077-codmod = 'E'.
itab_zycbt077-gsberf = itab_aux-gsberf.
itab_zycbt077-nrinvoic = itab_aux-nrinvoic.
itab_zycbt077-nrparcf = itab_aux-nrparcf.
itab_zycbt077-vbeln = itab_aux-vbeln.
else.
v_erro_f28 = 'X'.
itab_contabil-nrinvoic = itab_aux-nrinvoic.
itab_contabil-nrparcf = itab_aux-nrparcf.
itab_contabil-vbeln = itab_aux-vbeln.
itab_contabil-gsberf = itab_aux-gsberf.
itab_contabil-msg = text-063.
append itab_contabil.
endif.
endloop.
if v_aux eq '1'.
clear v_aux.
else.
clear v_erro_f28.
loop at itab_zycbt032 into wa_zycbt032.
message i015 with wa_zycbt032-msg+0(50)
wa_zycbt032-msg+50(50).
endloop.
endif.
if v_status_f30 eq 'S'.
perform executa_clearing_agente.
endif.
else.
loop at itab_zycbt034 into wa_zycbt034.
message i016 with wa_zycbt034-descricao.
endloop.
endif.
endif.
endform.
form clear_date_batch.
clear:
itab_zycbt034,
itab_zycbe033,
itab_zycbt032,
itab_zycbt036.
refresh:
itab_zycbt034,
itab_zycbe033,
itab_zycbt032,
itab_zycbt036.
endform.
form get_parameters_comissao .
data: v_codeven like /pws/zycbt011-codeven,
v_codaux like /pws/zycbt012-codaux,
v_nrseq like /pws/zycet010-nrseq.
v_trans = 'F-30'.
v_nrseq = <fs_op>-nrinvoic+0(10).
concatenate '004' itab_selreg-codp 'O' into v_codeven.
select * from /pws/zyglt321
into table itab_zyglt321_cg
where ktosl = 'DSE' and
codeven = v_codeven.
v_codaux = itab_selreg-lifnr.
clear wa_zycbt011.
select single * from /pws/zycbt011
into wa_zycbt011
where codeven = v_codeven
and codmod = 'E'.
refresh: itab_zycbt012.
select * from /pws/zycbt012
into table itab_zycbt012
where codeven = v_codeven
and codmod = 'E'.
if wa_zycbt007-comis = 'C'.
select * from /pws/zycbt012
into table itab_zycbt012a
where codeven = v_codeven and
codmod = 'E' and
tpcodaux = 'C' and
codaux = v_codaux.
if sy-subrc ne 0.
select * from /pws/zycbt012
into table itab_zycbt012a
where codeven = v_codeven and
codmod = 'E' and
tpcodaux = 'C' and
codaux = ' '.
endif.
endif.
endform.
form verifica_rateio1 .
data: v_s_kwert like /pws/zycbt030-kwert.
clear: itab_aux.
refresh: itab_aux.
loop at itab_zycbt030 into wa_zycbt030
where nrinvoic = <fs_op>-nrinvoic
and nrparcf = <fs_op>-nrparcf
and gsberf = <fs_op>-gsberf.
move wa_zycbt030 to itab_zycbt030_cg.
select single * from /pws/zycet002
where nrseq = itab_zycbt030_cg-nrinvoic
and vbeln_vf = itab_zycbt030_cg-vbeln.
if /pws/zycet002-shkzg = 'X'.
v_s_kwert = v_s_kwert - itab_zycbt030_cg-kwert.
itab_zycbt030_cg-flag = 'X'.
modify itab_zycbt030_cg.
else.
select single * from /pws/zycet020
where auart eq /pws/zycet002-auart.
if /pws/zycet020-tipodoc = 'OC'.
v_s_kwert = v_s_kwert - itab_zycbt030_cg-kwert.
itab_zycbt030_cg-flag = 'X'.
modify itab_zycbt030_cg.
else.
v_s_kwert = v_s_kwert + itab_zycbt030_cg-kwert.
endif.
endif.
itab_zycbt030_cg-s_kwert = v_s_kwert .
itab_aux-valor =
( itab_zycbt030_cg-kwert / itab_zycbt030_cg-s_kwert )
* itab_selreg-vlme.
move:
itab_zycbt030_cg-nrinvoic to itab_aux-nrinvoic,
itab_zycbt030_cg-nrparcf to itab_aux-nrparcf,
itab_zycbt030_cg-vbeln to itab_aux-vbeln,
itab_zycbt030_cg-gsberf to itab_aux-gsberf,
itab_zycbt030_cg-flag to itab_aux-flag,
itab_zycbt030_cg-budat to itab_aux-budat.
if itab_zycbt030_cg-belnr6 is initial.
move itab_zycbt030_cg-belnr to itab_aux-belnr6.
else.
move itab_zycbt030_cg-belnr6 to itab_aux-belnr6.
endif.
append itab_aux.
endloop.
itab_zycbt030_cg-s_kwert = v_s_kwert.
modify itab_zycbt030_cg transporting s_kwert
where nrinvoic = <fs_op>-nrinvoic
and nrparcf = <fs_op>-nrparcf
and gsberf = <fs_op>-gsberf.
endform.
form verify_null_field using value(p_field)
value(p_fieldname)
value(p_description).
if p_field is initial.
wa_zycbt034-campo = p_fieldname.
wa_zycbt034-descricao = p_description.
append wa_zycbt034 to itab_zycbt034 .
endif.
endform.
form dados_batch .
wa_zycbe033-zterm = space.
wa_zycbe033-tcode = v_trans.
wa_zycbe033-tabela = '/PWS/ZYCET010'.
wa_zycbe033-cpochv = itab_selreg-nrchave.
v_dtpagto = <fs_op>-dtlancto.
wa_zycbe033-budat = v_dtpagto.
if wa_zycbt007-fdtdoc = 'D'.
wa_zycbe033-bldat = sy-datum.
wa_zycbe033-d_valut = sy-datum.
else.
wa_zycbe033-bldat = wa_zycbe033-budat.
wa_zycbe033-d_valut = wa_zycbe033-budat.
endif.
loop at itab_zyglt321_cg into wa_zyglt321_cg.
case wa_zyglt321_cg-cpor3.
when 'SGTXT'.
case wa_zyglt321_cg-cpocb .
when 'NRINVOIC'.
wa_zycbe033-d_sgtxt = itab_zycbt017_cg-nrinvoic.
wa_zycbe033-c_sgtxt = itab_zycbt017_cg-nrinvoic.
wa_zycbe033-augtx = itab_zycbt017_cg-nrinvoic.
when 'NREMB'.
wa_zycbe033-d_sgtxt = itab_zycbt017_cg-nremb.
wa_zycbe033-c_sgtxt = itab_zycbt017_cg-nremb.
wa_zycbe033-augtx = itab_zycbt017_cg-nremb.
when 'NRSEQ'.
wa_zycbe033-d_sgtxt = <fs_op>-nrseq.
wa_zycbe033-c_sgtxt = <fs_op>-nrseq.
wa_zycbe033-augtx = <fs_op>-nrseq.
when 'REF_OP'.
wa_zycbe033-d_sgtxt = <fs_op>-ref_op.
wa_zycbe033-c_sgtxt = <fs_op>-ref_op.
wa_zycbe033-augtx = <fs_op>-ref_op.
endcase.
when 'XBLNR'.
clear: v_ms.
case wa_zyglt321_cg-cpocb .
when 'NRINVOIC'.
wa_zycbe033-xblnr = itab_zycbt017_cg-nrinvoic.
when 'NREMB'.
wa_zycbe033-xblnr = itab_zycbt017_cg-nremb.
when 'NRSEQ'.
wa_zycbe033-xblnr = <fs_op>-nrseq.
when'REF_OP'.
wa_zycbe033-xblnr = <fs_op>-ref_op.
when 'NRINVOIC+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate itab_zycbt017_cg-nrinvoic v_ms
into wa_zycbe033-xblnr separated by space.
when 'NREMB+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate itab_zycbt017_cg-nremb v_ms
into wa_zycbe033-xblnr separated by space.
when 'NRSEQ+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate <fs_op>-nrseq v_ms
into wa_zycbe033-xblnr separated by space.
when'REF_OP+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate <fs_op>-ref_op v_ms
into wa_zycbe033-xblnr separated by space.
endcase.
when 'ZFBDT'.
case wa_zyglt321_cg-cpocb.
when 'DTBL'.
wa_zycbe033-zfbdt = itab_zycbt017_cg-dtbl.
when 'DTINVOIC'.
wa_zycbe033-zfbdt = itab_zycbt017_cg-dtinvoic.
when 'DTVENCTO'.
wa_zycbe033-zfbdt = itab_zycbt017_cg-dtvencto.
when 'DTLANC'.
wa_zycbe033-zfbdt = <fs_op>-dtlancto.
when 'DTINCL'.
wa_zycbe033-zfbdt = <fs_op>-dtincl.
when 'DTLANC1'.
wa_zycbe033-zfbdt = itab_selreg-dtlanc.
when 'DTVENCTO1'.
wa_zycbe033-zfbdt = itab_selreg-dtvencto.
endcase.
when 'VALUT'.
case wa_zyglt321_cg-cpocb.
when 'DTBL'.
wa_zycbe033-d_valut = itab_zycbt017_cg-dtbl.
wa_zycbe033-c_valut = itab_zycbt017_cg-dtbl.
when 'DTINVOIC'.
wa_zycbe033-d_valut = itab_zycbt017_cg-dtinvoic.
wa_zycbe033-c_valut = itab_zycbt017_cg-dtinvoic.
when 'DTVENCTO'.
wa_zycbe033-d_valut = itab_zycbt017_cg-dtvencto.
wa_zycbe033-c_valut = itab_zycbt017_cg-dtvencto.
when 'DTLANC'.
wa_zycbe033-d_valut = <fs_op>-dtlancto.
wa_zycbe033-c_valut = <fs_op>-dtlancto.
when 'DTLINCL'.
wa_zycbe033-d_valut = <fs_op>-dtincl.
wa_zycbe033-c_valut = <fs_op>-dtincl.
when 'DTLANC1'.
wa_zycbe033-d_valut = itab_selreg-dtlanc.
wa_zycbe033-c_valut = itab_selreg-dtlanc.
when 'DTVENCTO1'.
wa_zycbe033-d_valut = itab_selreg-dtvencto.
wa_zycbe033-c_valut = itab_selreg-dtvencto.
endcase.
when 'ZUONR'.
case wa_zyglt321_cg-cpocb.
when 'NRINVOIC'.
wa_zycbe033-d_zuonr = itab_zycbt017_cg-nrinvoic.
when 'NREMB'.
wa_zycbe033-d_zuonr = itab_zycbt017_cg-nremb.
when 'NRSEQ'.
wa_zycbe033-d_zuonr = <fs_op>-nrseq.
when'REF_OP'.
wa_zycbe033-d_zuonr = <fs_op>-ref_op.
endcase.
when 'ZTERM'.
if wa_zyglt321_cg-cpocb = 'ZTERM'.
wa_zycbe033-zterm = itab_zycbt017_cg-zterm.
endif.
endcase.
endloop.
wa_zycbe033-bktxt = wa_zycbt007-bktxt.
wa_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.
wa_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.
wa_zycbe033-augtx = wa_zycbt011-txtdesc.
perform verify_null_field using <fs_op>-bukrs
'BUKRS'
text-048.
wa_zycbe033-bukrs = <fs_op>-bukrs.
perform verify_null_field using itab_zycbt017_cg-waers
'WAERS'
text-049.
wa_zycbe033-waers = itab_zycbt017_cg-waers.
perform verifica_data.
perform define_cambio using v_databl
<fs_op>-waers
wa_zycbt007-waersb
wa_zycbe033-kursf.
perform verify_null_field using wa_zycbe033-kursf
'TXCAMB'
text-051.
perform verify_null_field using wa_zycbt011-blart
'BLART'
text-050.
wa_zycbe033-blart = wa_zycbt011-blart.
wa_zycbe033-zfbdt = v_dtpagto.
wa_zycbe033-d_gsber = itab_zycbt017_cg-gsberf.
wa_zycbe033-c_gsber = <fs_op>-gsberf.
perform verifica_pais_filial using <fs_op>-bukrs
<fs_op>-j_1bbranch.
wa_zycbe033-brnch = <fs_op>-j_1bbranch.
endform.
form verifica_data.
data v_belnr like /pws/zycbt030-belnr.
if wa_zycbt007-dtliquid = 'DTEMB'.
select single * from /pws/zycbt017
into itab_zycbt017_cg
where nrinvoic eq <fs_op>-nrinvoic
and nrparcf eq <fs_op>-nrparcf
and gsberf eq <fs_op>-gsberf.
v_databl = itab_zycbt017_cg-dtbl.
elseif wa_zycbt007-dtliquid eq 'TXFAT'.
select single dtemb
from /pws/zycet001
into v_dtemb
where nrseq eq <fs_op>-nrinvoic.
select single belnr
from /pws/zycbt030
into v_belnr
where nrinvoic eq <fs_op>-nrinvoic and
gsberf eq <fs_op>-gsberf and
nrparcf eq <fs_op>-nrparcf.
if not v_belnr is initial and
not v_dtemb is initial.
clear v_year.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = <fs_op>-bukrs
v_date = v_dtemb
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.
select single kursf from bkpf into wa_zycbe033-kursf
where bukrs = itab_zycbt006-bukrs and
belnr = v_belnr and
gjahr = v_year.
endif.
clear v_databl.
else.
v_databl = v_dtpagto.
endif.
endform.
form define_cambio using value(p_data)
value(p_moedae)
value(p_moedal)
p_kursf.
if <fs_op>-waers = wa_zycbt007-waersb.
p_kursf = '1.00000'.
exit.
endif.
select single codpadr kurst
into (wa_zycbt009-codpadr , wa_zycbt009-kurst)
from /pws/zycbt009
where codpadr = wa_zycbt011-ctmoed.
call function '/PWS/ZYCB_MONTANTE_CONVERTE'
exporting
i_montante = '1'
i_demoeda = p_moedae
i_paramoeda = p_moedal
i_ctmoeda = wa_zycbt009-kurst
i_dtbase = p_data
importing
e_txc = p_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.
endform.
form valor_baixar_comissao.
clear: v_vlcomis, v_saliq, v_some.
read table itab_zycbt030 into wa_zycbt030 with key
nrinvoic = itab_aux-nrinvoic
nrparcf = itab_aux-nrparcf
vbeln = itab_aux-vbeln
gsberf = itab_aux-gsberf.
read table itab_zycbt017 into itab_zycbt017_cg
with key nrinvoic = <fs_op>-nrinvoic
nrparcf = <fs_op>-nrparcf
gsberf = <fs_op>-gsberf.
select * from /pws/zycbt006
into table itab_zycbt006_pagos
where nrinvoic = <fs_op>-nrinvoic and
nrparcf = <fs_op>-nrparcf and
gsberf = <fs_op>-gsberf. "#EC CI_NOFIRST
loop at itab_zycbt006_pagos where nrinvoic = <fs_op>-nrinvoic
and nrparcf = <fs_op>-nrparcf
and gsberf = <fs_op>-gsberf.
v_some = v_some + itab_zycbt006_pagos-vlme.
endloop.
v_saliq = itab_zycbt017_cg-vlavinc -
v_some -
itab_zycbt006_pagos-vlme.
if v_saliq = 0.
if itab_aux-valor = 0.
clear v_year.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = <fs_op>-bukrs
v_date = wa_zycbt030-budat
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.
select single wrbtr from bsid into bsid-wrbtr
where belnr = itab_aux-belnr6
and gjahr = v_year
and kunnr = <fs_op>-kunag
and bukrs = <fs_op>-bukrs.
if sy-subrc = 0.
wa_zycbe033-wrbtr = bsid-wrbtr.
else.
wa_zycbe033-wrbtr = itab_aux-valor.
endif.
else.
wa_zycbe033-wrbtr = itab_aux-valor.
endif.
else.
wa_zycbe033-wrbtr = itab_aux-valor.
endif.
endform.
form executa_clearing_agente.
perform clear_date_batch.
clear itab_zycbt036.
refresh itab_zycbt036.
concatenate itab_selreg-nrchave
itab_selreg-lifnr
into v_cpochv.
wa_zycbe033-tcode = 'F-30'.
wa_zycbe033-tabela = '/PWS/ZYCBT226'.
wa_zycbe033-cpochv = v_cpochv.
perform verify_null_field using v_dtpagto
'DTPAGTO'
text-003.
wa_zycbe033-budat = v_dtpagto.
perform verify_null_field using wa_zycbt011-blart
'BLART'
text-050.
wa_zycbe033-blart = wa_zycbt011-blart.
wa_zycbe033-bktxt = wa_zycbt007-bktxt.
wa_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.
wa_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.
perform verifica_data.
perform define_cambio using v_databl
<fs_op>-waers
wa_zycbt007-waersb
wa_zycbe033-kursf.
perform verify_null_field using wa_zycbe033-kursf
'TXCAMB'
text-051.
if wa_zycbt007-fdtdoc = 'D'.
wa_zycbe033-bldat = sy-datum.
wa_zycbe033-d_valut = sy-datum.
else.
wa_zycbe033-bldat = wa_zycbe033-budat.
wa_zycbe033-d_valut = wa_zycbe033-budat.
endif.
loop at itab_zyglt321_cg into wa_zyglt321_cg.
case wa_zyglt321_cg-cpor3.
when 'SGTXT'.
case wa_zyglt321_cg-cpocb .
when 'NRINVOIC'.
wa_zycbe033-d_sgtxt = itab_zycbt017_cg-nrinvoic.
wa_zycbe033-c_sgtxt = itab_zycbt017_cg-nrinvoic.
wa_zycbe033-augtx = itab_zycbt017_cg-nrinvoic.
when 'NREMB'.
wa_zycbe033-d_sgtxt = itab_zycbt017_cg-nremb.
wa_zycbe033-c_sgtxt = itab_zycbt017_cg-nremb.
wa_zycbe033-augtx = itab_zycbt017_cg-nremb.
when 'NRSEQ'.
wa_zycbe033-d_sgtxt = <fs_op>-nrseq.
wa_zycbe033-c_sgtxt = <fs_op>-nrseq.
wa_zycbe033-augtx = <fs_op>-nrseq.
when 'REF_OP'.
wa_zycbe033-d_sgtxt = <fs_op>-ref_op.
wa_zycbe033-c_sgtxt = <fs_op>-ref_op.
wa_zycbe033-augtx = <fs_op>-ref_op.
endcase.
when 'XBLNR'.
clear: v_ms.
case wa_zyglt321_cg-cpocb .
when 'NRINVOIC'.
wa_zycbe033-xblnr = itab_zycbt017_cg-nrinvoic.
when 'NREMB'.
wa_zycbe033-xblnr = itab_zycbt017_cg-nremb.
when 'NRSEQ'.
wa_zycbe033-xblnr = <fs_op>-nrseq.
when'REF_OP'.
wa_zycbe033-xblnr = <fs_op>-ref_op.
when 'NRINVOIC+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate itab_zycbt017_cg-nrinvoic v_ms
into wa_zycbe033-xblnr separated by space.
when 'NREMB+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate itab_zycbt017_cg-nremb v_ms
into wa_zycbe033-xblnr separated by space.
when 'NRSEQ+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate <fs_op>-nrseq v_ms
into wa_zycbe033-xblnr separated by space.
when'REF_OP+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate <fs_op>-ref_op v_ms
into wa_zycbe033-xblnr separated by space.
endcase.
when 'ZFBDT'.
case wa_zyglt321_cg-cpocb.
when 'DTBL'.
wa_zycbe033-zfbdt = itab_zycbt017_cg-dtbl.
when 'DTINVOIC'.
wa_zycbe033-zfbdt = itab_zycbt017_cg-dtinvoic.
when 'DTVENCTO'.
wa_zycbe033-zfbdt = itab_zycbt017_cg-dtvencto.
when 'DTLANC'.
wa_zycbe033-zfbdt = <fs_op>-dtlancto.
when 'DTINCL'.
wa_zycbe033-zfbdt = <fs_op>-dtincl.
when 'DTLANC1'.
wa_zycbe033-zfbdt = itab_selreg-dtlanc.
when 'DTVENCTO1'.
wa_zycbe033-zfbdt = itab_selreg-dtvencto.
endcase.
when 'VALUT'.
case wa_zyglt321_cg-cpocb.
when 'DTBL'.
wa_zycbe033-d_valut = itab_zycbt017_cg-dtbl.
wa_zycbe033-c_valut = itab_zycbt017_cg-dtbl.
when 'DTINVOIC'.
wa_zycbe033-d_valut = itab_zycbt017_cg-dtinvoic.
wa_zycbe033-c_valut = itab_zycbt017_cg-dtinvoic.
when 'DTVENCTO'.
wa_zycbe033-d_valut = itab_zycbt017_cg-dtvencto.
wa_zycbe033-c_valut = itab_zycbt017_cg-dtvencto.
when 'DTLANC'.
wa_zycbe033-d_valut = <fs_op>-dtlancto.
wa_zycbe033-c_valut = <fs_op>-dtlancto.
when 'DTLINCL'.
wa_zycbe033-d_valut = <fs_op>-dtincl.
wa_zycbe033-c_valut = <fs_op>-dtincl.
when 'DTLANC1'.
wa_zycbe033-d_valut = itab_selreg-dtlanc.
wa_zycbe033-c_valut = itab_selreg-dtlanc.
when 'DTVENCTO1'.
wa_zycbe033-d_valut = itab_selreg-dtvencto.
wa_zycbe033-c_valut = itab_selreg-dtvencto.
endcase.
when 'ZUONR'.
case wa_zyglt321_cg-cpocb.
when 'NRINVOIC'.
wa_zycbe033-d_zuonr = itab_zycbt017_cg-nrinvoic.
when 'NREMB'.
wa_zycbe033-d_zuonr = itab_zycbt017_cg-nremb.
when 'NRSEQ'.
wa_zycbe033-d_zuonr = <fs_op>-nrseq.
when'REF_OP'.
wa_zycbe033-d_zuonr = <fs_op>-ref_op.
endcase.
when 'ZTERM'.
if wa_zyglt321_cg-cpocb = 'ZTERM'.
wa_zycbe033-zterm = itab_zycbt017_cg-zterm.
endif.
endcase.
endloop.
perform verify_null_field using <fs_op>-bukrs
'BUKRS'
text-048.
wa_zycbe033-bukrs = <fs_op>-bukrs.
perform verify_null_field using itab_zycbt017_cg-waers
'WAERS'
text-049.
wa_zycbe033-waers = itab_zycbt017_cg-waers.
wa_zycbe033-augtx = wa_zycbt011-txtdesc.
wa_zycbe033-c_gsber = <fs_op>-gsberf.
wa_zycbe033-d_gsber = <fs_op>-gsberf.
if wa_zycbt007-comis = 'A' or wa_zycbt007-comis = ' '.
wa_zycbe033-agkon = itab_selreg-lifnr.
wa_zycbe033-agkoa = 'K'.
else.
wa_zycbe033-agkoa = 'S'.
wa_zycbe033-agkon = itab_zycbt012a-saknr1.
endif.
if wa_zycbt007-liq_trans eq 'R'.
wa_zycbe033-d_newko = itab_zycbt012-saknr2.
wa_zycbe033-newbs = '50'.
wa_zycbe033-agkon = itab_selreg-lifnr.
wa_zycbe033-agkoa = 'K'.
wa_zycbe033-wrbtr = v_valorc.
wa_zycbe033-belnr = itab_zycet010-belnr.
clear v_year.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = <fs_op>-bukrs
v_date = itab_zycet010-dtlanc
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.
select single * from bkpf
where bukrs = itab_zycbt006-bukrs
and belnr = itab_zycet010-belnr
and gjahr = v_year.
endif.
append wa_zycbe033 to itab_zycbe033.
if <fs_op>-status ne 'E'.
wa_zycbt036-tcode = 'F-30'.
wa_zycbt036-tabela = '/PWS/ZYCBT226'.
wa_zycbt036-cpochv = v_cpochv.
if /pws/zycet037-comis_provisao is initial or
/pws/zycet037-comis_provisao eq 0.
wa_zycbt036-belnr = itab_zycet010-belnr.
clear v_year.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = <fs_op>-bukrs
v_date = itab_zycet010-dtlanc
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.
select single * from bkpf
where bukrs = itab_zycbt006-bukrs
and belnr = itab_zycet010-belnr
and gjahr = v_year.
else.
wa_zycbt036-belnr = itab_zycet013-belnr.
clear v_year.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = <fs_op>-bukrs
v_date = itab_zycet013-dtlanc
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.
select single * from bkpf
where bukrs = <fs_op>-bukrs
and belnr = itab_zycet013-belnr
and gjahr = v_year.
endif.
wa_zycbt036-dtdocto = bkpf-budat.
append wa_zycbt036 to itab_zycbt036 .
endif.
if wa_zycbt007-liq_trans ne 'R'.
loop at itab_zycbt032a where tpmsg = 'S'.
wa_zycbt036-tcode = 'F-30'.
wa_zycbt036-tabela = '/PWS/ZYCBT226'.
wa_zycbt036-cpochv = v_cpochv.
wa_zycbt036-belnr = itab_zycbt032a-belnr.
clear v_year.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = <fs_op>-bukrs
v_date = itab_zycbt032a-budat
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.
select single * from bkpf
where bukrs = <fs_op>-bukrs
and belnr = itab_zycbt032a-belnr
and gjahr = v_year.
wa_zycbt036-dtdocto = bkpf-budat.
append wa_zycbt036 to itab_zycbt036.
endloop.
endif.
if itab_zycbt034 is initial.
if wa_zycbt007-liq_trans eq 'R'.
call function '/PWS/ZYCB_TRANSACAO_F_30_A'
exporting
v_modo = v_modo_bi
tables
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
t_zycbt036 = itab_zycbt036
exceptions
campo_em_branco = 1
periodo_fechado = 2
others = 3.
else.
call function '/PWS/ZYCB_TRANSACAO_F_30'
exporting
v_modo = v_modo_bi
tables
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
t_zycbt036 = itab_zycbt036
exceptions
campo_em_branco = 1
periodo_fechado = 2
others = 3.
endif.
if sy-subrc = 0.
read table itab_zycbt032 into wa_zycbt032
with key tcode = 'F-30'
tabela = '/PWS/ZYCBT226'
cpochv = v_cpochv
tpmsg = 'S'.
if sy-subrc = 0.
if /pws/zycet037-comis_provisao is initial or
/pws/zycet037-comis_provisao eq 0.
if <fs_op>-status <> 'E'.
itab_zycet010-belnr51 = wa_zycbt032-belnr.
modify itab_zycet010 transporting belnr51
where nrseq = itab_zycet010-nrseq
and lifnr = itab_zycet010-lifnr
and dtvencto = itab_zycet010-dtvencto.
else.
itab_zycet010-belnr = wa_zycbt032-belnr.
itab_zycet010-dtlanc = wa_zycbe033-budat.
itab_zycet010-status = space.
itab_zycet010-dtpagto = '00000000'.
itab_zycet010-belnr51 = space.
itab_zycet010-belnr_p = space.
modify itab_zycet010 transporting belnr
dtlanc
status
dtpagto
belnr51
belnr_p
where nrseq = itab_zycet010-nrseq and
lifnr = itab_zycet010-lifnr and
dtvencto = itab_zycet010-dtvencto.
endif.
modify /pws/zycet010 from itab_zycet010.
else.
if <fs_op>-status <> 'E'.
itab_zycet013-belnr_cl = wa_zycbt032-belnr.
modify itab_zycet013 transporting belnr_cl
where nrseq = itab_zycet013-nrseq
and gsber = itab_zycet013-gsber
and lifnr = itab_zycet013-lifnr
and prctr = itab_zycet013-prctr.
else.
itab_zycet013-belnr = wa_zycbt032-belnr.
itab_zycet013-dtlanc = wa_zycbe033-budat.
itab_zycet013-status = space.
itab_zycet013-dtpagto = '00000000'.
itab_zycet013-belnr_cl = space.
itab_zycet013-belnr_c = space.
modify itab_zycet013 transporting belnr
dtlanc
status
dtpagto
belnr_cl
belnr_c
where nrseq = itab_zycet013-nrseq
and gsber = itab_zycet013-gsber
and lifnr = itab_zycet013-lifnr
and prctr = itab_zycet013-prctr.
endif.
modify /pws/zycet013 from itab_zycet013.
endif.
update /pws/zycbt226 set status = <fs_op>-status
where nrseq = <fs_op>-nrseq
and nrinvoic = <fs_op>-nrinvoic
and nrparcf = <fs_op>-nrparcf
and gsberf = <fs_op>-gsberf.
commit work.
endif.
endif.
perform message_store
using '/PWS/ZYCBM'
'I'
'DOC. CLEARING DE AGENTE.'(065)
'-'
<fs_op>-nrinvoic
space
'061'.
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.
endif.
endform.
form fill_date_f30_comissao .
data: v_chave(50), v_erro_f28(1), v_aux,
v_status_f30(1) value 'E',
v_vlslliq like /pws/zycbt030-vlslliq.
perform clear_date_batch.
clear: itab_zycbt032a, itab_zycbt036.
refresh: itab_zycbt032a, itab_zycbt036.
perform get_parameters_comissao .
if wa_zycbt007-comis = 'C'.
read table itab_zycbt012a with key chlanc = 'C'.
endif.
perform verifica_rateio1 .
loop at itab_aux.
clear v_chave.
if itab_aux-flag ne 'X'.
if wa_zycbt007-comis = 'C'.
wa_zycbe033-newbs = '40'.
else.
wa_zycbe033-newbs = '21'.
endif.
else.
if wa_zycbt007-comis = 'C'.
wa_zycbe033-newbs = '50'.
else.
wa_zycbe033-newbs = '31'.
endif.
endif.
if wa_zycbt007-comis = 'C'.
wa_zycbe033-d_newko = itab_zycbt012a-saknr1.
else.
wa_zycbe033-d_newko = itab_selreg-lifnr.
endif.
perform verify_null_field using wa_zycbe033-d_newko
'KONTO'
text-016.
wa_zycbe033-agkoa = 'D'.
wa_zycbe033-agkon = itab_zycbt017_cg-kunag.
perform verify_null_field using wa_zycbe033-agkon
'AGKON'
text-042.
perform dados_batch.
concatenate itab_aux-nrinvoic
itab_aux-nrparcf
itab_aux-vbeln itab_aux-gsberf into v_chave.
wa_zycbe033-cpochv = v_chave.
perform valor_baixar_comissao.
perform verify_null_field using itab_aux-belnr6
'BELNR'
text-044.
wa_zycbe033-belnr = itab_aux-belnr6.
clear v_year.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = <fs_op>-bukrs
v_date = itab_aux-budat
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.
select single * from bkpf
where bukrs = <fs_op>-bukrs
and belnr = itab_aux-belnr6
and gjahr = v_year.
wa_zycbe033-dtdocto = bkpf-budat.
if wa_zycbe033-wrbtr gt 0.
append wa_zycbe033 to itab_zycbe033.
endif.
endloop.
loop at itab_zycbt034 into wa_zycbt034.
perform message_store using
'/PWS/ZYCBM'
'W'
wa_zycbt034-descricao
space
space
space
'016'.
endloop.
if itab_zycbt034[] is initial.
call function '/PWS/ZYCB_TRANSACAO_F_30_A'
exporting
v_modo = v_modo_bi
v_vlt = 'X'
tables
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
exceptions
campo_em_branco = 1
periodo_fechado = 2
others = 3.
clear v_erro_f28.
if sy-subrc = 0.
clear v_aux.
loop at itab_aux.
concatenate itab_aux-nrinvoic
itab_aux-nrparcf
itab_aux-vbeln itab_aux-gsberf
into v_chave.
read table itab_zycbt032 into wa_zycbt032
with key tcode = v_trans
tabela = '/PWS/ZYCBT226'
cpochv = v_chave
tpmsg = 'S'.
if sy-subrc = 0.
wa_zycbt030-belnr6 = wa_zycbt032-belnr.
read table itab_zycbe033 into wa_zycbe033
with key cpochv = v_chave.
wa_zycbt030-budat = wa_zycbt030-budat.
clear v_vlslliq.
v_vlslliq = wa_zycbt030-vlslliq - itab_zycbt017_cg-vlcomis.
wa_zycbt030-vlslliq = v_vlslliq.
modify itab_zycbt030 from wa_zycbt030
transporting belnr6 budat vlslliq
where nrinvoic = itab_aux-nrinvoic
and nrparcf = itab_aux-nrparcf
and vbeln = itab_aux-vbeln
and gsberf = itab_aux-gsberf.
update /pws/zycbt030 set: belnr6 = wa_zycbt032-belnr
budat = wa_zycbe033-budat
vlslliq = v_vlslliq
where nrinvoic = itab_aux-nrinvoic
and nrparcf = itab_aux-nrparcf
and vbeln = itab_aux-vbeln
and gsberf = itab_aux-gsberf.
if /pws/zycet037-comis_provisao is initial or
/pws/zycet037-comis_provisao eq 0.
if <fs_op>-status <> 'E'.
itab_zycet010-status = 'C'.
itab_zycet010-belnr_p = wa_zycbt032-belnr.
itab_zycet010-dtpagto = v_dtpagto.
modify itab_zycet010 transporting status belnr_p dtpagto
where nrseq = itab_zycet010-nrseq
and lifnr = itab_zycet010-lifnr
and dtvencto = itab_zycet010-dtvencto.
else.
itab_zycet010-belnr = wa_zycbt032-belnr.
itab_zycet010-status = space.
itab_zycet010-dtpagto = '00000000'.
modify itab_zycet010 transporting belnr status dtpagto
where nrseq = itab_zycet010-nrseq
and lifnr = itab_zycet010-lifnr
and dtvencto = itab_zycet010-dtvencto.
endif.
modify /pws/zycet010 from itab_zycet010.
else.
if <fs_op>-status <> 'E'.
itab_zycet013-status = 'C'.
itab_zycet013-belnr_c = wa_zycbt032-belnr.
itab_zycet013-dtpagto = v_dtpagto.
modify itab_zycet013 transporting status
belnr_c
dtpagto
where nrseq = itab_zycet013-nrseq
and lifnr = itab_zycet013-lifnr
and gsber = itab_zycet013-gsber
and prctr = itab_zycet013-prctr.
else.
itab_zycet013-belnr = wa_zycbt032-belnr.
itab_zycet013-status = space.
itab_zycet013-dtpagto = '00000000'.
modify itab_zycet013 transporting status
belnr
dtpagto
where nrseq = itab_zycet013-nrseq
and lifnr = itab_zycet013-lifnr
and gsber = itab_zycet013-gsber
and prctr = itab_zycet013-prctr.
endif.
modify /pws/zycet013 from itab_zycet013.
endif.
move wa_zycbt032 to itab_zycbt032a.
move wa_zycbe033-budat to itab_zycbt032a-budat.
append itab_zycbt032a.
v_status_f30 = 'S'.
perform message_store
using '/PWS/ZYCBM'
'I'
'DOC. COMISSÃO DE AGENTE.'(064)
'-'
<fs_op>-nrinvoic
space
'061'.
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.
endif.
endloop.
if v_status_f30 eq 'S'.
perform executa_clearing_agente.
endif.
elseif sy-subrc eq 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.
else.
loop at itab_zycbt032 into wa_zycbt032
where tcode = 'F-30'
and tabela = '/PWS/ZYCBT226'
and cpochv = wa_zycbe033-cpochv
and tpmsg = 'E'.
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.
endif.
endif.
endform.
form verifica_pais_filial using p_bukrs
p_brnch.
select single adrnr from j_1bbranch into j_1bbranch-adrnr
where bukrs = p_bukrs
and branch = p_brnch.
if sy-subrc = 0.
select single country from adrc into adrc-country
where addrnumber = j_1bbranch-adrnr.
if sy-subrc = 0 and
adrc-country ne 'BR' and adrc-country ne 'TW'.
clear p_brnch.
endif.
endif.
endform.
form estorna_comissao.
clear: itab_selreg,
itab_zycet010,
itab_zycet013.
refresh: itab_zycet010,
itab_zycet013.
select single * from /pws/zycbt017
into itab_zycbt017_cg
where nrinvoic eq <fs_op>-nrinvoic
and nrparcf eq <fs_op>-nrparcf.
select single * from /pws/zycbt037
into itab_zycbt037_cg
where parvw eq itab_zycbt017_cg-parvw. "#EC CI_NOFIRST
if sy-subrc ne 0.
if itab_zycbt017_cg-parvw eq 'AD' or
itab_zycbt017_cg-parvw eq 'DA'.
select single * from /pws/zycbt037
into itab_zycbt037_cg
where parvw eq 'AD' or
parvw eq 'DA'. "#EC CI_NOFIRST
endif.
endif.
check itab_zycbt037_cg-codpad eq 'G'
or itab_zycbt037_cg-codpad eq 'D'.
select single * from /pws/zycet037
where bukrs eq <fs_op>-bukrs.
if sy-subrc ne 0.
select single * from /pws/zycet037
where bukrs eq space.
endif.
if /pws/zycet037-comis_provisao is initial or
/pws/zycet037-comis_provisao eq 0.
select *
into table itab_zycet010
from /pws/zycet010
where nrseq eq <fs_op>-nrinvoic
and ( dtpagto ne ' ' or
dtpagto ne '00000000' ).
loop at itab_zycet010.
move: itab_zycet010-nrseq to itab_selreg-nrchave,
<fs_op>-nrseq to itab_selreg-docto,
itab_zycet010-dtvencto to itab_selreg-dtvencto,
itab_zycet010-vlcomis to itab_selreg-vlme,
itab_zycet010-lifnr to itab_selreg-lifnr,
itab_zycbt037_cg-codpad to itab_selreg-codp.
append itab_selreg.
perform fill_date6_f22_comissao.
endloop.
else.
select *
into table itab_zycet013
from /pws/zycet013
where nrseq eq <fs_op>-nrinvoic
and gsber eq <fs_op>-gsberf
and ( dtpagto ne ' ' or
dtpagto ne '00000000' ).
loop at itab_zycet013.
move: itab_zycet013-nrseq to itab_selreg-nrchave,
<fs_op>-nrseq to itab_selreg-docto,
itab_zycet013-vlme to itab_selreg-vlme,
itab_zycet013-lifnr to itab_selreg-lifnr,
itab_zycbt037_cg-codpad to itab_selreg-codp.
append itab_selreg.
perform fill_date6_f22_comissao.
endloop.
endif.
endform.
form fill_date6_f22_comissao.
clear: itab_zycbt032a, itab_zycbt036.
refresh: itab_zycbt032a, itab_zycbt036.
perform clear_date_batch.
perform get_parameters_comissao.
perform verifica_rateio1.
if wa_zycbt007-comis = 'C'.
read table itab_zycbt012a with key chlanc = 'C'.
endif.
loop at itab_aux.
wa_zycbe033-tcode = 'F-22'.
wa_zycbe033-tabela = '/PWS/ZYCBT226'.
concatenate itab_aux-nrinvoic itab_aux-vbeln
itab_aux-gsberf into v_cpochv.
wa_zycbe033-cpochv = v_cpochv.
perform verifica_pais_filial using <fs_op>-bukrs
<fs_op>-j_1bbranch.
wa_zycbe033-brnch = <fs_op>-j_1bbranch.
perform get_parameters_003.
perform verifica_taxa_original.
wa_zycbe033-kursf = v_taxa.
perform verify_null_field using wa_zycbe033-kursf
'TXCAMB'
text-051.
wa_zycbe033-d_gsber = <fs_op>-gsberf.
wa_zycbe033-augtx = wa_zycbt011-txtdesc.
wa_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.
wa_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.
wa_zycbe033-wrbtr = itab_aux-valor.
perform verify_null_field using wa_zycbe033-wrbtr
'WRBTR'
text-007.
loop at itab_zyglt321_cg into wa_zyglt321_cg.
case wa_zyglt321_cg-cpor3.
when 'SGTXT'.
case wa_zyglt321_cg-cpocb .
when 'NRINVOIC'.
wa_zycbe033-d_sgtxt = itab_zycbt017_cg-nrinvoic.
wa_zycbe033-c_sgtxt = itab_zycbt017_cg-nrinvoic.
wa_zycbe033-augtx = itab_zycbt017_cg-nrinvoic.
when 'NREMB'.
wa_zycbe033-d_sgtxt = itab_zycbt017_cg-nremb.
wa_zycbe033-c_sgtxt = itab_zycbt017_cg-nremb.
wa_zycbe033-augtx = itab_zycbt017_cg-nremb.
when 'NRSEQ'.
wa_zycbe033-d_sgtxt = <fs_op>-nrseq.
wa_zycbe033-c_sgtxt = <fs_op>-nrseq.
wa_zycbe033-augtx = <fs_op>-nrseq.
when 'REF_OP'.
wa_zycbe033-d_sgtxt = <fs_op>-ref_op.
wa_zycbe033-c_sgtxt = <fs_op>-ref_op.
wa_zycbe033-augtx = <fs_op>-ref_op.
endcase.
when 'XBLNR'.
clear: v_ms.
case wa_zyglt321_cg-cpocb .
when 'NRINVOIC'.
wa_zycbe033-xblnr = itab_zycbt017_cg-nrinvoic.
when 'NREMB'.
wa_zycbe033-xblnr = itab_zycbt017_cg-nremb.
when 'NRSEQ'.
wa_zycbe033-xblnr = <fs_op>-nrseq.
when'REF_OP'.
wa_zycbe033-xblnr = <fs_op>-ref_op.
when 'NRINVOIC+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate itab_zycbt017_cg-nrinvoic v_ms
into wa_zycbe033-xblnr separated by space.
when 'NREMB+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate itab_zycbt017_cg-nremb v_ms
into wa_zycbe033-xblnr separated by space.
when 'NRSEQ+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate <fs_op>-nrseq v_ms
into wa_zycbe033-xblnr separated by space.
when'REF_OP+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate <fs_op>-ref_op v_ms
into wa_zycbe033-xblnr separated by space.
endcase.
when 'ZFBDT'.
case wa_zyglt321_cg-cpocb.
when 'DTBL'.
wa_zycbe033-zfbdt = itab_zycbt017_cg-dtbl.
when 'DTINVOIC'.
wa_zycbe033-zfbdt = itab_zycbt017_cg-dtinvoic.
when 'DTVENCTO'.
wa_zycbe033-zfbdt = itab_zycbt017_cg-dtvencto.
when 'DTLANC'.
wa_zycbe033-zfbdt = <fs_op>-dtlancto.
when 'DTINCL'.
wa_zycbe033-zfbdt = <fs_op>-dtincl.
when 'DTLANC1'.
wa_zycbe033-zfbdt = itab_selreg-dtlanc.
when 'DTVENCTO1'.
wa_zycbe033-zfbdt = itab_selreg-dtvencto.
endcase.
when 'VALUT'.
case wa_zyglt321_cg-cpocb.
when 'DTBL'.
wa_zycbe033-d_valut = itab_zycbt017_cg-dtbl.
wa_zycbe033-c_valut = itab_zycbt017_cg-dtbl.
when 'DTINVOIC'.
wa_zycbe033-d_valut = itab_zycbt017_cg-dtinvoic.
wa_zycbe033-c_valut = itab_zycbt017_cg-dtinvoic.
when 'DTVENCTO'.
wa_zycbe033-d_valut = itab_zycbt017_cg-dtvencto.
wa_zycbe033-c_valut = itab_zycbt017_cg-dtvencto.
when 'DTLANC'.
wa_zycbe033-d_valut = <fs_op>-dtlancto.
wa_zycbe033-c_valut = <fs_op>-dtlancto.
when 'DTLINCL'.
wa_zycbe033-d_valut = <fs_op>-dtincl.
wa_zycbe033-c_valut = <fs_op>-dtincl.
when 'DTLANC1'.
wa_zycbe033-d_valut = itab_selreg-dtlanc.
wa_zycbe033-c_valut = itab_selreg-dtlanc.
when 'DTVENCTO1'.
wa_zycbe033-d_valut = itab_selreg-dtvencto.
wa_zycbe033-c_valut = itab_selreg-dtvencto.
endcase.
when 'ZUONR'.
case wa_zyglt321_cg-cpocb.
when 'NRINVOIC'.
wa_zycbe033-d_zuonr = itab_zycbt017_cg-nrinvoic.
when 'NREMB'.
wa_zycbe033-d_zuonr = itab_zycbt017_cg-nremb.
when 'NRSEQ'.
wa_zycbe033-d_zuonr = <fs_op>-nrseq.
when'REF_OP'.
wa_zycbe033-d_zuonr = <fs_op>-ref_op.
endcase.
when 'ZTERM'.
if wa_zyglt321_cg-cpocb = 'ZTERM'.
wa_zycbe033-zterm = itab_zycbt017_cg-zterm.
endif.
endcase.
endloop.
wa_zycbe033-bldat = <fs_op>-dtlancto.
wa_zycbe033-budat = <fs_op>-dtlancto.
wa_zycbe033-d_newko = itab_zycbt017_cg-kunag.
perform verify_null_field using wa_zycbe033-d_newko
'KONTO'
text-116.
if wa_zycbt007-comis = 'C'.
wa_zycbe033-c_newko = itab_zycbt012a-saknr1.
else.
wa_zycbe033-c_newko = itab_selreg-lifnr.
endif.
perform verify_null_field using wa_zycbe033-c_newko
'KONTO'
text-117.
if wa_zycbt007-comis eq 'A'.
if itab_aux-flag <> 'X'.
wa_zycbe033-newbs = '01'.
wa_zycbe033-newbs1 = '31'.
else.
wa_zycbe033-newbs = '11'.
wa_zycbe033-newbs1 = '21'.
endif.
else.
if itab_aux-flag <> 'X'.
wa_zycbe033-newbs = '01'.
wa_zycbe033-newbs1 = '50'.
else.
wa_zycbe033-newbs = '11'.
wa_zycbe033-newbs1 = '40'.
endif.
endif.
append wa_zycbe033 to itab_zycbe033.
loop at itab_zycbt034 into wa_zycbt034.
perform message_store using
'/PWS/ZYCBM'
'W'
wa_zycbt034-descricao
space
space
space
'016'.
endloop.
if itab_zycbt034 is initial.
call function '/PWS/ZYCB_TRANSACAO_F_22B'
exporting
v_modo = v_modo_bi
tables
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
exceptions
campo_em_branco = 1
others = 2.
if sy-subrc = 0.
read table itab_zycbt032 with key tcode = 'F-22'
tabela = '/PWS/ZYCBT226'
cpochv = v_cpochv
tpmsg = 'S'
into wa_zycbt032.
if sy-subrc = 0.
move wa_zycbt032 to itab_zycbt032a.
itab_zycbt032a-budat = wa_zycbe033-budat.
append itab_zycbt032a.
itab_contabil-nrinvoic = wa_zycbt030-nrinvoic.
itab_contabil-nrparcf = wa_zycbt030-nrparcf.
itab_contabil-vbeln = wa_zycbt030-vbeln.
itab_contabil-gsberf = wa_zycbt030-gsberf.
itab_contabil-docto = wa_zycbt032-belnr.
itab_contabil-dtdocto = wa_zycbe033-budat.
itab_contabil-bukrs = itab_zycbt006-bukrs.
itab_contabil-msg = text-119.
append itab_contabil.
itab_zycbt077-belnr = wa_zycbt032-belnr.
itab_zycbt077-bukrs = wa_zycbe033-bukrs.
itab_zycbt077-gjahr = wa_zycbe033-budat(4).
itab_zycbt077-status = 'E'.
itab_zycbt077-tcode = wa_zycbt032-tcode.
concatenate '004' itab_selreg-codp into
itab_zycbt077-codeven.
itab_zycbt077-codmod = 'E'.
itab_zycbt077-nrinvoic = itab_aux-nrinvoic.
itab_zycbt077-nrparcf = itab_aux-nrparcf.
itab_zycbt077-vbeln = itab_aux-vbeln.
itab_zycbt077-gsberf = itab_aux-gsberf.
itab_zycbt077-dtpagto = v_dtpagto.
perform message_store
using '/PWS/ZYCBM'
'I'
'DOC.ESTORNO COMISSÃO DE AGENTE.'(066)
'-'
<fs_op>-nrinvoic
space
'061'.
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.
perform executa_clearing_cliente.
else.
loop at itab_zycbt032 into wa_zycbt032
where tcode = 'F-30'
and tabela = '/PWS/ZYCBT226'
and cpochv = wa_zycbe033-cpochv
and tpmsg = 'E'.
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.
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.
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.
if sy-subrc <> 0.
exit.
endif.
endif.
endloop.
endform.
form local_negocio.
clear wa_t001w.
select single * from t001w into wa_t001w
where werks = <fs_op>-werks.
endform.
form get_parameters_003.
wa_zycbe033-bktxt = wa_zycbt007-bktxt.
perform verify_null_field using <fs_op>-bukrs
'BUKRS'
text-004.
wa_zycbe033-bukrs = <fs_op>-bukrs.
perform verify_null_field using <fs_op>-waers
'WAERS'
text-005.
wa_zycbe033-waers = <fs_op>-waers.
perform verify_null_field using wa_zycbt011-blart
'BLART'
text-006.
wa_zycbe033-blart = wa_zycbt011-blart.
endform.
form verifica_taxa_original.
clear v_year.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = <fs_op>-bukrs
v_date = <fs_op>-dtlancto
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.
if /pws/zycet037-comis_provisao is initial or
/pws/zycet037-comis_provisao eq 0.
select single * from bkpf
where bukrs eq <fs_op>-bukrs
and belnr eq itab_zycet010-belnr
and gjahr eq v_year.
else.
select single * from bkpf
where bukrs eq <fs_op>-bukrs
and belnr eq itab_zycet013-belnr
and gjahr eq v_year.
endif.
v_taxa = bkpf-kursf.
endform.
form executa_clearing_cliente.
perform clear_date_batch.
wa_zycbe033-tcode = 'F-30'.
wa_zycbe033-tabela = '/PWS/ZYCBT226'.
wa_zycbe033-cpochv = v_cpochv.
v_dtpagto = <fs_op>-dtlancto.
perform verify_null_field using v_dtpagto
'DTPAGTO'
text-003.
wa_zycbe033-budat = v_dtpagto.
perform verify_null_field using wa_zycbt011-blart
'BLART'
text-050.
wa_zycbe033-blart = wa_zycbt011-blart.
perform verifica_data.
perform define_cambio using v_databl
<fs_op>-waers
wa_zycbt007-waersb
wa_zycbe033-kursf.
perform verify_null_field using wa_zycbe033-kursf
'TXCAMB'
text-051.
if wa_zycbt007-fdtdoc = 'D'.
wa_zycbe033-bldat = sy-datum.
wa_zycbe033-d_valut = sy-datum.
else.
wa_zycbe033-bldat = wa_zycbe033-budat.
wa_zycbe033-d_valut = wa_zycbe033-budat.
endif.
loop at itab_zyglt321_cg into wa_zyglt321_cg.
case wa_zyglt321_cg-cpor3.
when 'SGTXT'.
case wa_zyglt321_cg-cpocb .
when 'NRINVOIC'.
wa_zycbe033-d_sgtxt = itab_zycbt017_cg-nrinvoic.
wa_zycbe033-c_sgtxt = itab_zycbt017_cg-nrinvoic.
wa_zycbe033-augtx = itab_zycbt017_cg-nrinvoic.
when 'NREMB'.
wa_zycbe033-d_sgtxt = itab_zycbt017_cg-nremb.
wa_zycbe033-c_sgtxt = itab_zycbt017_cg-nremb.
wa_zycbe033-augtx = itab_zycbt017_cg-nremb.
when 'NRSEQ'.
wa_zycbe033-d_sgtxt = <fs_op>-nrseq.
wa_zycbe033-c_sgtxt = <fs_op>-nrseq.
wa_zycbe033-augtx = <fs_op>-nrseq.
when 'REF_OP'.
wa_zycbe033-d_sgtxt = <fs_op>-ref_op.
wa_zycbe033-c_sgtxt = <fs_op>-ref_op.
wa_zycbe033-augtx = <fs_op>-ref_op.
endcase.
when 'XBLNR'.
clear: v_ms.
case wa_zyglt321_cg-cpocb .
when 'NRINVOIC'.
wa_zycbe033-xblnr = itab_zycbt017_cg-nrinvoic.
when 'NREMB'.
wa_zycbe033-xblnr = itab_zycbt017_cg-nremb.
when 'NRSEQ'.
wa_zycbe033-xblnr = <fs_op>-nrseq.
when'REF_OP'.
wa_zycbe033-xblnr = <fs_op>-ref_op.
when 'NRINVOIC+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate itab_zycbt017_cg-nrinvoic v_ms
into wa_zycbe033-xblnr separated by space.
when 'NREMB+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate itab_zycbt017_cg-nremb v_ms
into wa_zycbe033-xblnr separated by space.
when 'NRSEQ+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate <fs_op>-nrseq v_ms
into wa_zycbe033-xblnr separated by space.
when'REF_OP+MS'.
concatenate sy-uzeit+2(2) ':' sy-uzeit+4(2) into v_ms.
concatenate <fs_op>-ref_op v_ms
into wa_zycbe033-xblnr separated by space.
endcase.
when 'ZFBDT'.
case wa_zyglt321_cg-cpocb.
when 'DTBL'.
wa_zycbe033-zfbdt = itab_zycbt017_cg-dtbl.
when 'DTINVOIC'.
wa_zycbe033-zfbdt = itab_zycbt017_cg-dtinvoic.
when 'DTVENCTO'.
wa_zycbe033-zfbdt = itab_zycbt017_cg-dtvencto.
when 'DTLANC'.
wa_zycbe033-zfbdt = <fs_op>-dtlancto.
when 'DTINCL'.
wa_zycbe033-zfbdt = <fs_op>-dtincl.
when 'DTLANC1'.
wa_zycbe033-zfbdt = itab_selreg-dtlanc.
when 'DTVENCTO1'.
wa_zycbe033-zfbdt = itab_selreg-dtvencto.
endcase.
when 'VALUT'.
case wa_zyglt321_cg-cpocb.
when 'DTBL'.
wa_zycbe033-d_valut = itab_zycbt017_cg-dtbl.
wa_zycbe033-c_valut = itab_zycbt017_cg-dtbl.
when 'DTINVOIC'.
wa_zycbe033-d_valut = itab_zycbt017_cg-dtinvoic.
wa_zycbe033-c_valut = itab_zycbt017_cg-dtinvoic.
when 'DTVENCTO'.
wa_zycbe033-d_valut = itab_zycbt017_cg-dtvencto.
wa_zycbe033-c_valut = itab_zycbt017_cg-dtvencto.
when 'DTLANC'.
wa_zycbe033-d_valut = <fs_op>-dtlancto.
wa_zycbe033-c_valut = <fs_op>-dtlancto.
when 'DTLINCL'.
wa_zycbe033-d_valut = <fs_op>-dtincl.
wa_zycbe033-c_valut = <fs_op>-dtincl.
when 'DTLANC1'.
wa_zycbe033-d_valut = itab_selreg-dtlanc.
wa_zycbe033-c_valut = itab_selreg-dtlanc.
when 'DTVENCTO1'.
wa_zycbe033-d_valut = itab_selreg-dtvencto.
wa_zycbe033-c_valut = itab_selreg-dtvencto.
endcase.
when 'ZUONR'.
case wa_zyglt321_cg-cpocb.
when 'NRINVOIC'.
wa_zycbe033-d_zuonr = itab_zycbt017_cg-nrinvoic.
when 'NREMB'.
wa_zycbe033-d_zuonr = itab_zycbt017_cg-nremb.
when 'NRSEQ'.
wa_zycbe033-d_zuonr = <fs_op>-nrseq.
when'REF_OP'.
wa_zycbe033-d_zuonr = <fs_op>-ref_op.
endcase.
when 'ZTERM'.
if wa_zyglt321_cg-cpocb = 'ZTERM'.
wa_zycbe033-zterm = itab_zycbt017_cg-zterm.
endif.
endcase.
endloop.
perform verify_null_field using <fs_op>-bukrs
'BUKRS'
text-048.
wa_zycbe033-bukrs = <fs_op>-bukrs.
perform verify_null_field using itab_zycbt017_cg-waers
'WAERS'
text-049.
wa_zycbe033-waers = itab_zycbt017_cg-waers.
wa_zycbe033-augtx = wa_zycbt011-txtdesc.
wa_zycbe033-d_sgtxt = wa_zycbe033-augtx.
wa_zycbe033-bktxt = wa_zycbt007-bktxt.
wa_zycbe033-c_gsber = <fs_op>-gsberf.
wa_zycbe033-d_gsber = <fs_op>-gsberf.
wa_zycbe033-agkon = itab_zycbt017_cg-kunag.
wa_zycbe033-agkoa = 'D'.
perform verifica_pais_filial using <fs_op>-bukrs
<fs_op>-j_1bbranch.
wa_zycbe033-brnch = <fs_op>-j_1bbranch.
append wa_zycbe033 to itab_zycbe033.
wa_zycbt036-tcode = 'F-30'.
wa_zycbt036-tabela = '/PWS/ZYCBT226'.
wa_zycbt036-cpochv = v_cpochv.
wa_zycbt036-belnr = itab_aux-belnr6.
clear v_year.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = itab_zycbt006-bukrs
v_date = itab_aux-budat
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.
select single * from bkpf
where bukrs = <fs_op>-bukrs
and belnr = wa_zycbt036-belnr
and gjahr = v_year.
wa_zycbt036-dtdocto = bkpf-budat.
append wa_zycbt036 to itab_zycbt036 .
v_belnr6 = itab_aux-belnr6.
read table itab_zycbt032a with key
cpochv = v_cpochv.
wa_zycbt036-tcode = 'F-30'.
wa_zycbt036-tabela = '/PWS/ZYCBT226'.
wa_zycbt036-cpochv = v_cpochv.
wa_zycbt036-belnr = itab_zycbt032a-belnr.
clear v_year.
call function '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
exporting
v_bukrs = itab_zycbt006-bukrs
v_date = itab_zycbt032a-budat
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.
select single * from bkpf
where bukrs = itab_zycbt006-bukrs
and belnr = wa_zycbt036-belnr
and gjahr = v_year.
wa_zycbt036-dtdocto = bkpf-budat.
append wa_zycbt036 to itab_zycbt036 .
if itab_zycbt034 is initial.
call function '/PWS/ZYCB_TRANSACAO_F_30'
exporting
v_modo = v_modo_bi
tables
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
t_zycbt036 = itab_zycbt036
exceptions
campo_em_branco = 1
periodo_fechado = 2
others = 3.
if sy-subrc = 0.
read table itab_zycbt032 with key tcode = 'F-30'
tabela = '/PWS/ZYCBT226'
cpochv = v_cpochv
tpmsg = 'S'
into wa_zycbt032.
if sy-subrc = 0.
wa_zycbt030-belnr6 = wa_zycbt032-belnr.
wa_zycbt030-budat = wa_zycbe033-budat.
modify itab_zycbt030 from wa_zycbt030
transporting belnr6 budat
where nrinvoic = itab_aux-nrinvoic and
nrparcf = itab_aux-nrparcf and
vbeln = itab_aux-vbeln and
gsberf = itab_aux-gsberf.
modify itab_zycbt030 from wa_zycbt030
transporting belnr6 budat
where belnr6 = v_belnr6.
modify /pws/zycbt030 from table itab_zycbt030.
commit work.
itab_aux-belnr6 = wa_zycbt032-belnr.
itab_aux-budat = wa_zycbe033-budat.
modify itab_aux transporting belnr6
where belnr6 = v_belnr6.
itab_contabil-nrinvoic = itab_aux-nrinvoic.
itab_contabil-nrparcf = itab_aux-nrparcf.
itab_contabil-vbeln = itab_aux-vbeln.
itab_contabil-gsberf = itab_aux-gsberf.
itab_contabil-docto = wa_zycbt032-belnr.
itab_contabil-dtdocto = wa_zycbe033-budat.
itab_contabil-bukrs = itab_zycbt006-bukrs.
itab_contabil-msg = text-111.
append itab_contabil.
itab_zycbt077-belnr = wa_zycbt032-belnr.
itab_zycbt077-bukrs = wa_zycbe033-bukrs.
itab_zycbt077-gjahr = wa_zycbe033-budat(4).
itab_zycbt077-status = 'E'.
itab_zycbt077-tcode = wa_zycbt032-tcode.
concatenate '004' itab_selreg-codp into
itab_zycbt077-codeven.
itab_zycbt077-codmod = 'E'.
itab_zycbt077-gsberf = itab_zycbt006-gsberf.
itab_zycbt077-nrinvoic = itab_aux-nrinvoic.
itab_zycbt077-nrparcf = itab_aux-nrparcf.
itab_zycbt077-vbeln = itab_aux-vbeln.
itab_zycbt077-gsberf = itab_aux-gsberf.
itab_zycbt077-dtpagto = v_dtpagto.
perform message_store
using '/PWS/ZYCBM'
'I'
'DOC. CLEARING DE CLIENTE.'(067)
'-'
<fs_op>-nrinvoic
space
'061'.
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.
else.
loop at itab_zycbt032 into wa_zycbt032
where tcode = 'F-30'
and tabela = '/PWS/ZYCBT226'
and cpochv = wa_zycbe033-cpochv
and tpmsg = 'E'.
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.
endif.
else.
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.
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.
if sy-subrc <> 0.
exit.
endif.
endif.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB034TOP
...
TABLES:
/pws/zycbe226,
/pws/zycbe238,
/pws/zycbe239,
/pws/zycbe240,
/pws/zycbe242,
/pws/zycbe017,
/pws/zycbe017a,
/pws/zycbt030,
skb1,
* >> Início da inclusão:
bsid,
bkpf,
j_1bbranch,
adrc,
/pws/zycet002,
/pws/zycet020,
/pws/zycet037,
* << Fim da inclusão
/pws/zycbt089.
CONTROLS:
ts_70 TYPE TABSTRIP,
ts_principal TYPE TABSTRIP,
tc_op TYPE TABLEVIEW USING SCREEN '0110',
tc_30 TYPE TABLEVIEW USING SCREEN '0120',
tc_70 TYPE TABLEVIEW USING SCREEN '0131',
tc_contrato TYPE TABLEVIEW USING SCREEN '0132',
tc_00 TYPE TABLEVIEW USING SCREEN '0150',
tc_rendimentos TYPE TABLEVIEW USING SCREEN '0140',
...
...
itab_contrato_ant TYPE t_t_contrato,
itab_doctos TYPE t_t_doctos,
itab_rendimentos_ant TYPE t_t_rendimentos,
itab_contabilizacoes TYPE t_t_contabilizacoes.
DATA: BEGIN OF itab_zycbt005 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt005.
DATA: END OF itab_zycbt005.
DATA: BEGIN OF itab_zycbt006 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt006.
DATA: END OF itab_zycbt006.
* >> Início da inclusão:
DATA: BEGIN OF itab_selreg OCCURS 100,
nrchave(10) TYPE c,
docto(10) TYPE c,
DTLANC LIKE /PWS/ZYCET010,
dtvencto LIKE /pws/zycbt004-dtvencto,
vlme LIKE /pws/zycbt004-vlme,
dtinicio LIKE /pws/zycbt113-dtinicio,
lifnr LIKE /pws/zycbt119-lifnr,
codp LIKE /pws/zycbt037-codpad,
END OF itab_selreg,
BEGIN OF itab_aux OCCURS 10,
nrinvoic LIKE /pws/zycbt030-nrinvoic,
nrparcf LIKE /pws/zycbt030-nrparcf,
vbeln LIKE /pws/zycbt030-vbeln,
gsberf LIKE /pws/zycbt030-gsberf,
valor LIKE /pws/zycbt030-kwert,
belnr6 LIKE /pws/zycbt030-belnr,
budat LIKE /pws/zycbt030-budat,
flag(1) TYPE c,
END OF itab_aux.
DATA: itab_zycbt012 LIKE /pws/zycbt012 OCCURS 10 WITH HEADER LINE.
DATA: BEGIN OF itab_zycet010 OCCURS 1.
INCLUDE STRUCTURE /pws/zycet010.
DATA: END OF itab_zycet010.
DATA: BEGIN OF itab_zycet013 OCCURS 1.
INCLUDE STRUCTURE /pws/zycet013.
DATA: END OF itab_zycet013.
DATA: BEGIN OF itab_zycbt017_cg OCCURS 1.
INCLUDE STRUCTURE /pws/zycBt017.
DATA: END OF itab_zycbt017_CG.
DATA: BEGIN OF itab_zycbt037_cg OCCURS 1.
INCLUDE STRUCTURE /pws/zycBt037.
DATA: END OF itab_zycbt037_CG.
DATA: BEGIN OF itab_erro OCCURS 0,
vbeln LIKE /pws/zycbt030-vbeln,
msg LIKE /pws/zycbt032-msg,
END OF itab_erro.
DATA: BEGIN OF itab_zycbt032a OCCURS 10.
INCLUDE STRUCTURE /pws/zycbt032.
DATA budat LIKE /pws/zycbe033-budat.
DATA: END OF itab_zycbt032a.
DATA: BEGIN OF itab_zycbt012a OCCURS 2.
INCLUDE STRUCTURE /pws/zycbt012.
DATA: END OF itab_zycbt012a.
DATA: v_valorc LIKE /pws/zycbt017-vlcomis,
v_vlcomis LIKE /pws/zycbt017-vlcomis,
v_saliq LIKE /pws/zycbt006-vlme,
v_some LIKE /pws/zycbt006-vlme,
v_year LIKE bkpf-gjahr,
v_dtpagto LIKE /pws/zycbe006-dtpagto,
v_cpochv LIKE /pws/zycbe033-cpochv,
v_gjahr LIKE bsid-gjahr,
v_belnr6 LIKE /pws/zycbt030-belnr6,
v_taxa LIKE bkpf-kursf,
v_dtemb LIKE /pws/zycet001-dtemb,
v_ms(5) TYPE c,
v_trans(4),
v_databl LIKE /pws/zycbe005-dtvincul,
v_vinculacao TYPE c.
DATA: BEGIN OF itab_doc_f02 OCCURS 0,
docto LIKE /pws/zycbt005-belnr,
f02(1) TYPE c,
END OF itab_doc_f02.
DATA: BEGIN OF itab_contabil OCCURS 0,
nrinvoic LIKE /pws/zycbt030-nrinvoic,
nrparcf LIKE /pws/zycbt030-nrparcf,
vbeln LIKE /pws/zycbt030-vbeln,
gsberf LIKE /pws/zycbt030-gsberf,
docto LIKE /pws/zycbt030-belnr,
msg LIKE /pws/zycbt032-msg,
dtdocto LIKE /pws/zycbt030-budat,
bukrs LIKE /pws/zycbe033-bukrs,
END OF itab_contabil.
DATA: BEGIN OF itab_zycbt077 OCCURS 1.
INCLUDE STRUCTURE /pws/zycbt077.
DATA: END OF itab_zycbt077.
DATA: wa_zycbt011 LIKE /pws/zycbt011,
wa_zycbt009 LIKE /pws/zycbt009,
wa_zycbt034 TYPE t_s_zycbt034,
wa_zycbe033 TYPE t_s_zycbe033,
wa_zycbt036 TYPE t_s_zycbt036,
wa_zycbt032 TYPE t_s_zycbt032,
wa_t001w LIKE t001w,
itab_zycbt013 LIKE /pws/zycbt013 OCCURS 10 WITH HEADER LINE,
itab_zyglt321_cg TYPE STANDARD TABLE OF /pws/zyglt321,
wa_zyglt321_cg LIKE LINE OF itab_zyglt321.
DATA: BEGIN OF itab_zycbt006_pagos OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt006.
DATA: END OF itab_zycbt006_pagos.
DATA: BEGIN OF itab_zycbt030_CG OCCURS 10.
INCLUDE STRUCTURE /pws/zycbt030.
DATA:
bukrs TYPE bkpf-bukrs,
gjahr TYPE bkpf-gjahr,
zterm LIKE /pws/zycbt017-zterm,
v_belnr LIKE /pws/zycbt030-belnr,
s_kwert LIKE /pws/zycbt030-kwert,
v_kwert LIKE /pws/zycbt030-kwert,
v_kwert2 LIKE /pws/zycbt030-kwert,
belnr7 LIKE /pws/zycbt030-belnr,
flag(1) TYPE c,
belnr_d LIKE /pws/zycbt030-belnr,
status_d(1),
v_duplica(1) TYPE c,
END OF itab_zycbt030_CG.
* << Fim da inclusão
DATA: wa_zycbt007 TYPE t_s_zycbt007,
wa_zyglt009 TYPE t_s_zyglt009,
wa_zycbt089 TYPE t_s_zycbt089,
wa_controle TYPE t_controle,
wa_fat TYPE t_s_zycbt017,
wa_zycbt030 TYPE t_s_zycbt030,
wa_zycbt209 TYPE t_s_zycbt209.
FIELD-SYMBOLS: <fs_op> TYPE t_s_zycbe226.
DATA:
v_text_sld_exterior(24) TYPE c,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCB034
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 061
Texto: (39 caracteres)
"Data de captação não pode ser maior que"
Comprimento máximo: 39
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 062
Texto: (15 caracteres)
"Comissão Agente"
Comprimento máximo: 15
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 063
Texto: (22 caracteres)
"Comissão não Liquidada"
Comprimento máximo: 22
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 064
Texto: (24 caracteres)
"DOC. COMISSÃO DE AGENTE."
Comprimento máximo: 24
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 065
Texto: (24 caracteres)
"DOC. CLEARING DE AGENTE."
Comprimento máximo: 24
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 066
Texto: (31 caracteres)
"DOC.ESTORNO COMISSÃO DE AGENTE."
Comprimento máximo: 31
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 067
Texto: (25 caracteres)
"DOC. CLEARING DE CLIENTE."
Comprimento máximo: 25
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 100
Texto: (51 caracteres)
"Comissão não Liquidada (Provisão não Contabilizada)"
Comprimento máximo: 51