Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Agrupamento de Embarque
Data/Hora da Publicação: 09/10/2007 00:00:00
Data/Hora Última Alteração: 21/02/2011 17:21:43
Descrição da Nota: GERAR VARIAÇÃO CAMBIAL AO EXECUTAR O AGRUPAMENTO DO EMBARQUE
Sintoma
Possibilitar a geração da Variação Cambial entre o faturamento e a averbação ao executar o
Agrupamento do Embarque.
Solução
Criado o parâmetro "Gera variação no agrupamento" alterável através da transação /pws/zyce037.
Incluído um novo tratamento na funcionalidade de agrupamento de forma que quando o parâmetro "Gera
variação no agrupamento" for igual a '1 - SIM', a variação cambial entre o faturamento e a averbação
é gerada.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04946 Data: 09/10/2007 Hora: 17:41:10
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04946
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00016
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04840 - 00001 - 7.0 - 00003 - PREENCHER VALOR EM MOEDA LOCAL NO BATCH INPUT DA F-30 NO AGRUP. E
----------------------------------------------------------------------------------------------------
GERAR VARIAÇÃO CAMBIAL AO EXECUTAR O AGRUPAMENTO DO EMBARQUE
----------------------------------------------------------------------------------------------------
Palavras Chave:
EMBARQUE, AGRUPAMENTO, VARIAÇÃO, CAMBIAL, AVERBAÇÃO, PARÂMETRO
----------------------------------------------------------------------------------------------------
Objetos da nota:
DOCU NA/PWS/ZYCEM295
DOCV /PWS/DTZ_ZYCET037_GERA_VAR
DTEL /PWS/ZYGLL1363
DYNP /PWS/SAPMZYCE037 1210
REPS /PWS/MZYCE037F02
REPS /PWS/ZYCER306
REPT /PWS/ZYCER306
TABD /PWS/ZYCET037
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DOCU NA/PWS/ZYCEM295
Criar a mensagem 295 na classe de mensagens /PWS/ZYCEM:
Msg Txt breve mensagem Auto-Explicat.
295 Data &1 não localizada. Não será possível efetuar o agrupamento. X
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DOCV /PWS/DTZ_ZYCET037_GERA_VAR
Criar novo Texto de diálogo (transação SE61):
Texto de Diálogo(nome): /PWS/Z_ZYCET037_GERA_VAR
Texto do Diálogo:
Gera Variação no Agrupamento.
(Campo GERA_VAR - Tabela /PWS/ZYCET037)
----------------------------------------------------------------------------------------------------
Elemento de dados incluído: /PWS/ZYGLL1363
Criar novo Elemento de Dados:/PWS/ZYGLL1363
Classe de desenvolvimento: /PWS/ZYGL
Idioma original: PT
Descrição breve incluída: (19 caracteres), idioma: PT
"GL - Gera Variação."
Categoria de dados: Domínio
Domínio: /PWS/ZYGLD039
ID parâmetro:
Nome componente default:
Documentar modificações: SIM
Nome da ajuda de pesquisa:
Parâmetro da ajuda de pesquisa:
Comprimento máximo do denominador breve: 10
Denominador breve incluído (8 caracteres), idioma: PT
"Gera Var"
Comprimento máximo do denominador médio: 15
Denominador médio incluído (13 caracteres), idioma: PT
"Gera Variação"
Comprimento máximo do denominador longo: 20
Denominador longo incluído (13 caracteres), idioma: PT
"Gera Variação"
Comprimento máximo do título: 13
Título incluído (13 caracteres), idioma: PT
"Gera Variação"
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCE037 1210
Modificações em Lógica de Processamento:
PROCESS BEFORE OUTPUT.
MODULE: set_screen_standard.
PROCESS AFTER INPUT.
PROCESS ON HELP-REQUEST.
FIELD /pws/zycet037-agrup_fat_rec MODULE help_campos.
FIELD /pws/zycet037-agrup_sem_rec MODULE help_campos.
FIELD /pws/zycet037-rec_camb MODULE help_campos.
FIELD /pws/zycet037-doc_camb MODULE help_campos.
* >> Início da inclusão: TELA 1210
FIELD /pws/zycet037-gera_var MODULE help_campos.
* << Fim da inclusão
Modificações em Layout:
Alterar Atributo 'Coluna' para 35 para:
Cpo.Entr./Saída:
/PWS/ZYCET037-AGRUP_FAT_REC
/PWS/ZYCET037-AGRUP_SEM_REC
/PWS/ZYCET037-REC_CAMB
/PWS/ZYCET037-DOC_CAMB
/PWS/ZYCET037-DTLCT
/PWS/ZYCET037-DTDOC
Criar Elemento de Tela tipo "Campo Texto":
Nome: /PWS/ZYCET037-GERA_VAR
Texto: Gera_Variação_no_agrupamento__
Linha: 8
Coluna: 3
Comp. Def.: 30
Compr.Vis.: 30
Altura: 1
Atributos:
1) Dicionário:
Formato: CHAR
(X) Do dict.
Modific.: F
2) Programa:
3) Exibição:
(X) Como denom.à esquerda.
Criar Elemento de Tela tipo "Cpo.Entr./Saída":
Nome: /PWS/ZYCET037-GERA_VAR
Texto: ___
Dropdown: Listbox
Linha: 8
Coluna: 35
Comp. Def.: 3
Compr.Vis.: 17
Altura: 1
Grupos: Grupo1: AC
Atributos:
1) Dicionário:
Formato: CHAR
(X) Do dict.
2) Programa:
(X) Campo de Entrada
Input: POSSIBLE
(X) Campo de Saída
(X) Entrs. Possíveis
3) Exibição:
(X) Fonte Equidistante
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE037F02
...
text-047
10
3
'/PWS/Z_ZYCET037_REC_CAMB'.
WHEN '/PWS/ZYCET037-DOC_CAMB'.
PERFORM get_information USING sy-langu
text-047
10
3
'/PWS/Z_ZYCET037_DOC_CAMB'.
* >> Início da inclusão: FORM HELP_GERAL_AGRUP
WHEN '/PWS/ZYCET037-GERA_VAR'.
PERFORM get_information USING sy-langu
text-047
10
3
'/PWS/Z_ZYCET037_GERA_VAR'.
* << Fim da inclusão
ENDCASE.
ENDFORM.
FORM help_geral_comissao_agente.
CASE v_campo.
WHEN '/PWS/ZYCET037-TPCOMISSAO'.
PERFORM get_information USING sy-langu
text-047
10
3
'/PWS/Z_ZYCET037_TPCOMISSAO'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCER306
...
READ TABLE itab_zycbt012 WITH KEY chlanc = 'D'.
IF sy-subrc EQ 0.
itab_zycbt033-newbs = '40'.
itab_zycbt033-d_newko = itab_zycbt012-saknr1.
itab_zycbt033-aufnr = itab_zycet002-vbeln_va.
itab_zycbt033-wrbtr = abs( v_vlme_a ).
ENDIF.
ENDIF.
itab_zycbt033-agkoa = wa_zycbt011-koart.
PERFORM selecionar_param_conversao
* >> Início da inclusão: FORM FILL_DATE_F30
USING space
* << Fim da inclusão
CHANGING v_moeda_destino
v_categoria.
IF NOT v_moeda_destino IS INITIAL AND
NOT v_categoria IS INITIAL.
CALL FUNCTION '/PWS/ZYGL_MONTANTE_CONVERTE'
EXPORTING
i_montante = 1
i_demoeda = itab_zycet002-waers
i_paramoeda = v_moeda_destino
i_ctmoeda = v_categoria
...
...
FROM /pws/zycet047
INTO p_dtdocto
WHERE nrseq = p_wa_zycet001-nrseq.
WHEN 'V'.
p_dtdocto = p_wa_zycet001-dtaverb.
WHEN 'S'.
p_dtdocto = p_wa_zycet001-dtcruze.
ENDCASE.
ENDFORM.
FORM selecionar_param_conversao
* >> Início da exclusão: FORM SELECIONAR_PARAM_CONVERSAO
CHANGING p_moeda_destino TYPE t001-waers
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONAR_PARAM_CONVERSAO
USING
p_tipo TYPE c
CHANGING
p_moeda_destino TYPE t001-waers
* << Fim da inclusão
p_categoria TYPE /pws/zycbt011-ctmoed.
SELECT SINGLE waers
FROM t001
INTO p_moeda_destino
WHERE bukrs EQ wa_zycet001-bukrs.
* >> Início da inclusão: FORM SELECIONAR_PARAM_CONVERSAO
IF p_tipo EQ '1'.
SELECT SINGLE ctmoed
FROM /pws/zycbt011
INTO p_categoria
WHERE codmod EQ 'X'
AND codeven EQ '009'
AND bukrs EQ wa_zycet001-bukrs.
ELSE.
* << Fim da inclusão
SELECT SINGLE ctmoed
FROM /pws/zycbt011
INTO p_categoria
WHERE codmod EQ 'X'
AND codeven EQ '001'
AND bukrs EQ wa_zycet001-bukrs.
* >> Início da inclusão: FORM SELECIONAR_PARAM_CONVERSAO
ENDIF.
* << Fim da inclusão
ENDFORM.
...
...
IF wa_bseg-shkzg EQ 'H'.
v_wrbtr = v_wrbtr - wa_bseg-wrbtr.
v_dmbtr = v_dmbtr - wa_bseg-dmbtr.
ELSE.
v_wrbtr = v_wrbtr + wa_bseg-wrbtr.
v_dmbtr = v_dmbtr + wa_bseg-dmbtr.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM PREENCHE_VALOR_MI
IF /pws/zycet037-gera_var EQ '1'.
PERFORM calcula_variacao
USING
v_wrbtr
CHANGING
v_dmbtr.
ENDIF.
* << Fim da inclusão
p_wrbtr = v_wrbtr.
p_dmbtr = v_dmbtr.
ENDFORM.
* >> Início da inclusão:
FORM calcula_variacao
USING
p_wrbtr TYPE bseg-wrbtr
CHANGING
p_dmbtr TYPE bseg-dmbtr.
DATA: wa_zycit054 LIKE /pws/zycit054,
wa_zycet048 LIKE /pws/zycet048.
DATA: v_data_conv TYPE /pws/zycet001-dtemb.
DATA: v_moeda_destino TYPE t001-waers,
v_categoria TYPE /pws/zycbt011-ctmoed.
DATA: v_taxa TYPE /pws/zycbe033-kursf.
SELECT SINGLE * FROM /pws/zycit054
INTO wa_zycit054
WHERE vktra_ci = wa_zycet001-viatrans.
IF sy-subrc IS INITIAL.
SELECT SINGLE * FROM /pws/zycet048
INTO wa_zycet048
WHERE vktrt = wa_zycit054-vktra.
ENDIF.
IF NOT wa_zycet048-dtvrc IS INITIAL.
CASE wa_zycet048-dtvrc.
WHEN 'DTEMB'.
v_data_conv = wa_zycet001-dtemb.
WHEN 'DTBL'.
SELECT SINGLE dtbl
FROM /pws/zycet047
INTO v_data_conv
WHERE nrseq = wa_zycet001-nrseq.
WHEN 'DTAVERB'.
v_data_conv = wa_zycet001-dtaverb.
WHEN 'DTCRUZE'.
v_data_conv = wa_zycet001-dtcruze.
ENDCASE.
ELSE.
MESSAGE i016 WITH text-023
text-024
wa_zycet001-viatrans.
STOP.
ENDIF.
IF v_data_conv IS INITIAL.
CASE wa_zycet048-dtvrc.
WHEN 'DTEMB'.
MESSAGE i295 WITH text-019.
WHEN 'DTBL'.
MESSAGE i295 WITH text-020.
WHEN 'DTAVERB'.
MESSAGE i295 WITH text-021.
WHEN 'DTCRUZE'.
MESSAGE i295 WITH text-022.
ENDCASE.
STOP.
ENDIF.
PERFORM selecionar_param_conversao
USING '1'
CHANGING v_moeda_destino
v_categoria.
IF NOT v_moeda_destino IS INITIAL AND
NOT v_categoria IS INITIAL.
CALL FUNCTION '/PWS/ZYGL_MONTANTE_CONVERTE'
EXPORTING
i_montante = 1
i_demoeda = wa_zycet008-waers
i_paramoeda = v_moeda_destino
i_ctmoeda = v_categoria
i_dtbase = v_data_conv
IMPORTING
e_txc = v_taxa
EXCEPTIONS
i_demoeda_nao_encontrado = 0
i_paramoeda_nao_encontrado = 0
i_ctmoeda_nao_encontrado = 0
i_dtbase_nao_encontrada = 0
taxa_nao_encontrada = 0
fator_nao_encontrado = 0
i_montante_nao_encontrado = 0
tabela_categ_nao_configurada = 0
OTHERS = 0.
ENDIF.
IF NOT v_taxa IS INITIAL.
p_dmbtr = p_wrbtr * v_taxa.
ELSE.
MESSAGE i235
WITH
wa_zycet008-waers
v_moeda_destino
v_data_conv
v_categoria.
STOP.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/ZYCER306
------------------------------------------------------------------------
Incluídos símbolos de texto:
Idioma: PT
Símbolo: 019
Texto: (11 caracteres)
"do Embarque"
Comprimento máximo: 11
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 020
Texto: (5 caracteres)
"do BL"
Comprimento máximo: 5
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 021
Texto: (12 caracteres)
"da Averbação"
Comprimento máximo: 12
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 022
Texto: (8 caracteres)
"do Cruze"
Comprimento máximo: 8
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 023
Texto: (35 caracteres)
"Parâmetro para determinação de data"
Comprimento máximo: 35
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 024
Texto: (39 caracteres)
" não cadastrado para meio de transporte"
Comprimento máximo: 39
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCET037
Inclusão do campo GERA_VAR (após campo COND_ESTAT) na tabela /PWS/ZYCET037:
Campos. Chv Ini. Tipo de Campo Categoria Cmpr. Casas Dec. Descr. Breve
GERA_VAR /PWS/ZYGLL1363 CHAR 3 0 GL - Gera Variação.