on 05-04-2010 1:13 AM
Boa noite a todos.
Tenho a seguinte situação em um programa Module Pool, tenho dois campos em tela codigo e descrição
foi solicitado o seguinte ao selecionar a ajuda de pesquisa do campo código e ao retornar em tela, deve exibir de forma
automatica a descrição.
Eu implementei o seguinte código:
PROCESS ON VALUE-REQUEST.
FIELD codigo
MODULE f4_codfi.
--> o Module f4_codfi chamara a seguinte rotina
PERFORM f4_codigo.
FORM f4_codigo.
=====> Este exemplo mostra a apresentacao de uma estrutura criada internamente para apresentacao da Ajuda de Pesquisa
TYPES: BEGIN OF ty_dados,
codigo TYPE zxxx-codigo,
descricao TYPE zxxx-descricao,
END OF ty_dados.
DATA: lt_tdados TYPE TABLE OF ty_dados,
vl_dynfield TYPE dynfnam .
SELECT codigo descricao
FROM zxxx
INTO TABLE lt_tdados .
CHECK sy-subrc EQ 0.
vl_dynfield = 'codigo'.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ZTERM' "Nome do campo de retorno
dynpprog = 'ZMEUPROGRAMA' "Programa que está chamando
dynpnr = '0200' "Tela que esta chmando
dynprofield = vl_dynfield "Nome do campo da tela
value_org = 'S'
TABLES
value_tab = lt_tdados "Tabela com os dados para seleção
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
ENDFORM.
Neste ponto eu ja consigo retornar o codigo em tela, mas devo buscar a descrição, e preencher o campo automaticamente.
Como eu faço isso???
Alguem teria algum exemplo? Ja procurei na internet mas nao encontrei.
Obrigado a todos
Bom dia Carlos,
Você pode colocar o select em um form com os parametros codigo e retornando a descricao.
Este form você colocaria em dois pontos:
- dentro do form F4_codigo (após a chamada da função)
- no PAI em um móduto novo para esta função, onde da mesma forma você irá passar o conteúdo de codigo para a form e alterando o valor do campo descrição da tela.
Atenciosamente, Fernando Da Ró
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Boa noite Fernando.
eu ja tinha pensado nesta opção.
perform zxxxx using t_return-fieldval.
form zxxxx.
select descricao
from ztable
where zcodigo = parametro.
descricao(tela) = ztable-descricao.
mas nao deu certo , pois usando o debugger o valor do campo descricao esta correto.
mas nao exibe em tela ( nao da o display).
E as caracteristicas do campo estao igual ao campo codigo que exibe corretamente.
Olá Carlos,
também há outra alternativa sem precisar codificar tanto:
- criar uma Ajuda de Pesquisa na SE11 setando flags EXPORT para os campos código e descrição
- vincular essa Ajuda de Pesquisa na sua tabela Z
- fazer com que os campos da tela usem o dicionário (com botão Chamar do dict. do Screen Painter por exemplo)
att,
Paulo Carvalho
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.