Translate this blog

segunda-feira, 4 de abril de 2016

Procurar objetos no SAP / Search objects on SAP


 Português  As vezes precisamos achar um objeto, função, constante, palavra, etc. em algum desenvolvimento que criamos ou utilizamos, mas não temos ideia de onde ele está. Para este problema, uma das soluções existentes no SAP é a transação CODE_SCANNER! Passando alguns parâmetros você poderá localizar qualquer coisa, como implementações de Enhancements rapidamente!


terça-feira, 8 de março de 2016

CSapEditorCtrl::GetObject: Object ## does not exist


 Português  Após atualizar o SAP GUI para a versão 7.4, tive que dar manutenção em um Smart Form e, ao clicar em 'Editar' recebia a seguinte mensagem: CSapEditorCtrl::GetObject: Object 15 does not exist. Tratei logo de pesquisar sobre e encontrei uma solução. Em resumo, basta ler e aplicar esta SAP Note 2221815!
Se você não conseguir achar o arquivo para instalar o path, clique aqui para fazer o download!



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.

terça-feira, 14 de outubro de 2014

Criar variantes para VA05 / Create variants for VA05


 Português  Por causa de uma solicitação de um cliente, encontrei uma dica que achei bacana e que pode ajudar funcionais e a desenvolvedores também. A ideia inicial era gerar um relatório vinculado a transação VA03 mostrando o valor líquido real, considerendo caso algum item tenha sido recusado. Como já existe a opção de Ordens no programa, precisaríamos criar uma variante pare este report, que é simplesmente a transação VA05.
Mas como fazer isso se a transação não te possibilita? Foi ai que pesquisei e encontrei uma solução. Na barra superior entre na opção Sistema > Especificações do usuário > Dados próprios e depois clique na aba Parâmetros. Adicione o ID SD_VARIANT_MAINTAIN com o valor U e salve.
Pronto! Agora é possível criar variantes para a VA05 poupando tempo e esforço!
Ref.: http://sap.ittoolbox.com/groups/technical-functional/sap-log-sd/how-to-createchange-visualization-variant-in-va05-857151

segunda-feira, 30 de dezembro de 2013

Tabela transparente com campo maior que 16 posições / Transparent table with field greater than 16 bytes length


 Português  Estava implementando notas em um cliente e tive um problema com relação a um campo em uma tabela transparente. No caso seu nome nos passos manuais tinha 17 posições e eu só conseguia colocar 16. O cliente está com o EHP5 e existe essa limitação quando você cria uma tabela nas versões mais antigas do SAP.
Procurei uma solução e achei a seguinte nota:
1680583 Field names for tables and views with more than 16 char.
Ref.: http://scn.sap.com/community/abap/blog/2013/11/02/data-dictionary-supports-field-s-name-up-to-30-bytes-length

quinta-feira, 31 de outubro de 2013

Forçar chamada do PAI (Process After Input)/ Force PAI call


 Português  Para forçar um programa do tipo Pool de Módulos, como exemplo, a acessar do PBO (process before output) o processo PAI (process after input) programaticamente, sem ter atuação do usuário, pode-se usar esta função:
01
02
03
04
05
06
07
CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'
   EXPORTING
    functioncode           = '='
   EXCEPTIONS
    function_not_supported = 1
     OTHERS                 = 2.