CE PLUS - Nota 001507

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 02/06/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 12:26:21

Descrição da Nota: NÃO ESTÁ FAZENDO VARIAÇÃO CAMBIAL DA DI

Sintoma

No momento que grava a DI não está gerando a variação cambial, sendo que o processo tem variação

entre a fatura e a DI.

 

 

Solução

Ajuste na passagem do campo na F-05.

 

Versões Tratadas

6.0

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 01507 Data: 02/06/2006 Hora: 14:09:42

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 01507

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00116

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

----------------------------------------------------------------------------------------------------

NÃO ESTÁ FAZENDO VARIAÇÃO CAMBIAL DA DI

----------------------------------------------------------------------------------------------------

Palavras Chave:

DI - VARIAÇÃO CAMBIAL - BATCH INPUT

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/LZYCIGF2F01

REPS /PWS/LZYCIGF2TOP

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/LZYCIGF2F01

 

...

  IF sy-subrc <> 0.

    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

 

  ENDIF.

 

ENDFORM.                    " period_determine

 

* >> Início da inclusão:

*&---------------------------------------------------------------------*

*&      Form  define_campo

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*      -->P_T_TELAS  text

*      -->P_2188   text

*      -->P_V_PROGRAMA  text

*      -->P_V_TELA  text

*----------------------------------------------------------------------*

FORM define_campo TABLES   p_telas STRUCTURE wa_rpy_dyfatc

                  USING    p_campo

                           p_programa

                           p_tela

                  CHANGING

                           v_invisible

                           v_input

                           v_output.

  CLEAR: v_input,

         v_output,

         v_required,

         v_invisible.

 

* Verificação de todos os campos da tela do Batch Input

  CALL FUNCTION 'RPY_DYNPRO_READ'

       EXPORTING

            progname             = p_programa

            dynnr                = p_tela

       TABLES

            fields_to_containers = p_telas.

 

* Busca na tabela pelo campo BSEG-ZFBDT

  READ TABLE p_telas WITH KEY name = p_campo

                              type = 'TEMPLATE'.

  CHECK sy-subrc = 0.

 

* Passa para as variáveis os status originais do campo

  IF p_telas-input_fld EQ 'X'.

    v_input     = 1.

  ELSE.

    v_input     = 0.

  ENDIF.

 

  IF p_telas-output_fld EQ 'X'.

    v_output    = 1.

  ELSE.

    v_output = 0.

  ENDIF.

  IF p_telas-requ_entry    EQ 'X' "4.6C - Obrigatório

     OR p_telas-requ_entry EQ 'O' "4.7  - Obrigatório

     OR p_telas-requ_entry EQ 'R'."4.7  - Facultativo

    v_required = 1.

  ELSE.

    v_required = 0.

  ENDIF.

 

  IF p_telas-invisible EQ 'X'.

    v_invisible = 1.

  ELSE.

    v_invisible = 0.

  ENDIF.

 

* Chama o Perform do programa Standard para verificar o campo

  PERFORM zeile_modifizieren(sapff001)

    USING    p_telas-name p_telas-group1 p_telas-group2

             p_telas-group3 p_telas-group4

    CHANGING v_input v_output v_required

             v_invisible.

 

ENDFORM.                    " define_campo

 

* >> Fim da inclusão:

...

...

 

  ELSEIF v_string+9(1) = '-'.                       "Entrada OCULTA

    p_itab_oculto-campo = 'COBL-KOSTL'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'BSEG-KOSTL'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

  ENDIF.

 

* >> Início da inclusão:

*     R/3 não exibe os campos Doct Compra e Item Doct Compra mesmo sendo

*     obrigatório ou facultativo para o tipo de RzE Outros

 

  PERFORM define_campo TABLES t_telas

                       USING  'BSEG-PRCTR'

                               v_programa

                              '0300'

                       CHANGING

                              v_invisible

                              v_input

                              v_output.

 

  IF v_invisible = 0 AND v_input = 1 AND v_output = 1.

    PERFORM bdc_field USING 'BSEG-PRCTR'  p_t_dados-c_prctr.

  ENDIF.

* >> Fim da inclusão:

 

* >> Início da exclusão:

* Campo CENTRO DE LUCRO (C_PRCTR)

  IF v_string+41(1) = '+'.                      "Entrada obrigatória

    IF p_t_dados-c_prctr = space.               "Ñ preenchido na

T_DADOS

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'COBL-PRCTR'.

      IF sy-subrc <> 0.                        "Ñ encontrou

'cobl-prctr'

        "na T_CAMPO

        CLEAR p_t_campo.

        READ TABLE p_t_campo WITH KEY campo = 'BSEG-PRCTR'.

        IF sy-subrc <> 0.                      "Ñ encontrou

'bseg-prctr'

          "na T_CAMPO

*         Preenche campo na tabela T_CAMPO

          p_t_campo-mandt = p_t_dados-mandt.

          p_t_campo-campo = 'COBL-PRCTR'.

          p_t_campo-descricao = text-014.

          APPEND p_t_campo.

*         Preenche campo na tabela T_CAMPO

          p_t_campo-mandt = p_t_dados-mandt.

          p_t_campo-campo = 'BSEG-PRCTR'.

          p_t_campo-descricao = text-014.

          APPEND p_t_campo.

 

          RAISE campo_em_branco.

        ELSE.                                 "Encontrou 'bseg-prctr'

          IF ( p_t_campo-conteudo = space ).  "Campo CONTEÚDO em branco

            RAISE campo_em_branco.

          ELSE.                               "Campo CONTEÚDO

preenchido

*           Preenche campo na tabela T_DADOS

            MOVE p_t_campo-conteudo TO p_t_dados-c_prctr.

            MODIFY p_t_dados TRANSPORTING c_prctr.

*           Apaga linha da T_CAMPO copiada p/ T_DADOS

            DELETE p_t_campo INDEX sy-tabix.

            CLEAR p_t_campo.

          ENDIF.

        ENDIF.

      ELSE.                                   "Encontrou 'cobl-prctr'

        IF ( p_t_campo-conteudo = space ).    "Campo CONTEÚDO em branco

          RAISE campo_em_branco.

 

        ELSE.                                 "Campo CONTEÚDO

preenchido

*         Preenche campo na tabela T_DADOS

          MOVE p_t_campo-conteudo TO p_t_dados-c_prctr.

          MODIFY p_t_dados TRANSPORTING c_prctr.

*         Apaga linha da T_CAMPO copiada p/ T_DADOS

          DELETE p_t_campo INDEX sy-tabix.

          CLEAR p_t_campo.

        ENDIF.

      ENDIF.

    ENDIF.

  ELSEIF v_string+41(1) = '-'.                       "Entrada OCULTA

    p_itab_oculto-campo = 'COBL-PRCTR'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'BSEG-PRCTR'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

  ENDIF.

* >> Fim da exclusão:

 

* Campo ITEM FINANCEIRO (C_FIPOS)

  IF v_string+19(1) = '+'.                      "Entrada obrigatória

    IF p_t_dados-c_fipos = space.               "Ñ preenchido na T_DADOS

      CLEAR p_t_campo.

      READ TABLE p_t_campo WITH KEY campo = 'COBL-FIPOS'.

...

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/LZYCIGF2TOP

 

...

DATA: itab_t041b    LIKE t041b    OCCURS 10 WITH HEADER LINE.

DATA: BEGIN OF itab_empresas OCCURS 10,

      bukrs  LIKE skb1-bukrs,

      conta  LIKE skb1-saknr,

      END OF itab_empresas.

* >> Início da inclusão:

DATA:

  t_telas        TYPE rpy_dyfatc OCCURS 0 WITH HEADER LINE,

  wa_rpy_dyfatc  TYPE rpy_dyfatc OCCURS 0 WITH HEADER LINE,

  v_input        LIKE screen-input,

  v_output       LIKE screen-output,

  v_required     LIKE screen-required,

  v_invisible    LIKE screen-invisible,

  v_tela         LIKE sy-dynnr,

  v_programa(40) TYPE c VALUE 'SAPMF05A'.

* << Fim da inclusão