___________________________________________
Resumo ABAP/4.5
People software
Microsiga
Magnus - linguagem progress
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.
- 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.
UPDATE 'S' = pode ser assincrono ou sincrono. o 's' joga direto e o 'as' aguarda no
buffer.
BD
Transporte
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).
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
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.
6) Select * from <table> where < table field> in < internal table>.
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)
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.
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
CRIANDO TRANSAÇÕES
Transação: SE93
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
Há 3 módulos de função que podem ser executados par este tipo de processamento:
BCD_CLOSE_GROUP (deve ser chamada após todo o processamento para que a pasta
de process. Batch seja criada).
COMANDOS
VARIÁVEIS DO SISTEMA.
Definições:
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:
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
Há 3 módulos de função que podem ser executados par este tipo de processamento:
BCD_CLOSE_GROUP (deve ser chamada após todo o processamento para que a pasta
de process. Batch seja criada).
ON CHANGE
AT END E AT NEW
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.
PERFORMANCE
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
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.
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
* Abertura de formulários