Você está na página 1de 9

Workshop Abap recursos adicionais

A lista abaixo contm alguns recursos do SAP que usamos em programas abap.
O conhecimento destes recursos economiza muito trabalho de codificao. Muitas vezes criamos
programas e tabelas para fazer algo j existente no SAP.
Ateno! Este roteiro faz parte do Workshop de Abap, no um material de auto-estudo. As
descries abaixo so somente uma viso geral de alguns recursos adicionais.
1 Intervalo de numerao
Para que serve: criao de nmeros nicos para qualquer tipo de documento no SAP, incluindo
campos de tabelas Z.
Uso: na criao de documentos e dados mestres, temos a opo (atravs de configurao) de
gerao automtica de numerao. Isto feito atravs do Intervalo de numerao: o SAP
garante que, a cada chamada do intervalo de numerao, tenhamos um nmero nico. Por
exemplo, numerao automtica de Fornecedores ou Ordens de manuteno. Portanto, no crie
programas e tabelas para pegar o ltimo nmero e somar 1. O SAP tem um controle eficiente
sobre os nmeros gerados, incluindo a garantia de numerao nica quando do acesso
simultneo de vrios usurios ou processos.
Como fazer:
a) Criar o intervalo e subintervalo com a transao SNRO;
b) Chamar o mdulo de funo NUMBER_GET_NEXT para gerar o prximo nmero.

2 Comparao de programas
Para que serve: comparar o cdigo fonte de dois programas e apontar as diferenas.

Camilo Veloso Workshop Abap


camiloveloso@hotmail.com / camilo@geraessolutio.com.br

1/9

Uso: comparao de programas fontes de nomes diferentes, para verificar as alteraes que
foram feitas ou a fazer. Os cdigos do programa esto em arquivos textos e/ou tem nomes
diferentes no ambiente.
Como fazer:
a) Acionar a transao SE39;
b) Informar o nome dos dois programas e exibi-los. Em seguida clicar o boto de
comparao.

3 Armazenamento de valores de variveis


Para que serve: guardar valores de variveis ou faixa de valores, sem necessitar criar tabela Z.
Uso: manter parmetros diversos para programas Z ou enhancement-points, que no sejam
alterados com frequncia: datas, valores vlidos ou default de algum campo de tela. Estes
valores podem ser mantidos em request e, desta forma, o SAP mantem registro de alteraes.
Como fazer:
a) Criar a(s) varivel(is) na transao STVARV;
b) Ler a tabela TVARVC para recuperar o(s) valor(es).

Camilo Veloso Workshop Abap


camiloveloso@hotmail.com / camilo@geraessolutio.com.br

2/9

4 Armazenamento de documentos no SAP


Para que serve: armazenar qualquer tipo de arquivo (anexo) e lig-lo a um valor, para
recuperao posterior.
Uso: anexar qualquer arquivo (documento, planilha, pdf) e associ-lo a um valor no SAP.
Exemplos: armazenar o certificado de concluso de curso a um nmero de matrcula, armazenar
um laudo de manuteno de equipamento a uma ordem de manuteno.
Como fazer:
a) Criar um objeto para o valor transao SWO1
b) Exemplo de codificao:
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/0e6b0d95-0a01-00104696-ca0a48de5fb3?QuickLink=index&overridelayout=true&5003637734936
c) Outras informaes:
http://wiki.scn.sap.com/wiki/display/SI/Frequently+asked+questions+about+Generic+Object
+Services+GOS

5 Download de cdigo fonte


Camilo Veloso Workshop Abap
camiloveloso@hotmail.com / camilo@geraessolutio.com.br

3/9

Para que serve: guardar em arquivo texto o cdigo abap.


Uso: manter backup local de cdigo fonte abap, elementos de texto e telas.
Como fazer:
a) Rodar o programa REPTRAN;
b) Indicar o(s) nome(s) do(s) programa(s) e diretrio de destino (desmarcar checkbox S
cdigo abap).

6 Debug em janela popup


Para que serve: disparar o debug quando uma janela popup est ativa.
Uso: quando uma janela popup est ativa, no temos acesso ao campo de comando para digitar
/H.
Como fazer:
a) Crie um arquivo texto com exatamente o contedo abaixo:
[Function]
Command=/H
Title=Title
Type=SystemCommand
b) Deixe o Windows Explorer aberto. Quando a janela popup aparecer, arraste o arquivo para
cima da janela e o debug ser ligado.
7 LSMW - Legacy System Migration Workbench
Para que serve: carga de dados.
Camilo Veloso Workshop Abap
camiloveloso@hotmail.com / camilo@geraessolutio.com.br

4/9

Uso: ler arquivo texto, fazer pequenas mudanas em campos e importar no SAP, via SHDB, BAPI
Ou IDoc.
Como fazer:
a) Rodar a transao LSMW
b) Informar projeto, subprojeto e objeto
c) Montar estruturas de entrada, leitura de dados, converso e importao

8 Trace
Para que serve: rastrear operaes de banco de dados e RFCs.
Uso: saber quais tabelas uma transao acessou. Muito til para pesquisar onde as informaes
de uma transao standard so lidas ou gravadas.
Como fazer:
a) Acionar a transao ST05 e clicar no boto Activate Trace
b) Rodar a transao ou programa desejado em outra janela;
c) Voltar a janela da transao ST05 e clicar no boto Deactivate Trace;
d) Clicar no boto Display Trace.

Camilo Veloso Workshop Abap


camiloveloso@hotmail.com / camilo@geraessolutio.com.br

5/9

9 Queries
Para que serve: construir relatrios baseados em relacionamentos de tabelas.
Uso: relatrios simples cujas colunas so oriundas diretamente de campos de tabelas, sem
processamento adicional.
Como fazer:
a) Transao SQ03: criar grupo de usurio;
b) Transao SQ02: criar infoset. O InfoSet a rea de associao de tabelas (join) e
seleo dos campos;
c) Transao SQ01: criar a query a partir de um grupo de usurios e infoset;
d) Alm das 3 transaes acima, podemos usar:
a. Transao SQVI para gerao rpida de queries;
b. Transao FGPR: report painter e report writer.
10 Comparao do contedo de tabelas
Para que serve: comparar o contedo de tabelas entre instncias.
Uso: exibir e/ou atualizar o contedo de tabelas.
Como fazer:
a) Transao SCMP;
b) Informar a tabela e a conexo SAP de destino.
11 Caixa de texto
Para que serve: digitao de texto livre em telas abap.
Uso: permitir texto livre em telas de programa on-line.
Camilo Veloso Workshop Abap
camiloveloso@hotmail.com / camilo@geraessolutio.com.br

6/9

Como fazer:
a) Criar continer na tela desejada;
b) Usar a classe cl_gui_textedit;
c) Usar os mdulos de funo READ_TEXT e SAVE_TEXT para ler e armazenar os textos.
12 Pesquisa de strings em programas
Para que serve: buscar qualquer string em cdigo abap.
Uso: pesquisar uma cadeia de texto qualquer, principalmente comentrios.
Como fazer:
a) Transao EWK1;
b) Informar o(s) programa(s) e a string a buscar.
13 FTP no SAP
Para que serve: FTP de arquivos no servidor SAP.
Uso: copiar arquivos entre a estao e o servidor SAP.
Como fazer:
a) Transao CG3Y: download de arquivos (servidor SAP estao de trabalho);
b) Transao CG3Z: upload de arquivos (estao de trabalho servidor SAP).
14 Acesso direto ao banco de dados
Para que serve: leitura e gravao direto no banco de dados, sem passar pelo Open SQL do
abap.
Uso: execuo de comandos nativos do banco de dados instalado (Oracle, MS-SQL, MaxDB,
SYBASE), seja da base SAP ou outras tabelas fora do SAP. Normalmente usado para
leitura/gravao em sistemas no-SAP.
Como fazer:
a) Transao DBCO: criar a conexo SAP Banco de dados (atribuio de basis);
b) No cdigo abap, o comando SQL nativo do banco DEVE estar entre um EXEC SQL e
ENDEXEC.
15 Registro de log de operaes
Para que serve: registrar logs diversos em programas abap.
Uso: gravar informaes de status de qualquer procedimento em programas abap. Exemplos:
erros em qualquer processamento, fases de processo e quaisquer outras mensagens, sem a
necessidade criao de tabelas Z para armazenamento.
Como fazer:
a) Transao SLG0: criar o objeto de log;
b) Mdulos de funo: BAL_LOG_CREATE criar o objeto no programa;
BAL_LOG_MSG_ADD adicionar mensagem;
Camilo Veloso Workshop Abap
camiloveloso@hotmail.com / camilo@geraessolutio.com.br

7/9

c) Transao SLG1: consultar as mensagens armazenadas.


16 Caracteres especiais em programas abap
Para que serve: pesquisa ou gravaes em cadeia de caracteres.
Uso: verificar se existe caracter especial (tabulao, fim de linha, backspace, dentre outros) em
arquivos texto, normalmente do Unix. Alguns sistemas legados definem que os arquivos lidos
e/ou gravados devem conter estes caracteres.
Como fazer:
a) Usar os atributos estticos da classe CL_ABAP_CHAR_UTILITIES;
b) Dentro do programa testar pelo atributo, por exemplo: IF V_LINHA+3(1) =
CL_ABAP_CHAR_UTILITIES=> HORIZONTAL_TAB .
17 Sites teis, com muitas dicas
a)
b)
c)
d)
e)
f)
g)

http://abapinho.com/
http://scn.sap.com
http://abap101.com
http://www.abapzombie.com
http://www.saptechnical.com/Tips/ABAP/
http://zevolving.com/
http://www.gotothings.com/sapabap.htm

18 Tabelas interessantes
a) DD02L - tabelas SAP, DD03L campos de tabelas, DD01L domnios, DD27M viso
elementos de dados/textos/domnios;
b) DD03M viso com campos de tabelas, seus elementos dados, textos e domnios;
c) E070/E071/TADIR: requests e seus objetos;
d) TFDIR/TFTIT: mdulos de funo;
e) ICON: cones;
f) TSTC/TSTCP: transaes e seus parmetros;
g) VARI/VARID: variantes de report;
h) NRIV: intervalo de numerao;
i) REPOSRC: Fontes de report;
j) TSTC / TSTCP: transaes e seus parmetros;
19 Mdulos de funo teis
1) REUSE_ALV_POPUP_TO_SELECT e K_KKB_LIST_FOR_ITEM_SELECTION: lista
contedo de tabela interna em janela popup;
2) OIL_MONTH_GET_FIRST_LAST / HR_HCP_GET_LAST_DAY_OF_MONTH /
HR_JP_MONTH_BEGIN_END_DATE: retorna o primeiro e ultimo dia de um ms;
3) RFC_READ_TABLE: l campos de uma tabela em outro mandante;
4) SWE_CD_TST_DELAY: gerar um atraso no processamento, em milissegundos;
5) OIL_DATE_SUBTRACT_MONTH: subtrair uma quantidade de meses em uma data;
6) TMP_GUI_BROWSE_FOR_FOLDER: busca diretrio (SAPGUI);
7) RZL_READ_DIR_LOCAL: retorna lista de arquivos do servidor SAP;
Camilo Veloso Workshop Abap
camiloveloso@hotmail.com / camilo@geraessolutio.com.br

8/9

8) KD_GET_FILENAME_ON_F4: popup para seleo de arquivo (usar no AT SELECTIONSCREEN ON VALUE-REQUEST FOR campo);
9) FIEB_PASSWORD_ENCRYPT / FIEB_PASSWORD_DECRYPT: encriptar / decriptar
cadeias de caracteres;
10) F4_CONV_SELOPT_TO_WHERECLAUSE: converte RANGE / SELECT-OPTIONS em
condio para a clusula WHERE;
11) SF_SPECIALCHAR_DELETE / SCP_REPLACE_STRANGE_CHARS: elimina caracteres
especiais de uma cadeia de caracteres;
12) COPO_POPUP_TO_DISPLAY_TEXTLIST: exibe uma tabela interna na tela;
13) THUSRINFO: lista os usurio logados;
14) SO_SPLIT_FILE_AND_PATH / SPLIT_FILENAME: separa o nome do arquivo do
diretrio;
15) RS_VARIANT_CONTENTS: l o contedo de uma variante em um report;
16) JOB_OPEN / JOB_CLOSE: cria job atravs de programa abap;
17) BKK_GET_MONTH_LASTDAY: ltimo dia do ms;
18) RS_REFRESH_FROM_SELECTOPTIONS: l todos os parmetros da tela atual;
19) IMPORT_DYNPRO: obtm todos os elementos de uma tela;
20) SYSTEM_CALLSTACK: busca a pilha de chamadas de programas, funes e rotinas;
21) HR_TIME_AND_DURATION / SD_CALC_DURATION_FROM_DATETIME /
COPF_DETERMINE_DURATION: calcula diferena entre dois valores de horas;
22) POPUP_TO_SELECT_MONTH: popup para selecionar ms e ano;
23) SPELL_AMOUNT: retorna por extenso um valor monetrio

Camilo Veloso Workshop Abap


camiloveloso@hotmail.com / camilo@geraessolutio.com.br

9/9