CE PLUS - Nota 004946

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.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

PREENCHER VALOR EM MOEDA LOCAL NO BATCH INPUT DA F-30 NO AGRUP. EMBARQUE

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.