Escolar Documentos
Profissional Documentos
Cultura Documentos
I. OBJETIVO ................................................................................................................................... 4
IX. DEBUG.................................................................................................................................... 42
1. Conceito de Algoritmo
São regras formais para obtenção de um resultado ou da solução de um problema, englobando
fórmulas de expressões aritméticas e lógicas.
Uma das técnicas no projeto da lógica de programas é a chamada programação estruturada, a qual
consiste em uma metodologia de projeto, objetivando:
• Agilizar a codificação da escrita da programação;
• Permitir a verificação de possíveis falhas apresentadas pelos programas;
• Facilitar as alterações e atualizações dos programas.
Exemplo de Pseudocódigo
4. Instruções Básicas
Cada linguagem de programação usa um conjunto de palavras onde cada uma desenvolve uma ação.
Estas palavras reservadas de cada linguagem são conhecidas como comandos ou instruções.
Exemplo:
7. Blocos de Repetição
Como o próprio nome diz, são utilizados para repetir um bloco de instruções. Tem o seu
funcionamento controlado por decisão, podendo executar um determinado conjunto de instruções
enquanto a condição verificada for verdadeira. No momento em que esta condição se torna falsa o
processamento da rotina é desviado.
Exemplo:
1. O que é ABAP/4?
ABAP/4 é uma linguagem de programação de quarta geração de propriedade da SAP.
Suas iniciais significam:
A - Advanced
B - Business
A - Aplication
P - Programming
2. Instruções
Um programa ABAP consiste em uma série de instruções que começam com uma palavra chave e
terminam com um ponto.
3. Comentários
Existem duas formas para inserir comentários em um programa ABAP:
• Com um asterisco (*) na primeira coluna da linha.
• Com aspas (") no meio da linha (normalmente após o comando).
8.1. Condições
Em ABAP, como em todas as linguagens estruturadas, dispomos de uma serie de instruções para
subdividir o programa em blocos lógicos (serão executados quando se cumpra uma certa condição).
Para criar uma condição, utilizamos a sentença IF... ELSE... ENDIF , que poderá aparecer em
distintas modalidades.
IF <Cond.>. IF <Cond.>. IF <Cond.>.
… … …
ENDIF. ELSE. ELSEIF.
… …
ENDIF. ELSE.
…
ENDIF.
Existe ainda a instrução condicional, ON CHANGE OF ... ENDON, que permitirá a execução de um
bloco de instruções se ocorrer a troca de valor de um certo campo durante o acesso aos dados.
ON CHANGE OF <campo>.
…
ENDON.
A instrução WHILE permite executar um bloco de instruções enquanto se cumpra uma condição.
WHILE <cond>.
…
ENDWHILE.
COLLECT: Efetua a soma da linha de cabeçalho. Somará os campos de tipo P,F,I, se existirem,
em uma linha da tabela com campos (tipo C) idênticos ao da área de trabalho.
COLLECT <tabint>.
Também é possível alimentar uma tabela interna com o conteúdo de uma tabela da base de dados.
SELECT * FROM <tab> INTO TABLE <tabint>.
Se passarmos agora para a tabela MARC (Dados de centro para material), onde a chave é composta
pelos campos MANDT, MATNR e WERKS, podemos gravar mais de um registro para um mesmo
material (para centros diferentes).
Obs: A criação de um índice deve ser efetuada segundo criteriosa avaliação. Apesar de ajudar na
busca dos registros, a existência do índice prejudica a performance do banco na criação de novos
registros.
12.1. Select
A sentença SELECT é a instrução fundamental para ler a informação da base de dados. Podemos ler
uma tabela da base de dados e simultaneamente carregar una tabela interna com o resultado da
leitura.
SELECT * FROM <tab> INTO TABLE <intab> (WHERE <cond»)
SELECT * FROM <tab> APPENDING TABLE <intab>
(WHERE <cond>).
SELECT * ... ORDER BY <campo1> <campo2> ...
SELECT SINGLE * FROM <tab> (WHERE <cond>).
12.2. Insert
A sentença INSERT permite incluir registros em uma tabela da base de dados SAP.
INSERT <tab>.
INSERT <tab> FROM TABLE <intab>
12.3. Update
A sentença UPDATE permite modificar o conteúdo de um ou vários registros.
UPDATE <tab>.
UPDATE <tab> SET <campo> = <valor> WHERE <cond>.
UPDATE <tab> FROM TABLE <intab>.
12.4. Modify
A sentencia MODIFY é utilizada quando não sabemos ao certo se o registro deverá ser incluído ou
modificado na tabela. Se o registro já existir na tabela, será atualizado. Caso contrário será incluído.
MODIFY <tab>.
MODIFY<tab> FROM TABLE <intab>
12.5. Delete
Para eliminar registros da base de dados, utiliza-se a sentença DELETE.
DELETE <tab>.
DELETE FROM<tab> WHERE <cond>.
DELETE FROM <tab> FROM TABLE <intab>.
ABAP/4 – Para Funcionais CPM Braxis – 2008 – página 18 de 49
IV. SQVI / Query
1. SQVI (QuickViewer)
Criação de “relatório” para uso pessoal. O “relatório” fica disponível apenas ao usuário que efetuou sua
criação.
Transação SQVI
Lista
Ou seja, precisamos do conjunto: QUERY (SQ01) + INFOSET (SQ02) + Grupo de Usuários (SQ03).
Teremos:
Atribuição – Infosets
Obs: Os demais passos dependem do método selecionado. Como exemplo, utilizaremos o Direct Input
para mestre de materiais.
No passo “Maintain Source Structures” definimos a(s) estrutura(s) de entrada dos dados.
No passo “Maintain Structure Relations” efetuamos a ligação entre a(s) estrutura(s) de entrada e a(s)
estrutura(s) de carga.
O passo “Maintain Fixed Values, Translations, User-Defined Routines” não é obrigatório. Este passo
serve para a criação de constantes, rotinas (forms) e traduções. Os objetos criados aqui ficam
disponíveis para todo o projeto.
O passo “Specify Files” é utilizado para indicar a origem do(s) arquivo(s) de entrada e onde serão
gravados os dados importados e convertidos. É neste passo que definimos também o padrão do
arquivo importado (separado por tabulação, separado por “;”, etc).
‘
Obs: A opção “Start Direct Input Program” existe devido ao fato de escolhermos no passo “Maintain
Object Attributes” a opção DI (Direct Input). Escolhendo, por exemplo, a opção Batch Input, teríamos
após a opção “Display Converted Data” as opções “Create Batch Input Session” e “Run Batch Input
Session”.
Na transação BAPI, é possível procurar uma bapi de acordo com a área de negócio.
Observe que o nome informado em “Nome componente default” é o mesmo utilizado na estrutura de
importação BAPIMEPOHEADER.
Obs: Nem sempre os nomes dos campos são idênticos. Em algumas bapis os nomes são parecidos.
Por exemplo, na bapi para criação de documentos DMS (BAPI_DOCUMENT_CREATE2) o campo
número do documento é denominado “DOCUMENTNUMBER”. No elemento de dados (DOKNR)
associado ao campo número de documento na transação CV01N, temos a denominação
“DOCUMENT_NUMBER”.
O comando “F8” efetua o todo o processamento do ponto atual ( ) até o cursor (linha selecionada).
Se não houver nenhuma linha selecionada antes da execução do “F8”, o processamento é efetuado
por completo (ou até um ponto de parada ativo, caso exista um).
• Em modo debug:
Observe que o nome do arquivo para avaliação foi modificado. A transação SM30 gerou um arquivo
com os dados da execução do programa ZTESTE_PERFORMANCE.
Observe que no exemplo acima o gráfico de consumo está mais distribuído. O programa está
distribuindo melhor a carga de processamento utilizando bem os recursos do ambiente.