Você está na página 1de 15

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
SHDBMapeamento de campos e telas para programas batch input
SHDG Valores 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.