Translate this blog

terça-feira, 29 de setembro de 2015

Chamar a ajuda para pesquisa via código / Calling the Search Help via code


 Português  A funcionalidade da ajuda para pesquisa é sempre bem vinda, tendo em vista a integridade dos dados de um sistema. Houve uma necessidade para um desenvolvimento de chamar a ajuda para pesquisa de um campo Standard que já possuia esta funcionalidade. O problema é que a criação do campo é dinâmica, o que não permite a forma natural da chamada desta função.

No exemplo abaixo, utilizando a ajuda para pesquisa C_T001 do campo Empresa (BUKRS), implementei uma solução da seguinte forma:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
DATA: lt_retval TYPE hrreturn_tab,
      ls_shlp   TYPE shlp_descr.
 
FIELD-SYMBOLS: <fs_interf> TYPE ddshiface.
 
CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
   EXPORTING
    shlpname = 'C_T001'
   IMPORTING
    shlp     = ls_shlp.
 
READ TABLE ls_shlp-interface ASSIGNING <fs_interf> INDEX 1.
 
IF sy-subrc = 0.
  <fs_interf>-valfield = abap_true.
 
   CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
     EXPORTING
      shlp          = ls_shlp
     TABLES
      return_values = lt_retval.
 
ENDIF.

Tela da ajuda para pesquisa:

O retorno da escolha da ajuda de pesquisa estará no campo da tabela LT_RETVAL-FIELDVAL:


Nenhum comentário:

Postar um comentário