Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Relatórios
Data/Hora da Publicação: 08/02/2008 00:00:00
Data/Hora Última Alteração: 18/02/2011 15:49:02
Descrição da Nota: RELATÓRIO DE CONTRATOS - NOVAS COLUNAS VALOR/PERCENTUAL COMISSÃO
Sintoma
O usuário precisa das colunas de valor e percentual da comissão no relatório.
Solução
As colunas foram adicionadas no relatório.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05877 Data: 08/02/2008 Hora: 14:53:20
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05877
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00004
Agrupamento : 00033
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04495 - 00001 - 7.0 - 00002 - RELATÓRIO DE CONTRATOS - AJUSTES PERFORMANCE
04558 - 00002 - 7.0 - 00002 - EXPORTAÇÃO RELATÓRIO DE CONTRATOS
04857 - 00003 - 7.0 - 00003 - RELATÓRIO DE CONTRATOS
----------------------------------------------------------------------------------------------------
RELATÓRIO DE CONTRATOS - NOVAS COLUNAS VALOR/PERCENTUAL COMISSÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
RELATÓRIO DE CONTRATOS - NOVAS COLUNAS VALOR/PERCENTUAL COMISSÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCBR010
REPT /PWS/ZYCBR010
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR010
...
bcofinan LIKE /pws/zycbt001-bcofinan,
txtfinan LIKE lfa1-name1,
tpparc LIKE /pws/zycbt002-tpparc,
dtinicio LIKE /pws/zycbt002-dtinicio,
dtvencto LIKE /pws/zycbt002-dtfinal,
txjfixa LIKE /pws/zycbt002-txjfixa,
vlpagar LIKE /pws/zycbt002-vlme,
vlvinc LIKE /pws/zycbt005-vlvinc,
vlcanc LIKE /pws/zycbt001-vlcanc,
txjvar LIKE /pws/zycbt002-txjvar,
* >> Início da inclusão:
perc_comis LIKE /pws/zycbt074-perc_comis,
* << Fim da inclusão
slvinc_jur LIKE /pws/zycbt002-slvinc,
vlusd LIKE /pws/zycbt002-vlme,
* >> Início da inclusão:
vl_comis LIKE /pws/zycbt002-vlme,
* << Fim da inclusão
slvinc LIKE /pws/zycbt001-slvinc,
slpagar LIKE /pws/zycbt001-slpagar,
slpagbr LIKE /pws/zycbt001-slpagar,
dtpagto LIKE /pws/zycbt004-dtpagto,
prazo(2) TYPE c,
...
...
slpagar LIKE /pws/zycbt001-vlme,
slpagbr(16) TYPE p DECIMALS 2,
bconegoc LIKE lfa1-name1,
bcofinan LIKE lfa1-name1,
dtentr LIKE /pws/zycbt001-dtentr,
tpparc LIKE /pws/zycbt002-tpparc,
dtinicio LIKE /pws/zycbt002-dtinicio,
dtvencto LIKE /pws/zycbt002-dtfinal,
txjfixa LIKE /pws/zycbt002-txjfixa,
txjvar LIKE /pws/zycbt002-txjvar,
* >> Início da inclusão:
perc_comist(14) TYPE c,
* << Fim da inclusão
slvinc_jur LIKE /pws/zycbt002-slvinc,
vlpagar LIKE /pws/zycbt001-vlme,
vlusd LIKE /pws/zycbt001-vlme,
* >> Início da inclusão:
vl_comis LIKE /pws/zycbt002-vlme,
* << Fim da inclusão
dtpagto LIKE /pws/zycbt004-dtpagto,
prazo(2) TYPE c,
waersa LIKE /pws/zycbt007-waersa,
txtdesc LIKE /pws/zycbt016-txtdesc,
...
...
dtdesem LIKE /pws/zycbt001-dtdesem,
dtentr LIKE /pws/zycbt001-dtentr,
dtliquid LIKE /pws/zycbt001-dtliquid,
waers LIKE /pws/zycbt001-waers,
vlme LIKE /pws/zycbt001-vlme,
vlcanc LIKE /pws/zycbt001-vlcanc,
slvinc LIKE /pws/zycbt001-slvinc,
slpagar LIKE /pws/zycbt001-slpagar,
slpagbr LIKE /pws/zycbt001-slpagar,
END OF itab_zycbt001,
* >> Início da inclusão:
BEGIN OF itab_zycbt074 OCCURS 0,
nrseqc LIKE /pws/zycbt074-nrseqc,
perc_comis LIKE /pws/zycbt074-perc_comis,
perc_comis_flat LIKE /pws/zycbt074-perc_comis_flat,
fpagto_comis LIKE /pws/zycbt074-fpagto_comis,
END OF itab_zycbt074,
* << Fim da inclusão
BEGIN OF itab_zycbt002 OCCURS 10,
nrseqc LIKE /pws/zycbt002-nrseqc,
nrparc LIKE /pws/zycbt002-nrparc,
tpparc LIKE /pws/zycbt002-tpparc,
dtinicio LIKE /pws/zycbt002-dtinicio,
dtfinal LIKE /pws/zycbt002-dtfinal,
txjfixa LIKE /pws/zycbt002-txjfixa,
txjvar LIKE /pws/zycbt002-txjvar,
vlme LIKE /pws/zycbt002-vlme,
slvinc LIKE /pws/zycbt002-slvinc,
dtpror LIKE /pws/zycbt002-dtpror,
* >> Início da inclusão:
flat LIKE /pws/zycbt002-flat,
dtpagto LIKE /pws/zycbt002-dtpagto,
* << Fim da inclusão
END OF itab_zycbt002,
BEGIN OF itab_zycbt004 OCCURS 10,
nrseqc LIKE /pws/zycbt004-nrseqc,
tpdesp LIKE /pws/zycbt004-tpdesp,
nrparc LIKE /pws/zycbt004-nrparc,
dtincl LIKE /pws/zycbt004-dtincl,
waers LIKE /pws/zycbt004-waers,
vlme LIKE /pws/zycbt004-vlme,
dtpagto LIKE /pws/zycbt004-dtpagto,
END OF itab_zycbt004,
...
...
AND tpcontr IN tpcontr
AND bukrs IN bukrs
AND dtcontr IN dtcontr
AND bcofinan IN bcofinan
AND bconegoc IN bconegoc
AND dtcred IN dtcred
AND dtdesem IN dtdesem
AND dtentr IN dtentr.
SORT itab_zycbt001 BY nrseqc.
IF NOT itab_zycbt001[] IS INITIAL.
* >> Início da inclusão: FORM PROCESSAR_DADOS
SELECT nrseqc perc_comis perc_comis_flat fpagto_comis
FROM /pws/zycbt074
INTO TABLE itab_zycbt074
FOR ALL ENTRIES IN itab_zycbt001
WHERE nrseqc = itab_zycbt001-nrseqc.
* << Fim da inclusão
SELECT *
FROM /pws/zycbt003
INTO TABLE itab_zycbt003
FOR ALL ENTRIES IN itab_zycbt001
WHERE nrseqc = itab_zycbt001-nrseqc AND
tppror = 'E'.
SORT itab_zycbt003 BY nrseqc tppror dtpror.
IF s_posic IS INITIAL.
s_posic = sy-datum.
ENDIF.
...
...
SELECT tpcontr txtdesc
FROM /pws/zycbt016
INTO TABLE itab_zycbt016
FOR ALL ENTRIES IN itab_zycbt001
WHERE tpcontr = itab_zycbt001-tpcontr.
SORT itab_zycbt016 BY tpcontr.
SELECT nrseqc nrparc tpparc
dtinicio dtfinal txjfixa
txjvar vlme slvinc
dtpror
* >> Início da inclusão: FORM PROCESSAR_DADOS
flat dtpagto
* << Fim da inclusão
FROM /pws/zycbt002
INTO TABLE itab_zycbt002
FOR ALL ENTRIES IN itab_zycbt001
WHERE nrseqc EQ itab_zycbt001-nrseqc.
SORT itab_zycbt002 BY nrseqc nrparc tpparc.
SELECT nrseqc tpdesp nrparc
dtincl waers vlme dtpagto
FROM /pws/zycbt004
INTO TABLE itab_zycbt004
FOR ALL ENTRIES IN itab_zycbt001
...
...
itab_zycbt001-dtcontr TO itab_relat-dtcontr,
itab_zycbt001-dtentr TO itab_relat-dtentr,
itab_zycbt001-waers TO itab_relat-waers,
itab_zycbt001-vlme TO itab_relat-vlme,
itab_zycbt001-vlcanc TO itab_relat-vlcanc,
itab_zycbt001-slvinc TO itab_relat-slvinc,
itab_zycbt001-slpagar TO itab_relat-slpagar,
itab_zycbt001-slpagbr TO itab_relat-slpagbr.
LOOP AT itab_zycbt002
WHERE nrseqc EQ itab_zycbt001-nrseqc.
* >> Início da inclusão: FORM PROCESSAR_DADOS
IF itab_zycbt002-tpparc = 'C'.
MOVE itab_zycbt002-vlme TO itab_relat-vl_comis.
READ TABLE itab_zycbt074 WITH KEY
nrseqc = itab_zycbt001-nrseqc.
IF sy-subrc EQ 0.
IF itab_zycbt002-flat EQ 'X'.
MOVE itab_zycbt074-perc_comis_flat
TO itab_relat-perc_comis.
ELSE.
IF itab_zycbt074-fpagto_comis EQ 'P'.
MOVE itab_zycbt074-perc_comis TO itab_relat-perc_comis.
ENDIF.
ENDIF.
ENDIF.
ELSE.
CLEAR: itab_relat-vl_comis,
itab_relat-perc_comis.
ENDIF.
* << Fim da inclusão
CLEAR v_usd.
IF itab_zycbt001-tpcontr(1) EQ 'P' OR
itab_zycbt001-tpcontr(1) EQ 'S'.
CLEAR: itab_relat-dtpagto, itab_relat-vlpagar.
IF itab_zycbt002-tpparc = 'J'.
itab_relat-vlpagar = itab_zycbt002-vlme.
CLEAR itab_zycbt004.
LOOP AT itab_zycbt004 WHERE nrseqc = itab_zycbt002-nrseqc
AND nrparc = itab_zycbt002-nrparc
AND dtpagto NE '00000000'
AND dtpagto NE ' '
AND dtpagto NE space.
itab_relat-dtpagto = itab_zycbt004-dtpagto.
ENDLOOP.
* >> Início da inclusão: FORM PROCESSAR_DADOS
ELSEIF itab_zycbt002-tpparc = 'C'.
MOVE itab_zycbt002-dtpagto TO itab_relat-dtpagto.
* << Fim da inclusão
ENDIF.
CLEAR: v_usd, v_taxacambial.
IF itab_zycbt001-waers EQ /pws/zycbt007-waersa.
v_usd = itab_relat-vlpagar.
ELSE.
PERFORM converter_moeda USING itab_relat-vlpagar
itab_zycbt001-waers
/pws/zycbt007-waersa
'M'
sy-datum
...
...
DELETE itab_zycbt003 WHERE nrseqc = itab_zycbt001-nrseqc.
DELETE itab_zycbt004 WHERE nrseqc = itab_zycbt001-nrseqc.
DELETE itab_zycbt005 WHERE nrseqc = itab_zycbt001-nrseqc.
DELETE itab_zycbt006 WHERE nrseqc = itab_zycbt001-nrseqc.
DELETE itab_zycbt050 WHERE nrseqc = itab_zycbt001-nrseqc.
DELETE itab_zycbt051 WHERE nrseqc = itab_zycbt001-nrseqc.
ENDLOOP.
ENDIF.
ENDFORM.
FORM converter_moeda USING p_devlme p_dewaers p_parawaers p_ctmoeda
* >> Início da exclusão: FORM CONVERTER_MOEDA
p_dtbase CHANGING p_paravlme p_taxa."#EC *
* << Fim da exclusão
* >> Início da inclusão: FORM CONVERTER_MOEDA
p_dtbase CHANGING p_paravlme p_taxa. "#EC *
* << Fim da inclusão
DATA:
v_type TYPE tcurr-kurst.
CHECK NOT p_devlme IS INITIAL.
SELECT SINGLE * FROM /pws/zycbt009
WHERE codpadr EQ p_ctmoeda.
v_type = /pws/zycbt009-kurst.
CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'
EXPORTING
i_montante = p_devlme
i_demoeda = p_dewaers
...
...
e_montante = p_paravlme
e_txc = p_taxa
EXCEPTIONS
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
fator_nao_encontrado = 3
i_ctmoeda_nao_encontrado = 4
i_dtbase_nao_encontrada = 5
taxa_nao_encontrada = 6
i_montante_nao_encontrado = 7
* >> Início da exclusão: FORM CONVERTER_MOEDA
tabela_categ_nao_configurada = 8."#EC *
* << Fim da exclusão
* >> Início da inclusão: FORM CONVERTER_MOEDA
tabela_categ_nao_configurada = 8. "#EC *
* << Fim da inclusão
CASE sy-subrc.
WHEN 1.
WHEN 2.
WHEN OTHERS.
ENDCASE.
ENDFORM.
FORM verifica_parametros.
IF NOT tpcontr IS INITIAL.
IF nrseqc IS INITIAL AND
nrcontr IS INITIAL AND
...
...
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'TXJVAR'.
afield-ref_fieldname = 'TXJVAR'.
afield-ref_tabname = '/PWS/ZYCBT002'.
afield-key = space.
afield-seltext_s = text-047.
afield-seltext_m = text-047.
afield-seltext_l = text-047.
afield-reptext_ddic = text-047.
* >> Início da inclusão: FORM F_FIELDCAT_FILL
afield-sp_group = 'A'.
APPEND afield TO i_fieldcat.
i = i + 5.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'PERC_COMIST'.
afield-key = space.
afield-seltext_s = text-088.
afield-seltext_m = text-088.
afield-seltext_l = text-088.
afield-reptext_ddic = text-088.
* << Fim da inclusão
afield-sp_group = 'A'.
APPEND afield TO i_fieldcat.
i = i + 5.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'SLVINC_JUR'.
afield-ref_fieldname = 'SLVINC'.
afield-ref_tabname = '/PWS/ZYCBT002'.
afield-cfieldname = 'WAERS'.
afield-key = space.
...
...
afield-fieldname = 'VLUSD'.
afield-ref_fieldname = 'VLME'.
afield-ref_tabname = '/PWS/ZYCBT001'.
afield-cfieldname = 'WAERSA'.
afield-key = space.
afield-seltext_s = text-082.
afield-seltext_m = text-082.
afield-seltext_l = text-082.
afield-no_zero = 'X'.
afield-reptext_ddic = text-049.
* >> Início da inclusão: FORM F_FIELDCAT_FILL
afield-sp_group = 'A'.
APPEND afield TO i_fieldcat.
i = i + 5.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'VL_COMIS'.
afield-ref_fieldname = 'VLME'.
afield-ref_tabname = '/PWS/ZYCBT002'.
afield-cfieldname = 'WAERS'.
afield-key = space.
afield-no_zero = 'X'.
afield-seltext_s = text-089.
afield-seltext_m = text-089.
afield-seltext_l = text-089.
afield-reptext_ddic = text-089.
* << Fim da inclusão
afield-sp_group = 'A'.
APPEND afield TO i_fieldcat.
i = i + 5.
CLEAR afield.
afield-col_pos = i.
afield-fieldname = 'DTPAGTO'.
afield-ref_fieldname = 'DTPAGTO'.
afield-ref_tabname = '/PWS/ZYCBT004'.
afield-key = space.
afield-seltext_s = text-050.
...
...
itab_relat-dtentr TO i_result-dtentr,
itab_relat-tpparc TO i_result-tpparc,
itab_relat-dtinicio TO i_result-dtinicio,
itab_relat-txjfixa TO i_result-txjfixa,
itab_relat-dtvencto TO i_result-dtvencto,
itab_relat-txjfixa TO i_result-txjfixa,
itab_relat-txjvar TO i_result-txjvar,
itab_relat-vlusd TO i_result-vlusd,
itab_relat-dtpagto TO i_result-dtpagto,
itab_relat-prazo TO i_result-prazo.
* >> Início da inclusão: FORM F_MONTA_FINAL
IF itab_relat-tpparc(1) EQ 'C'.
MOVE itab_relat-vl_comis TO i_result-vl_comis.
WRITE itab_relat-perc_comis TO i_result-perc_comist DECIMALS 10.
SHIFT i_result-perc_comist RIGHT DELETING TRAILING space.
SHIFT i_result-perc_comist RIGHT DELETING TRAILING '0'.
SHIFT i_result-perc_comist RIGHT DELETING TRAILING ','.
SHIFT i_result-perc_comist RIGHT DELETING TRAILING '.'.
SHIFT i_result-perc_comist LEFT DELETING LEADING space.
CONCATENATE i_result-perc_comist '%' INTO i_result-perc_comist.
ENDIF.
* << Fim da inclusão
IF itab_relat-tpparc(1) EQ 'P' .
MOVE: itab_relat-slvinc_jur TO i_result-slvinc_jur.
ELSEIF itab_relat-tpparc EQ 'J'.
MOVE: itab_relat-vlpagar TO i_result-vlpagar.
ENDIF.
MOVE:
itab_relat-txtnegoc TO i_result-bconegoc,
itab_relat-txtfinan TO i_result-bcofinan.
MOVE /pws/zycbt007-waersa TO i_result-waersa.
APPEND i_result.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/ZYCBR010
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 088
Texto: (19 caracteres)
"Percentual Comissão"
Comprimento máximo: 19
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 089
Texto: (14 caracteres)
"Valor Comissão"
Comprimento máximo: 14