Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Captação
Data/Hora da Publicação: 12/04/2012 15:54:22
Data/Hora Última Alteração: 12/04/2012 15:54:22
Descrição da Nota: TRATAMENTO DE PROCESSOS DE EXPORTAÇÃO EM BRL-CAPTAÇAO,VINCULAÇAO E LIQU.
Sintoma
A necessidade de uma inclusão de processos em moeda Nacional nas funcionalidades de captação,
vinculação, liquidação e rotina mensal.
Solução
Inclusão de tratamento nas funcionalidades de captação, vinculação, liquidação e rotina mensal em
criar contrato de moeda nacional(no caso de BRL), e efetuar a liquidação com fatura em moeda
nacional(no caso BRL).
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08269 Data: 02/04/2009 Hora: 14:43:52
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08269
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00009
Agrupamento : 00092
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02165 - 00001 - 6.0 - 00025 - VINCULAÇÃO ESTORNO FATURAS EXIBIR
02667 - 00002 - 6.0 - 00025 - VINCULAÇÃO - /N NA PRIMEIRA CONTABILIZAÇÃO ACC - TRATAMENTO DE TE
06100 - 00003 - 7.0 - 00004 - CB - 444521 - CODE INSPECTOR E VERIFICAÇÃO AMPLIADA
07116 - 00004 - 7.0 - 00006 - EXPORTAÇÃO CAPTAÇÃO
07830 - 00005 - 7.0 - 00008 - PAGAMENTO DE JUROS - PONTO DE EXIT PGJ006 - VERIFICAÇÃO EXIT ATIV
07965 - 00006 - 7.0 - 00008 - DA - COTAÇÃO DE MOEDAS PARA CAPTAÇÃO/FINANCIAMENTO/EMPRÉSTIMO
08164 - 00007 - 7.0 - 00008 - DA - DATA CREDITO NO EXTERIOR NA VINCULAÇÃO- PRÉ-PAGAMENTO SECURI
----------------------------------------------------------------------------------------------------
TRATAMENTO DE PROCESSOS DE EXPORTAÇÃO EM BRL-CAPTAÇAO,VINCULAÇAO E LIQU.
----------------------------------------------------------------------------------------------------
Palavras Chave:
TRATAMENTO DE PROCESSOS DE EXPORTAÇÃO EM BRL-CAPTAÇAO,VINCULAÇAO E LIQU.
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCB_TRANSACAO_F_30_A
REPS /PWS/MZYCB001F01
REPS /PWS/MZYCB001I01
REPS /PWS/MZYCB001O01
REPS /PWS/MZYCB001TOP
REPS /PWS/MZYCB004F02
REPS /PWS/MZYCB009F03
REPS /PWS/MZYCB009F04
REPS /PWS/MZYCB009F05
REPS /PWS/MZYCB009F10
REPS /PWS/MZYCB009I01
REPS /PWS/MZYCB009O01
REPT /PWS/SAPMZYCB001
REPT /PWS/SAPMZYCB009
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_A
...
PERFORM bdc_field USING: 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
IF t_dados-newbs = '50'.
PERFORM bdc_field USING:
'BSEG-SGTXT' t_dados-c_sgtxt.
ELSE.
PERFORM bdc_field USING:
'BSEG-SGTXT' t_dados-d_sgtxt.
ENDIF.
IF NOT v_dmbtr IS INITIAL.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
if t_dados-waers ne 'BRL'.
* << Fim da inclusão
PERFORM bdc_field USING:
'BSEG-DMBTR' v_dmbtr.
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
ENDIF.
* << Fim da inclusão
ENDIF.
IF NOT t_dados-d_valut IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT' chave = 'C'.
IF sy-subrc <> 0.
IF t_dados-agkoa = 'S' OR
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001F01
...
text-027.
itab_zycbe033-kursf = /pws/zycbe001-txcneg.
PERFORM verify_null_field USING wa_zycbt011-blart
'BLART'
text-020.
itab_zycbe033-blart = wa_zycbt011-blart.
PERFORM verify_null_field USING /pws/zycbe001-vlme
'VLME'
text-017.
itab_zycbe033-wrbtr = /pws/zycbe001-vlme.
* >> Início da inclusão: FORM FILL_DATE1_F02
if wa_zycbt007-waersb ne /pws/zycbe001-waers.
* << Fim da inclusão
PERFORM verify_null_field USING /pws/zycbe001-vlmi
'VLMI'
text-094.
itab_zycbe033-dmbtr = /pws/zycbe001-vlmi.
* >> Início da inclusão: FORM FILL_DATE1_F02
endif.
* << Fim da inclusão
itab_zycbe033-d_gsber = /pws/zycbe001-gsber.
itab_zycbe033-d_kostl = /pws/zycbe001-kostl.
itab_zycbe033-d_prctr = /pws/zycbe001-prctr.
...
...
AND codmod = 'E'.
IF /pws/zycbe001-fdtlanc EQ 'D'.
v_budat = /pws/zycbe001-dtdesem.
ELSEIF /pws/zycbe001-fdtlanc EQ 'O'.
v_budat = /pws/zycbe001-dtcontr.
ELSE.
v_budat = /pws/zycbe001-dtcred.
ENDIF.
SELECT SINGLE * FROM /pws/zycbt009
WHERE codpadr EQ wa_zycbt011-ctmoed.
* >> Início da inclusão: FORM SELECIONA_FATOR_TAXA
if /pws/zycbe001-waers NE wa_zycbt007-WAERSB.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYGL_CONVERTE_TAXA'
EXPORTING
moeda_de = /pws/zycbe001-waers
ctg_cambio = /pws/zycbt009-kurst
dtbase = v_budat
taxa = /pws/zycbe001-txcneg
empresa = /pws/zycbe001-bukrs
IMPORTING
taxa_conv = v_taxa
EXCEPTIONS
fator_nao_encontrado = 1.
IF sy-subrc EQ 1.
MESSAGE i015 WITH text-287 text-288.
v_sai = 'X'.
* >> Início da inclusão: FORM SELECIONA_FATOR_TAXA
endif.
else.
v_taxa = /pws/zycbe001-txcneg .
* << Fim da inclusão
ENDIF.
CLEAR /pws/zycbt009.
ENDFORM.
FORM call_zycb004.
DATA: v_flag(1).
v_flag = 'X'.
IF NOT v_nrseqc IS INITIAL.
SELECT * FROM /pws/zycbt006
WHERE nrseqc EQ v_nrseqc.
ENDSELECT.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001I01
...
WHEN 'VISU'.
CALL SCREEN '0400' STARTING AT 10 10
ENDING AT 50 15.
WHEN 'PREMIO'.
IF /pws/zycbe001-tpcontr(1) EQ 'T'.
CALL SCREEN '0202'.
ELSE.
MESSAGE i015 WITH text-065.
ENDIF.
WHEN 'ENTE'.
* >> Início da inclusão: MODULE USER_COMMAND_CB001
if /pws/zycbe001-waers is initial and
/pws/zycbe001-txcneg is initial.
message i015 with text-075.
endif.
* << Fim da inclusão
PERFORM calcula_moeda.
WHEN 'CANCELA'.
IF /pws/zycbe001-tpcontr(1) = 'A'.
IF NOT /pws/zycbe001-fcanc IS INITIAL.
MOVE 'X' TO v_altcanc.
SELECT SINGLE vlme FROM /pws/zycbt004
INTO /pws/zycbe004-vlme
WHERE nrcontr EQ /pws/zycbe001-nrcontr
AND nrseqc EQ /pws/zycbe001-nrseqc
AND tpcontr EQ /pws/zycbe001-tpcontr
...
...
WHEN 'P+'.
tc_desp-top_line = tc_desp-top_line + 9.
IF tc_desp-top_line > 10.
tc_desp-top_line = 10 - 9.
ENDIF.
ENDCASE.
ENDMODULE.
MODULE check_waers INPUT.
CASE sy-dynnr.
WHEN '0100'.
* >> Início da exclusão: MODULE CHECK_WAERS
CHECK /pws/zycbe001-waers EQ v_waersb.
MESSAGE i056.
CLEAR /pws/zycbe001-waers.
WHEN '0200'.
CHECK /pws/zycbe004-waers EQ v_waersb.
MESSAGE i056.
CLEAR /pws/zycbe004-waers.
* << Fim da exclusão
* >> Início da inclusão: MODULE CHECK_WAERS
if /pws/zycbe001-waers = 'BRL'.
/pws/zycbe001-txcneg = '1'.
endif.
* << Fim da inclusão
ENDCASE.
ENDMODULE.
MODULE date_consistency INPUT.
check v_status_s = 1 or sy-tcode = '/PWS/ZYCB001_C'.
PERFORM seleciona_zycbt007.
CASE /pws/zycbe001-tpcontr(1).
WHEN 'C' OR 'E' OR 'A' OR 'D' OR 'P' OR 'S' OR 'T'.
CASE /pws/zycbe001-fdtlanc.
WHEN 'C' OR 'c'.
PERFORM consiste_datas_cred.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001O01
...
ELSE.
CLEAR:/pws/zycbe001-przcontr, v_descprzcontr.
ENDIF.
LOOP AT SCREEN.
IF /pws/zycbe001-tpcontr = 'TR'.
IF screen-name EQ '/PWS/ZYCBE001-CONTA_CONTAB'.
screen-invisible = '1'.
MODIFY SCREEN.
ENDIF.
ENDIF.
* >> Início da inclusão: MODULE SET_SCREEN
if screen-name = '/PWS/ZYCBE001-TXCNEG'.
if /pws/zycbe001-waers = 'BRL'.
/pws/zycbe001-txcneg = '1' .
elseif /pws/zycbe001-waers is initial.
clear: /pws/zycbe001-txcneg,
/pws/zycbe001-vlmi,
moeda.
endif.
modify screen.
endif.
* << Fim da inclusão
ENDLOOP.
WHEN '0102'.
tc_perj-lines = tc_perj-top_line + 15.
IF v_status_s = '0'.
LOOP AT tc_perj-cols INTO wa_cols.
wa_cols-screen-input = '0'.
IF wa_cols-screen-name EQ '/PWS/ZYCBE002-BELNR'.
wa_cols-invisible = 1.
ENDIF.
IF wa_cols-screen-name EQ '/PWS/ZYCBE002-FJUR'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F02
...
v_data_aux = itab_zycbt006-dtpagto.
v_data_aux+6(2) = '01'.
v_databl = v_data_aux.
when 'DTLANC'.
v_databl = p_dtlanc.
when 'TXACE'.
perform verifica_data2 using wa_zycbt007-dtvincul
itab_zycbt006-dtpagto.
when 'DTVINCUL'.
v_databl = itab_zycbt006-dtvincul.
* >> Início da inclusão: FORM VERIFICA_DATA2
if /pws/zycbe001-waers eq wa_zycbt007-WAERSB .
itab_zycbe033-kursf = /pws/zycbe001-txcneg.
endif.
* << Fim da inclusão
when 'DTCREDEXT'.
v_databl = itab_zycbt006-dtpagext.
when 'VIATRANS'.
if itab_zycbt030-nrinvoic is initial.
read table itab_zycbt030 with key
nrinvoic = itab_zycbt006-nrinvoic
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
endif.
clear wa_zycet048.
...
...
v_databl = v_dtemb.
elseif wa_zycet048-dtvrc eq 'DTAVERB'.
v_databl = v_dtaverb2.
elseif wa_zycet048-dtvrc eq 'DTCRUZE'.
v_databl = v_dtcruze.
endif.
endif.
endif.
endif.
when 'TXFAT'.
* >> Início da inclusão: FORM VERIFICA_DATA2
if /pws/zycbe001-waers ne wa_zycbt007-WAERSB .
* << Fim da inclusão
itab_zycbe033-kursf = v_kursf6.
* >> Início da inclusão: FORM VERIFICA_DATA2
else.
itab_zycbe033-kursf = /pws/zycbe001-txcneg.
endif.
* << Fim da inclusão
select single belnr dtbelnr
from /pws/zycbt030
into (v_belnr,v_dtemb)
where nrinvoic eq itab_zycbt006-nrinvoic and
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F03
...
IF NOT itab_transport[] IS INITIAL.
LEAVE PROGRAM.
ENDIF.
CLEAR v_erro_estorno.
SET PARAMETER ID '001' FIELD /pws/zycbe001-nrseqc. "#EC *
SET PARAMETER ID '9999' FIELD /pws/zycbe005-dtvincul. "#EC *
ENDFORM.
FORM altera_itab_zycbt005.
DATA: subrc LIKE sy-subrc.
v_index = tc_faturas-current_line.
* >> Início da inclusão: FORM ALTERA_ITAB_ZYCBT005
if /pws/zycbe001-waers = 'BRL' and
itab_zycbt005-waers ne 'BRL'.
delete itab_zycbt005 index v_index.
message i061 with text-503 text-504 text-505 .
exit.
endif.
* << Fim da inclusão
IF v_status_s EQ 0.
READ TABLE itab_zycbt005_aux INDEX v_index.
IF /pws/zycbe005-mark EQ 'X'.
itab_zycbt005-mark = 'X'.
itab_zycbt005_aux-mark = 'X'.
ELSE.
CLEAR itab_zycbt005-mark.
CLEAR itab_zycbt005_aux-mark.
ENDIF.
MODIFY itab_zycbt005 INDEX v_index.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F04
...
case /pws/zycbe001-tpcontr(1).
when 'P' or 'S'.
if not <fs_zycbt002>-dtvincul is initial.
unassign <fs_dtdocto>.
assign <fs_zycbt002>-dtvincul to <fs_dtdocto>.
* endif.
* >> Início da exclusão : FORM documentos_principal
* if not /pws/zycbe001-dtvincul is initial.
* and /pws/zycbe001-dtvincul > <fs_dtdocto>.
* unassign <fs_dtdocto>.
* assign /pws/zycbe001-dtvincul to <fs_dtdocto>.
* endif.
* << Fim da exclusão
endif.
when others.
if not /pws/zycbe001-dtvincul is initial.
unassign <fs_dtdocto>.
assign /pws/zycbe001-dtvincul to <fs_dtdocto>.
endif.
endcase.
else.
assign <fs_zycbt002>-dtcont to <fs_dtdocto>.
endif.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F05
...
AND inco1 IN inco
AND nrre IN nrre
AND nrsd IN nrsd
AND vlslf GT 0
AND fvinc EQ space
AND status EQ space.
DESCRIBE TABLE itab_zycbt017_aux LINES v_nlin.
LOOP AT itab_zycbt017_aux.
itab_zycbt017_aux-v_fsaldo = 'X'.
MODIFY itab_zycbt017_aux INDEX sy-tabix.
* >> Início da inclusão: FORM SELECIONAR_ZYCBT017
if /pws/zycbt007-waersb eq /pws/zycbe001-waers.
if itab_zycbt017_aux-waers ne /pws/zycbe001-waers.
MESSAGE w061 WITH text-503 text-504
itab_zycbt017_aux-NRINVOIC text-505 .
endif.
if itab_zycbt017_aux-bukrs ne /pws/zycbe001-bukrs.
MESSAGE w061 WITH text-503 text-504
itab_zycbt017_aux-NRINVOIC text-506 .
endif.
endif.
* << Fim da inclusão
ENDLOOP.
IF v_nlin IS INITIAL.
MESSAGE w015 WITH text-058.
ELSE.
LEAVE TO SCREEN '0100'.
ENDIF.
ENDIF.
ENDFORM.
FORM set_screen_0301.
SET PF-STATUS '0300'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009O01
...
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSE.
IF itab_zycbt005-nrinvoic IS INITIAL.
LOOP AT SCREEN.
screen-input = '0'.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
ENDIF.
IF sy-tcode = '/PWS/ZYCB009_A'.
LOOP AT SCREEN.
IF screen-name = '/PWS/ZYCBE005-VLME_P'.
IF wa_desvincula-vldesvin > 0.
READ TABLE itab_zycbt005_ant WITH KEY
nrinvoic = /pws/zycbe005-nrinvoic
gsberf = /pws/zycbe005-gsberf
nrparcf = /pws/zycbe005-nrparcf.
...
...
PERFORM fecha_campos_para_exibicao.
ENDMODULE.
MODULE posiciona_cursor OUTPUT.
CLEAR v_index_parid.
IF NOT v_tstwaers IS INITIAL.
LOOP AT itab_zycbt005.
IF itab_zycbt005-waers NE /pws/zycbe001-waers.
v_index_parid = v_index_parid + 1.
ENDIF.
ENDLOOP.
* >> Início da inclusão: MODULE POSICIONA_CURSOR
if /pws/zycbe001-waers ne 'BRL'.
* << Fim da inclusão
SET CURSOR FIELD '/PWS/ZYCBE005-PARID' LINE v_index_parid.
* >> Início da inclusão: MODULE POSICIONA_CURSOR
endif.
* << Fim da inclusão
ENDIF.
ENDMODULE.
MODULE status_0102 OUTPUT.
SET PF-STATUS '0102'.
SET SCREEN '0102'.
tc_performance-lines = tc_performance-top_line + 15.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCB001
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 075
Texto: (32 caracteres)
"Favor preencher Taxa de Câmbio !"
Comprimento máximo: 132
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 076
Texto: (23 caracteres)
"Favor preencher Moeda !"
Comprimento máximo: 23
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCB009
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 501
Texto: (35 caracteres)
"The code of the supply Bank must be"
Comprimento máximo: 37
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 502
Texto: (26 caracteres)
"the same come of the Capt."
Comprimento máximo: 26
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 503
Texto: (27 caracteres)
"Contr. in national currency"
Comprimento máximo: 27
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 503
Texto: (27 caracteres)
"Contrato em moeda nacional."
Comprimento máximo: 27
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 504
Texto: (25 caracteres)
"No allowed to use invoice"
Comprimento máximo: 25
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 504
Texto: (25 caracteres)
"Não permitido usar fatura"
Comprimento máximo: 25
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 505
Texto: (22 caracteres)
"with different currenc"
Comprimento máximo: 22
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 505
Texto: (22 caracteres)
"com moedas diferentes."
Comprimento máximo: 22
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 506
Texto: (24 caracteres)
"with different companies"
Comprimento máximo: 24
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 506
Texto: (24 caracteres)
"com empresas diferentes."
Comprimento máximo: 24