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:


sexta-feira, 25 de setembro de 2015

Transportar dados de tabelas transparentes não Customizing / Transport data from non Customizing transparent tables


 Português  Em alguns casos temos a necessidade de transportar dados de uma tabela de classe de entrega que não seja do tipo Customizing. Para estes casos podemos proceder da seguinte forma:
Via transação SE09, com duplo clique, acesse a request filho desejada:

Clique no botão Modificar:

Abaixo, nas linhas que existe a possibilidade de inserir conteúdo, digite conforme o nome da coluna:
ID-Programa - R3TR
Tipo de objeto - TABU
Nome do objeto - Nome da tabela transparente

Clique no botão Objeto com chaves da linha inserida:

Adicione os registros chaves que deseja transportar ou preencha os campos chaves com asteriscos (*) para trazer todos os dados da tabela em questão (lembrando de informar o mandante que contém as informações que deseja transportar):

Desta forma, quando você transportar a request, todos registros que as chaves foram informadas e estiverem no respectivo client serão transportados também.