cancel
Showing results for 
Search instead for 
Did you mean: 

Retornar 2 campos no ajuda de pesquisa

carlos_valentini3
Participant
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

former_member182114
Active Contributor
0 Kudos

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ó

carlos_valentini3
Participant
0 Kudos

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.

former_member182114
Active Contributor
0 Kudos

Bom dia Carlos,

Então ao invés de fazer no PAI coloca o module no PBO que funciona.

Após digitar o código, ou após o retorno do matchcode, tecle ENTER.

Atenciosamente, Fernando Da Ró

Answers (1)

Answers (1)

Former Member
0 Kudos

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