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.
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