Você está na página 1de 18

DICIONÁRIO

_____________________________________
______

Resumo ABAP/4.5

SAP - Sistema que manipula e armazena valores de controle de


processos utilizando um número muito grande de tabelas.

ABAP - Linguagem do sistema SAP, isto é, uma linguagem


proprietária. Utilizada somente no SAP.

Concorrentes do SAP - JD edwards

People software
Microsiga
Magnus - linguagem progress

Client - unidade independente do r/3 em termos comerciais,


organizacionais e técnicos. Possuem sua própria configuração, dados
de aplicação e cadastrais.

Instância - ambiente R/3 que agrupa 1 ou + clients, onde se executa


determinado trabalho. Uma instância de trabalho normalmente possui
+ de 1 client onde são trabalhados simultaneamente diferentes frentes
de trabalho.

Entidades - objeto que existe e é distinguível de outros objetos, ou


seja, identifica agrupamentos de objetos do mesmo tipo. Ex. Clientes,
bancos, agência, conta-corrente.

Atributos - representam o que uma entidade pode ser. Ex. Nome, RG,
CPF, Endereço.

Domínio - conjunto de valores permissíveis para um atributo. Ex. Est.


Civil, sexo, cor, mês do ano.

Relacionamento - representa a maneira como duas entidades estão


relacionadas. Ex. Conta-corrente de um cliente, agências de m banco,
conta corrente de uma agência.

Restrições de Mapeamento - representam o modo como as


diferentes entidades de um modelo se relacionam. São determinadas
pela cardinalidade dos relacionamentos entre as entidades.

Transações - código alfanumérico de até 20 caracteres utilizado para


iniciar um processo dentro do SAP. São atalhos para execução das
tarefas.

S000 Menu principal do sistema (Tela inicial)


S001 Tela do Workbench ABAP/4
SA38 Execução de programa report
SD11 Modelo de Dados
SDBE Explorar SQL
SE01 Correção e manutenção do sistema de transportes
SE03 Utilitários do sistema de transporte
SE05 Informações sobre transportes
SE07 Tela de status do sistema de transporte
SE09 Organizador do Workbench
SE11 Edição e manutenção de tabelas Serve também para pesquisar
dados de maneira rápida em uma tabela do SAP
SE12 Apenas edição tabelas
SE14 utilitários de Dtabase
SE15 Informações do sistema do Dicionário de dados
SE16 Visualização e manutenção de tabelas
SE17 Visualização de tabelas
SE30 ABAP/4 Trace - serve para verificar a performance de uma parte
do programa
SE32 Manutenção de elementos de textos
SE35 Módulos de diálogos
SE36 Base de dados lógicas
SE37 Biblioteca de funções ABAP/4
SE38 Editor de programa ABAP
SE41 Manu Painter
SE51 Screen Painter
SE63 Tradução de rótulos de campos para outros idiomas
SE71 SapScript - layout de tela
SE73 Manutenção de fontyes
SE80 Desenvolvimento de Objetos
SE84 Informações do repositório
SE91 Manutenção de mensagens
SE93 Manutenção de Códigos de transação
SHDB Mapeamento de campos e telas para programas batch input
SHDGValores Globais
SM01 Travar transações
SM02 Enviar mensagens de sistema
SM04 Usuários - visualização
SM12 Exibição de transações travadas
SM13 Atualizações de requests
SM21 Visualização do log do sistema
SM30 Gerenciador de visualização de tabelas
SM31 Gerenciador de tabelas
SM35 Monitoramento de JOBs em background
SM36 Definição de JOBs
SM37 Status de JOBs
SM50 Visualização de processos em andamento
SM51 Servidores do SAP
SM59 Visualização e Manutenção de RFC
SP01 Manutenção do SPOOL
SPAD Administração do SPOOL
SQ01 ABAP/4 Query - Desenvolvimento e execução
SQ02 ABAP/4 Query - Áreas funcionais
SQ03 ABAP/4 Query - Grupos de usuários
ST01 Trace do sistema (System Trace)
ST05 SQL Trace
ST22 Análise de erros (dumps) em ABAP
SU01 Manutenção de Usuários (master)
SU02 Manutenção de "Profiles" de Usuários
SU20 Manutenção de autorizações em campos
SU21 Manutenção de autorizações em objetos
SU50 Manutenção de definições de usuários
SU51 Manutenção de endereços de usuários
SU52 Manutenção dos parâmetros do usuário
SU53 Checagem das mais recentes autorizações do usuário
SU54 Menu de usuários
SU56 Exibição das autorizações do usuário

GAP - coisas a mais colocadas no SAP.

Os objetos criados em um sistema SAP podem ser divididos em 2


grupos:

- Client Independent - aqueles que uma vez criados podem ser


utilizados por tosos os clients de uma mesma instância, sem que
exista a necessidade de alguma articulação adicional. Ex. Um
report criado.
- Client Dependent - não podem ser executados em nenhum
outro a - que seja transportado ou copiado para seu destino. Ex.
Típico nos formularios sapscript.

Nomes de desenvolvimento sempre se iniciam com Z ou Y.

Dentro da estrutura SYST.

SY-LANGU - linguagem (idioma de acesso)


SY-UZEIT - hora
SY-DATUM - dia
SY-PA GNO - página
SY-SUBRC - para testa se houveram entradas.
SY-TABIX - aponta a linha da tabela que está no lendo.
SY-UCOMM - entrada de função no OKCODE. User command. código
do comando do usuário.
NEW-PAGE - nova página
TOP-OF-PAGE - topo da página
ULINE - para traçar uma linha
PARAMETER - Pode-se usar os parameters para passar os valores
contidos na ' selection-screen' no report chamado.
NE - not existent
OCCOURS - deixar espaço para dados da tabela interna.
MESSAGE-ID XX - chama a classe de mensagens
SKIP - pular linha
/O - volta uma janela
/N - posição zero (tela inicial do sap)
/H - depurador.
APPEND - anexar dados

UPDATE 'S' = pode ser assincrono ou sincrono. o 's' joga direto e o 'as'
aguarda no buffer.

BD

Um BANCO DE DADOS RELACIONAL é a implementação física do


modelo Entidade-Relacionamento e traduz corretamente o que o
modelo conceitual procura representar. É uma coleção de tabelas,
cada uma associada a um nome único e que possuem relacionamentos
entre si. As tabelas representam fisicamente as entidades.

A cada linha de tabela, chamamos de OCORRÊNCIA e o conjunto de


ocorrências pode ou não estar relacionado com ocorrências de outras
tabelas.
CHAVE PRIMÁRIA - conunto de atributos que garante a unidade de
cada ocorrência da tabela. Ex. RG, CPF, n.o. chassis.

NORMALIZAÇÃO - processo de reconhecimento da chave primária.

CHAVE ESTRANGEIRA - quando a chave primária de uma tabela é


um atributo em outra(s) tabela(s).

SQL - utilizado no R/3 e proprietário, seguindo a regulamentação


internacional para esta. Seus comandos podem ser divididos em:

DDL - DATA DEFINITION LANGUAGE - comandos específicos para


definição de objetos do banco de dados. Ex. Create Table, Create
View, etc.

DML - DATA MANIPULATION LANGUAGE - commandos específicos


para o tratamento dos dados armazenados nos objetos do banco. Ex.
Select, Insert, Delete, Uptade, etc.

Funções desempenhadas pelo DATA DICTIONARY:

Ø Gerenciamento das definições de dados - criação e manutenção


das definições de dados num repositório central.
Ø Provisão de informações para avalizações - permite obter
informações sobre o modo como os objetos estão relacionados.
Ø Suporte ao desenvolvimento.
Ø Suporte à documentação.
Ø Garantia de que as definições de dados sejam flexíveis e
atualizadas.

Transporte

ORDENS (CHANGE REQUEST) - recurso através do qual um


conjunto de objetos CD ou CI podem ser transferidos de um client
para outro ou de uma instância para outra.

ORDENS E TAREFAS (TASKS) - cada ordem pode possuir uma ou +


TASKS. Cada TASK possui os objetos agrupados de acordo com seu
tipo e ordem na qual deverão ser criados no cliente de destino (TASK -
inf. A respeito do que está sendo executado. Pacote que guarda os
objetos).
MODIFIABLE - quando uma ordem ainda permanece associada a um
usuário, dizemos que está sob o status MODIFIABLE.

RELEASE (LIBERADA) - ocorre quando 1 ordem é encerrada,


deixando de estar associada a um usuário, ou seja, os objetos a ela
associados são liberados para alteração por outros usuários.

ORDEM TRANSPORTÁVEL - permite que as ordens possam ser


enviadas aos demais ambientes do SAP. Cada ordem gerada para um
objeto ABAP/4 consiste em uma nova versão para este objeto,
permitindo comparar, verificar e consolidar as alterações entre os
ambientes de desenvolvimento e produção.

ORDEM LOCAL - alterações não transportáveis são gravadas em


ordens locais. Isto garante qe as ordens estão sujeitas ao mesmo tipo
de controle aplicado aos objetos transportáveis. Quando 1 ordem local
é liberada são criadas versões para o objeto.

REPORT

Programas que exibem mais informações do que simples relatórios.

Comando Select - usado para acessar as tabelas internas do sap.

1) Select * from... <tabela>



Endselect - quando não existe restrição alguma, ocorrendo uma
varredura sequencial dos registros da tabela. Afeta o runtime quando
se utiliza tabelas grandes.

2) Select * from<tabela>where<campo>eq<conteúdo>.
Le todos os registros da tabela especificada, onde o campo é igual
ao conteúdo especificado. Deve-se sempre especificar as colunas para
não afetar o runtime.

3) Select * from <table> where <field table> between <field1> and


<field2>.
Ex. Field1 = 100 e field2 = 500. Pega inclusive o 100 e o 500.
Trabalha com o range.

4) Select * from <table> where <table field> like ‘_R%’.


_ = a primeira letra não importa
R = a segunda deve ser R
% não importa a sequencia.
5) Select * from <table> where <field table> in (123, 1000).
Especificando se o field table é 123 ou 1000.

6) Select * from <table> where < table field> in < internal table>.

Ex: data: begin of itab occurs 10,


Sign(1), option(2), low like sflight-price, high like sflight-
price,
end of itab.
Ranges: itab for sflight-table.

Move: ‘I’ to itab-sign, ‘bt’ to itab-option, ‘500’to itab-low, ‘1000’ to


itab-high.
Append itab. Move: ‘I’ to itab-sign, ‘bt’to itab-option, ‘440’ to itab-low.
Append itab.

7) Select * from < table> order by < field1> < field2>… primary key.
Classifica a tabela interna numa área auxiliar sem afetar a tabela
original. Evitar o uso de sorts dentro de um select.

8) Select * from < table> by passing buffer. (para ler diretamente de


uma tabela original)

9) Select * from <table> appending table < internal table>. - le os


registros e os inclui (sem sobrepor) em um internal table.

10) Select... from <table> into table < internal table>. A estrutora da
tab. Interna deve correponder à estrutura da tabela que está sendo
acessada. Le os registros em conjunto e os coloca dentro de uma
internal table. É mais rápido que ler individualmente através de um
loop.

11) Select ... into corresponding fields of table <itab>. Neste caso,
não precisa corresponder a estrutura da tabela acessada. Movimentará
os registros para as colunas definidas na internal table que possuam
nome igual ao da tabela acessada. Corresponding ou appending
corresponding não exigem endselect.

12) Select… appending corresponding fields of table < itab>. Le e


grava, sem sobrepor os dados em uma internal table que possua
nomes identicos aos nomes da tabela que está sendo lida.

13) Select single * from spfli where... <campo> … eq… <conteúdo>.


Toda vez que o select single * é utilizado a chave primária completa
deve ser especificada. Se a chave não for qualificada, receberá uma
mensagem de warning e afetará a performance.

14) Select <a1><a2>... into (<f1>, <f2>,…) from…<tabela>


where
Le as colunas especificadas a1 e a2. Após into deverão ser
especificadas as áreas de trabalho auxiliares (f1, f2). O número de
colunas deverá ser igual ao numero de workareas especificadas.

15) Select max (campo)


min (campo)
avg (campo)
count (*) from < table> into (...,…,…).
Where…
Avg e sum : somente para campos alfanuméricos. Sem usar o
endselect.
16) Select * from spflight where price in itab.

17) Select * from (<table>) into <workarea> .


Ex. Data: begin of wa,
Line (100),
End of wa.
Parameters: tabname(10) default ‘SPFLI’.
Especificando o nome da tabela em tempo dinamicamente no select
statement sempre consome mais tempo no processamento.

18) Select * from <table> for all entries in < internal table> where
campo1 = < conteudo> and
campo 2 = < conteudo>
Define-se uma tab. Int. Alimenta-se os campos desta tab. Int. (move e
append). No select campo1 e campo 2 serão os campos definidos e
alimentados na tab. Interna.

19) Select carrid Min (price) max (price) into (carrid, minimum,
maximum)
from sflight group by carrid.
Todos os campos que devem ser mostrados na lista, precisa-se
especificar após a cláusula group by.
(carrid, maximum e minimum sÃo campos auxiliares).
Se o nome do database não é conhecido até runtime, não se pode
especificar a cláusula group by).

ESPECIFICAÇÃO TÉCNICA
Auxilia o programador durante o desenvolvimento (codificação) de um
produto. São descritas todas as etapas do programa, todas as tabelas
q deverão ser acessadas, variáveis e constantes que deverão ser
declaradas, tabelas internas que deverão ser criadas, descrição dos
selects, layout com a distribuição dos campos a serem listados.

CRIANDO TRANSAÇÕES

Transação: SE93

1 - Digitar o nome da transação a ser criada (ver padrões) e clicar em


criar.
2 - Preencher uma descrição para a transação e selecionar o tipo
adequado. Ex. Para reports, selecionar “programa” e tela de seleção
“trans_report’.
3 - Preencher o nome do programa e salvar a transação.

INTERFACE BATCH OU CONVERSÕES

DIRECT IMPUT - é um dos métodos para transformação de dados


do sistema legado p/ o sistema R/3. é o método mais rápido. Um
arquivo sequencial c/ dados é gerado como um arquivo txt para
processamento por alguns functions modules especiais. Estas
funções fazem as checagens para garantir a integridade dos
dados. Quando são processados com sucesso, são gravados
diretamente nas correspondentes tabelas de banco de dados nas
aplicações. Quando ocorrem erros, os dados errados são
passados para uma rotina de mensagens de excessão.

CALL TRANSACTION - neste caso, o programa de transferência de


dados do arquivo sequencial processa os dados e chama a
transação desejada, usando um comando abap. Os dados são
processados via telas de aplicação para uma única transação. A
lógica da aplicação executa os checks e a validação dos dados.
Processamento síncrono: usa-se este metodo em todos os casos
em que não exista um programa direct imput. Somente em
situações de lidar com erros, recomenda-se que o batch-imput
seja realizado para posterior processamento.

BATCH INPUT - usado tradicionalmente como um método de


implementação de programas de transferencia de dados.
Benefício sobre o call-transaction é que em um utilitário
responsável pela administração e gerenciamento das funções
batch-input. Não há a necessiidade de nenhuma programação
adicional p/ análise de excessões e funções de protocolo. As
sessões batch-input são fisicamentes armazenadas pelo sistema
num banco de dados como uma fila, podendo conter registros
de dados corretos e incorretos. Em contraste com o call-
transaction, pode transferir dados de um sistema legado para o
sistema r/3 p/ múltiplas transações da aplicação. No entanto,
nenhuma transação é iniciada até que a transação anterior tenha
sido gravada no correspondente banco de dados durante o
processamento das sessões de batch-input.

BDC - BATCH DATA COMUNICATION SESSION

PASSOS PAR A A CRIAÇÃO DE UM BDC SESSION:

1 - IDENTIFICAR AS TELAS QUE A TRANSAÇÃO PROCESSARÁ


2 - ESCREVER O PROGRAMA EM ABAP P/ GERAR A TABELA
BCD QUE SUBMETERÁ OS DADOS NA TRANSAÇÃO
3 - SUBMETER A TELA BDC PARA O SISTEMA EM MODO BATCH OU
CALL-TRANSACTION.

Tab BDC é uma tabela interna, com uma estrutura específica no qual é
preenchida para ser enviada para a sessão batch-input. Esta estrutura
chama-se bdc data.

TRANSAÇÃO SHDB - monitora todos os passos que o usuário faz,


quando utiliza uma transação e a resposta é uma listagem com os
campos e telas que foram utilizados, permitindo a criação da tabela
bdc.

COMANDO CALL-TRANSACTION

Possibilita o processamento de uma bdc imediatamente pelo sistema.


Os dados da tabela bdc são utilizados para executar a transação e o
RETURN CODE mostra se a transação foi efetuada com sucesso ou
não.

SINTAXE: CALL TRANSACTION trans [using bdctab mode mode]

PROCESSANDO DADOS COM O BDC_INSERT

2.o. modo é via processamento batch. Ao contra’rio do CALL


TRANSACTION, estas transações não serão executadas
imediatamente, serão alocadas em uma pasta batch input que pode
ser executada na transação SM35.

Há 3 módulos de função que podem ser executados par este tipo de


processamento:

BDC_OPEN_GROUP (abre o BDC e necessita ser chamado antes de


qualquer processamento).

BDC_INSERT (é chamado para cada transação no processamento).

BCD_CLOSE_GROUP (deve ser chamada após todo o processamento


para que a pasta de process. Batch seja criada).

COMANDOS

Write --> para escrever.


Uline --> aciona um linha horizontal.
Skip --> saltar liha.
Under --> em baixo "a baixo"
occurs --> controle de registro na tabela. Delimita as linhas da tabela,
para melhorar a performance do programa.
E000 --> esta expressão é usada para mensagem de erro.
I000 --> esta expressão é usada para mensagem de informação.
Vline --> vertical " insere uma linha vertical".
" | " --> igual ao V_line.
Clear V_Var1 --> "Limpa" zera uma variavel.
[ ] --> compara o conteúdo total da tabela.
Select --> Selecionar. " Varre o banco de
New-Page --> abrir um nova pagina.
Standard Page Heading --> desabilita cabeçalho padrão.
Top - Of - Page --> para desenvolver um novo cabeçalho.
End-of-page --> ensera a página "Rodapé".
Format Color 1 --> Insere uma nova cor que é selecionada pelo
numero.
Format Intensified off --> desabilita o formato padrão da letra.
Format Intensifiel on --> ativa o formato padrão.
Data --> Dados.
Like --> como.
Move --> mover.
Move Correspond -->
Is Initial --> comparação do vazio.... testa se a tabela interna esta
vazia...no IF
Refresh --> Limpa todo o conteúdo da tabela interna.
Clear --> apaga o cabeçalho (limpa) de uma tabela interna.. Ex: clear
i_tapp .
Parameter --> "são os texts boxes" --> entrada de dados.
Default --> Padrão.
At First --> Primeiro registro da tabela.
At New --> Primeiro registro da quebrar.
At Last --> Ultimo registro da quebrar.
At And Of --> Ultimo registro da quebra.
Order --> Ordenar.
Append --> Gravar um registro após a execução " Select * From". "
Nunca deixando-o subescrever".
**** Gravar o cabeçabelho de uma tabela interna ***
ON CHANGE-->

Describe --> mostra o total do registro na tabela.


Condense --> Comando que serve para juntar as palavras de forma
ordenada. Ex: Impressão.
Using --> usar.
OkCode --> Como se fosse Enter - "Isto um codigo interno do abap".
Ws - Download --> Envia "Arquivo".
Upload --> Importa "Arquivo".
Loop --> comando execução. " Varre o banco de dados" é utilizado
para varre a tabela interna.
Exceptions -->
Headlen -->
Trunclen -->
At selection screen -->
At line selection -->
At user command -->
Form --> Subrotinas ...
Perform --> Com o comando perform executamos uma rotina que esta
fora do fluxo normal do programa.
* É um comando que faz um acesso na tabela e retorna.
Call Transaction --> possibilita o processamento de uma tabela BDC,
* Bach Input --> método de entrada de dados.

VARIÁVEIS DO SISTEMA.

Sy-Datum --> variável data.


Sy-Uzeit --> variável hora.
Sy-Uname --> variável nome.
Sy-Subrc --> se a expressão for verdadeira " ele confirma ". Valor de
retorna de acordo com determinada intrução do ABAP.
Sy-Langu --> Linguagem Padrão.
Sy-Pagno --> insere numero de paginas.
Sy-tabix --> Contador da tabela interna, Apontador, Cursor.

TABELAS PADRÃO (SISTEMA).

Definições:

BKPF, BSEG --> Financeiro.


EKKO, EKPO --> Pedidos.
VBAK, VBAP --> Fatura.
MKPF, MSEG --> Docuemntos contábeis.
J_1BNFDOC --> Notas fiscais.
J_1BNFLIN --> Itens N.F.
VBPA --> Parceiros.

BDC - BATCH DATA COMUNICATION SESSION

T_BDC - quando se faz um batch input coloca-se num formato para


inserir os dados no sistema. Ver programa e tela, transação, campo e
dado. Estrutura ja pronta no bcd_data, cria sua t_bdc e coloca que
deve ter os mesmos dados que a tabela já existente no sap.
sempre terá os seguintes campos:

CAMPO TIPO DESCRIÇÃO

program char(40) nome do programa da transação dynpro numc(4)


número da tela da transação dynbegin char(1) indicador de uma nova
tela fnam char(132) nome do campo da tela fval char(132) valor a ser
colocado no campo
PASSOS PAR A A CRIAÇÃO DE UM BDC SESSION:

1 - IDENTIFICAR AS TELAS QUE A TRANSAÇÃO PROCESSARÁ


2 - ESCREVER O PROGRAMA EM ABAP P/ GERAR A TABELA BCD QUE
SUBMETERÁ OS DADOS NA TRANSAÇÃO
3 - SUBMETER A TELA BDC PARA O SISTEMA EM MODO BATCH OU
CALL-TRANSACTION.

Tab BDC é uma tabela interna, com uma estrutura específica no qual é
preenchida para ser enviada para a sessão batch-input. Esta estrutura
chama-se bdc data.
TRANSAÇÃO SHDB - monitora todos os passos que o usuário faz,
quando utiliza uma transação e a resposta é uma listagem com os
campos e telas que foram utilizados, permitindo a criação da tabela
bdc.

COMANDO CALL-TRANSACTION

Possibilita o processamento de uma bdc imediatamente pelo sistema.


Os dados da tabela bdc são utilizados para executar a transação e o
RETURN CODE mostra se a transação foi efetuada com sucesso ou
não.

SINTAXE: CALL TRANSACTION trans [using bdctab mode mode]

PROCESSANDO DADOS COM O BDC_INSERT

2.o. modo é via processamento batch. Ao contra’rio do CALL


TRANSACTION, estas transações não serão executadas
imediatamente, serão alocadas em uma pasta batch input que pode
ser executada na transação SM35.

Há 3 módulos de função que podem ser executados par este tipo de


processamento:

BDC_OPEN_GROUP (abre o BDC e necessita ser chamado antes de


qualquer processamento).

BDC_INSERT (é chamado para cada transação no processamento).

BCD_CLOSE_GROUP (deve ser chamada após todo o processamento


para que a pasta de process. Batch seja criada).

ON CHANGE

on change off v_beln


* enquanto estiver fazendo um loop de impressão, olha a variável.
uline.

* continua a ordenação para a saida do relatorio.

AT END E AT NEW

at new - efetua mudanças na leitura do relatorio.


at end -
ex|: at new werks...
on change off especifico para um campo

MODIFY USA O SY-TABIX

EX:
LOOP AT I_TAB1.
CLEAR V_TOTAL
V_TABIX = SY-TABIX.
LOOP AT I_TAB2 WHERE C1 EQ I_TAB1-C1.
V_TOTAL = V_TOTAL + I_TAB2-VAL.
ENDLOOP.
I_TAB1 - TOTAL = V_TOTAL.
MODIFY I_TAB1 INDEX V_TABIX.
ENDLOOP.

Ordenação da esquerda para a direita - é definida quando se seleciona


os campos da tabela interna no data.

PERFORMANCE

Principais problemas que podem ter:

1 - ninhos de select
2 - select... endselect
3 - select * em vez de especificar os campos
4 - select single sem a chave completa em vez de select up to 1 row 5
- indices não utlizados ou falta de indices
6 - select em tabelas com alto número de registros, utilizando a
clausula where baseada em tela de seleção onde o preenchimento não
é obrigatório.
7 - falha na definição funcional
8 - utilização de grandes tabelas como : bseg, bkpf, etc
9 - funções genéricas, sem especificação.
10 - sempre verificar a ordem das colunas das tabelas internas e bd,
elas devem coincidir.

BUFFER - memória

bufferização - selecionar da memória. by passing buffer - só utilizado


para verificação de performance. a bufferização é preferível me tabelas
que não mudam muito.
existem tres tipos de bufferização:
- full - resident buffer (100%), onde todo o conteúdo é buferizado
- generic - uma chave genérica (primeiros n campos chaves) é
especificada quando há a criação da tabela. esta chave genérica divide
o conteúdo da tabela em áreas genéricas. Quando se acessa qualquer
dado em uma determinada chave genérica, toda a área genérica é
carregada no buffer.
- partial (single record): somente alguns registros são lidos no banco
de dados e armazenados no buffer.

ONLINE

Online são tipos de programas que, como o próprio nome indica,


funcionam online, ou seja, instantaneamente. São dotados de uma
maior capacidade de customização das telas e maior flexibilidade para
criarem uma interface mais amigavel com o usuário.
Pode-se fazer a manutenção de tabelas pelo online, incluindo novos
dados.

São úteis na criação de aplicações que necessitem de subtelas ou


quando é necessário fornecer informações aos usuários de outra
maneira, que não seja um relatório.

- SCREEN - desenho da tela, lista de campos para tratamento de erros


e definições dos módulos PBO e PAI relacionados com a tela.
- GUI STATUS E GUI TITLE - definição dos comandos de botão e
menus disponíveis: - definição de títulos, habilitação dos comandos
standards existentes, criação de novos comandos necessários.
- EVENTO PBO: evento executado antes da exibição da tela para o
usuário: definição do GUI Status e GUI Title para a tela
correspondente, seleção inicial de dados e atribuição de valores a
serem exibidos na tela.

Ex:
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS ' TELA100'.
SET TITLEBAR 'Z10'.
ENDMODULE.

- EVENTO PAI: evento executado após um comando do usuário (enter,


click, etc); verificação do código de comando executado (definido no
GUI Status), codigo abap para execução da lógica do comando.

Ex:
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'EXIT'.
SET SCREEN 0.
LEAVE SCREEN.
ENDCASE.
ENDMODULE.

SAPSCRIPT

Ferramenta para a criação de formulários. A opção para utilização


desta ferramenta geralmente se dá pela necessidde de alguns recursos
que não podem ser obtidos através dos reports, tais como inserção de
logotipos, fontes de tamanhos e tipos diferentes, etc.
Os formularios sao client dependent, ou seja, podem ser transportados
para todos os clientes em que se deseja executá-lo, independente de
estar na mesma instância que já o tenha. Recomenda-se que todos os
números das change requests sejam inseridos como comentário no
corpo do formulário, pois não há administração de versões para
Sapscripts, como há nos reports.
No transporte, é importante salientar que no momento do transporte
de um formulário Sapscript, é necessário assegurar que todas as
estruturas utilizadas por ele, tenham sido transportadas
anteriormente, assegurando que tudo que será utilizado pelo
formulario já esteja no client, no momento em que este for
introduzido. A ordem mais aconselhada para os transportes são:
- estrutura,
- layout,
- programa de povoamento

o Programa de Povoamento é responsável pelo controle da impressão


do formulário. Através dele o formulário é aberto, que os dados são
enviados para as janelas corretas, que é feito o controle de quebra de
paginas que é feito o fechamento do formulário, etc. é nele também
que são feitas as seleções de dados que deverão aparecer no relatório.
é apenas um dispositivo para o output dos dados. a construção de um
programa de povoamento deve seguir a seguinte estrutura:

- abertura de um formulário, * call function/open form


- incialização de um formulario, * start form
- seleção dos dados do formulário,
- impressão dos dados nas janelas do formulário,
- encerramento do formulário, * endform
- fechamento do formulario * closeform

* Abertura de formulários
O primeiro passao para a impressão de um sapscript é abertura de um
formulário para fazer o povoamento. é obrigatória a presença de um
comando de abertura num programa de povoamento.
os principais parametros para abertura de formulários são:
Device - dispositivo onde sera gerado o formulario (geralmente
PRINTER).

Tabela Cluster - tem a chave primária e os campos estao em outras


tabelas compactados. Ex. tabela bseg q possui muitos campos e eles
estao compactados.
CRIAR INDICE - SE11
1 - NOME DA TABELA.
2 - BOTÃO INDICES DA TRANSAÇÃO JÁ DENTRO DA TABELA.

SM30 - Popular e manutenção da tabela.

Você também pode gostar