Escolar Documentos
Profissional Documentos
Cultura Documentos
5
INTEGRAO R/3.............................................................................................................5
BUSINESS FRAMEWORK...................................................................................................6
COMPONENTES DO BUSINESS FRAMEWORK.....................................................................6
R/3 COMO UM SISTEMA ABERTO.......................................................................................6
CLIENT/SERVER ESCALABILIDADE DO SISTEMA R/3.....................................................7
PRINCPIO DO CLIENT/SERVER.........................................................................................8
CONFIGURAES CLIENT/SERVER NUM SISTEMA R/3......................................................8
HIERARQUIA DE TRS CAMADAS......................................................................................9
PLATAFORMAS PARA O SISTEMA R/3..............................................................................10
NAVEGANDO NO R/3....................................................................................................11
LOGON............................................................................................................................11
CONCEITO DE MANDANTE E CLIENT NO SISTEMA R/3..................................................12
ESTRUTURA DO MENU DO R/3.......................................................................................12
ESTRUTURA DE UMA TELA NO SISTEMA R/3..................................................................13
SELECIONANDO FUNES...............................................................................................14
AJUDA DE CAMPO..........................................................................................................14
HELP ON-LINE................................................................................................................16
SYSTEM FUNCTIONS.......................................................................................................16
Services......................................................................................................................16
Utilities......................................................................................................................16
KERNEL DO SISTEMA R/3..........................................................................................18
INTERFACE DE APRESENTAO......................................................................................18
RDBMS RELATIONAL DATABASE MANAGEMENT SYSTEMS......................................18
INTERFACE DE BANCO DE DADOS DO SISTEMA R/3......................................................19
PROCESSANDO REQUISIES DO USURIO.....................................................................20
APPLICATION SERVICES..................................................................................................21
TRANSAES..................................................................................................................21
LUW (LOGICAL UNIT OF WORK)..................................................................................21
REQUISITANDO UM LOCK...............................................................................................21
OBJETO DE LOCK...........................................................................................................22
PROCESSAMENTO EM BACKGROUND.............................................................................22
SERVIOS DE IMPRESSO...............................................................................................23
INSTANCIA R/3...............................................................................................................23
ABAP DICTIONARY......................................................................................................24
OBJETOS DO DICIONRIO................................................................................................24
CONCEPO DUAL LEVEL.............................................................................................24
TABELAS TRANSPARENTES.............................................................................................24
ESTRUTURAS..................................................................................................................25
VIEWS.............................................................................................................................25
SEARCH HELP.................................................................................................................25
ABAP................................................................................................................................26
CONCEITO.......................................................................................................................26
273743479.doc
1 / 65
REPOSITRIO..................................................................................................................26
FERRAMENTAS DO WORKBENCH....................................................................................27
TRANSPORTE DE OBJETOS..............................................................................................27
DESENVOLVENDO UM PROJETO DO WBO......................................................................28
FINALIZANDO UM PROJETO............................................................................................29
CRIANDO CLASSES DE DESENVOLVIMENTO...................................................................30
CRIANDO PROGRAMAS EM ABAP..................................................................................30
Overview....................................................................................................................30
Atributos....................................................................................................................31
Editor.........................................................................................................................32
Declaraes referenciando ao dicionrio.................................................................32
Telas de seleo.........................................................................................................33
Open SQL..................................................................................................................33
Messages...................................................................................................................34
Listas.........................................................................................................................34
Sintaxes......................................................................................................................35
Comentrios..............................................................................................................36
OPEN SQL.......................................................................................................................36
DATABASE INTERFACE....................................................................................................36
OVERVIEW......................................................................................................................37
COMANDO SELECT.......................................................................................................37
Overview....................................................................................................................37
Single Line.................................................................................................................38
Several Lines.............................................................................................................38
Tabela Interna...........................................................................................................39
Operadores da Clausula Where................................................................................39
CONTEXTO DE DADOS...............................................................................................40
DEFININDO OBJETO DE DADOS.......................................................................................40
Tipo de Dados............................................................................................................40
Tipos pr-definidos....................................................................................................40
Objeto de dados elementares.....................................................................................41
Estruturas..................................................................................................................42
Referindo-se ao Dicionrio ABAP............................................................................42
Comando TABLES.....................................................................................................43
Literais e contantes...................................................................................................43
Smbolo de Texto........................................................................................................43
Transferindo Valores.................................................................................................44
Comando MOVE..............................................................................................44
Comando MOVE-CORRESPONDING......................................................44
Regras de Converso.................................................................................................45
Calculando Valores...................................................................................................46
Sub-Campos...............................................................................................................46
Calculando Datas......................................................................................................47
Expresses Lgicas...................................................................................................47
Estrutura CASE.........................................................................................................48
Loops DO e WHILE..................................................................................................49
273743479.doc
2 / 65
3 / 65
LISTAS............................................................................................................................70
Comandos de operao em listas..............................................................................70
Cabealho de Pgina................................................................................................70
Detalhes de lista........................................................................................................71
HIDE Area.................................................................................................................72
Telas de seleo.........................................................................................................73
Search Help...............................................................................................................73
Salvando e chamando Variantes................................................................................73
Usando valores de telas de seleo no comando SELECT.......................................74
Usando o PARAMETERS.....................................................................................74
Usando o SELECT-OPTIONS...............................................................................74
Criando uma GUI Graphic User Interface............................................................75
Barra de Status.......................................................................................................75
TITLES..................................................................................................................77
273743479.doc
4 / 65
O sistema R/3 baseado num modelo que cobre diversas areas da empresa:
o FI
Financial Accounting
o CO
Controlling
o AM Asset Management
o MM Materials Management
o PP
Production Planing and Production Control
o SD
Sales and Distribuition
o QM Quality Management
o PM
Plant Maintenance
o PS
Project Management / Service Management
o HR
Human Resources
o WF
Office Communication / Workflow Functions
o IS
Industry Soluction
Os components do sistema R/3 utilizam a tecnologia UP-TO-THE-MINUTE
com compreensivas funes de negcio. O alto nvel de integrao de processos
permite que todas as funes sejam acessadas diretamente atravs do sistema e
portanto da companhia. Quando se instala o sistema R/3, todos os dados so
integrados usando uma base de dados comum.
Os processos do sistema R/3 no so restritos a um modulo individual. Todos os
dados e funes esto conectados uns aos outros.
Business Framework
273743479.doc
5 / 65
273743479.doc
6 / 65
Application
Escalabilidade
Database
Princpio do Client/Server
273743479.doc
7 / 65
273743479.doc
8 / 65
Unix System
Bull
IBM
Digital
SNI
HP
SUN
SISTEMAS
AIX
OPERACIONAIS Reliant
Digital Unix
Unix (SINIX)
HP-UX
Solaris
BANCOS
DE DB2
DADOS
INFORMIX
ORACLE
DIALOG
(SAPGUI)
LINGUAGENS
Bull/Zenith
Compac
Digital
HP (Intel)
IBM (Intel)
IBM AS/400
IBM S/390
Windows NT
OS/400
OS/390
DB2
DB2
FOR DB2
INFORMIX
AS/400
OS/390
ORACLE
MS SQL
Windows (3.1/95/NT/ME/XP) OSF/Motif,
OS/2 Presentation Manager, Macintoch, Java
ABAP, C, C++, HTML, Java
FOR
Navegando no R/3
Logon
273743479.doc
9 / 65
273743479.doc
10 / 65
Todo o menu configurado pelo usurio, podendo exibir ou inibir qualquer item.
Essa estrutura de menu chamada de SAP EASY ACCESS.
273743479.doc
11 / 65
Option
s
Title Bar
Command
Field
Standard
Toolbar
Applicatio
n Toolbar
Status
bar
Selecionando funes
Ajuda de Campo
273743479.doc
12 / 65
Help On-line
System Functions
Services
273743479.doc
13 / 65
a.
b.
c.
d.
e.
f.
g.
Reporting
Query
Output Controller
Table Display
Batch Input
Jobs
Sap Service
Utilities
X Terminal
X Terminal
X Terminal
WINDOWS
MANAGER
SAPGUI
SAPGUI
SAPGUI
SAPGUI
SAP DISPATCHER
Application
273743479.doc
14 / 65
DATABASE SERVER
DB INTERFACE
ABAP INTERPRETER
SELECT *
FROM ....
LOCAL BUFFER
DATABASE
OPEN SQL
Native SQL
App. data
DB Data
Exec SQL...
Select ...
End Exec.
Native SQL
DB data
Na linguagem de programao ABAP, voc pode usar o SAP OPEN SQL para
acessar os dados no sistema gerenciador de banco de dados.
A interface de banco de dados converte os comandos OPEN SQL para os
comandos de bancos de dados. Por isso qua a aplicao escrita em ABAP
independe do banco de dados usado.
Quando os comandos do OPEN SQL so convertidos, a interface do banco de
dados checa a sintaxe dos comandos e verifica se os dados no esto buferizados,
pois desta forma optimiza o acesso a base de dados.
Os dados acessados mais frequentemente so armazenados no buffer e neste caso
os dados no so acessados na base de dados.
273743479.doc
15 / 65
SAP
GUI
SAP
GUI
SAP
GUI
SAP
GUI
APPLICATION
DISPATCHER
WORK
PROCESS
WORK
PROCESS
WORK
PROCESS
DATABASE
DB PROCESS
DB
273743479.doc
16 / 65
Application Services
Transaes
Requisitando um Lock
273743479.doc
17 / 65
Objeto de Lock
Para que o sistema R/3 execute uma requisio de lock, voc deve definir
primeiro um objeto de lock no dicionrio ABAP. O objeto de lock contm tabelas
que tero entradas travadas. Um objeto de lcok consiste de uma tabela primria.
Pode-se ter uma tabela adicional secundaria, usando-se as chaves estrangeiras do
relacionamento.
Para um objeto de lock voc deve especificar o modo de travamento: S read
lock e E write lock. Um lock s pode ser removido pelo mesmo usurio que
solicitou.
Se o objeto de lock esta ativado, o sistema gera uma funo de ENQUEUE e uma
de DEQUEUE .
Processamento em Background
Servios de Impresso
273743479.doc
18 / 65
Instancia R/3
ABAP Dictionary
Objetos do dicionrio
Tabelas Transparentes
ABAP Dictionary
Campo 1Campo 2Campo 3Campo 4
273743479.doc
DATABASE definio
fsica de tabelas
19 / 65
Quando se cria e ativa uma tabela no dicionrio, uma tabela transparente criada
automaticamente no banco de dados. Este processo traduz a descrio da tabela
no banco de dados numa linguagem usada pelo sistema do banco de dados.
As tabelas do banco de dados tem os mesmos nomes no ABAP Dictionary. Os
campos tambm tem os mesmos nomes em ambos. O tipo dos dados no ABAP
Dictionary so traduzidos para os tipos de dados correspondentes nos sistemas de
banco de dados.
Estruturas
Views
Search Help
273743479.doc
20 / 65
ABAP
Conceito
Repositrio
Ferramentas do Workbench
273743479.doc
21 / 65
o Menu Painter:
para desenhar as interface do usurio (barra de
menu, barra de ferramentas standards, barra de ferramentas de aplicaes);
o Screen Painter:
para desenhar telas e dilogos com o usurio;
o Function Builder:
para programar mdulos de funes.
Transporte de Objetos
273743479.doc
22 / 65
Finalizando um projeto
273743479.doc
23 / 65
Quando se cria um novo programa, primeiro deve ter uma srie de detalhes
administrativos.
Todos os programas devem apontar para uma classe de desenvolvimento. Isso faz
a classificao lgica do programa. Isso indica em qual repositrio o programa
ser criado.
Em seguida, vrios atributos gerais do programa devem ser especificados. O mais
importante o tipo do programa. O tipo do programa determina como o programa
vai ser executado no R/3.
Por ltimo o programa deve ser associado a uma CHANGE REQUEST. Isso
identifica o repositrio cronologicamente.
Um programa s poder ser editado aps a determinao desse detalhes. A
ferramenta de criao utilizada para o programa determina em qual ordem estas
informaes devem ser inseridas.
Atributos
273743479.doc
24 / 65
o Status
Esta informao atua como um log sobre o status de desenvolvimento do
programa.
o Aplicao
Esta informao exibe o cdigo de identificao do programa.
Voc pode utilizar essas informaes para procurar por um programa em
particular no sistema de informao do repositrio.
Editor
273743479.doc
25 / 65
Exemplo:
o DATA lc_hora LIKE sy-uzeit.
a declarao da varivel lc_hora recebe as caractersticas do campo
UZEIT da tabela SY (SYST).
o TABLES: VBAK, VBAP.
as tabelas VBAK e VBAP esto sendo instanciadas para a utilizao no
programa.
Telas de seleo
Open SQL
273743479.doc
26 / 65
FROM vbap
INTO CORRESPONDING FIELDS OF wa_vbap
WHERE ebeln = pa_ebeln
AND ebelp = pa_ebelp.
Messages
SELECT SINGLE .
IF sy-subrc <> 0.
MESSAGE I020(FI).
ENDIF.
Listas
A linguagem ABAP possui comandos para criar listas: WRITE, SKIP, ULINE, so
exemplos de alguns deles.
O comando WRITE exibe o contedo de um campo (ou varivel), formatado de
acordo com o seu tipo, formando assim uma lista (relatrio).
O comando SKIP imprime uma linha em branco na lista.
O comando ULINE imprime uma linha continua, cobrindo toda a largura do
relatrio.
SKIP.
WRITE: / wa_vbap-ebeln, wa_vbap-ebelp.
ULINE.
WRITE: / wa_vbap-matnr, wa_vbap-menge.
ULINE.
273743479.doc
27 / 65
Sintaxes
REPORT
z_teste_curso
DATA
PARAMETERS
SELECT
IF
MESSAGE
ENDIF
ULINE
WRITE
WRITE
WRITE
WRITE
ULINE.
sy-subrc = 0
I027(FI)
.
.
.
.
.
.
.
.
Comentrios
273743479.doc
28 / 65
TABLES: vbap.
Declara a tabela VBAP
OPEN SQL
Database Interface
OPEN SQL
NATIVE SQL
Database Interface
BANCO DE DADOS
Overview
273743479.doc
29 / 65
Comando SELECT
Overview
SELECT <resultado> FROM <tabela>
INTO <destino>
WHERE <condio>.
Single Line
SELECT SINGLE <F1> <F2>.<FN>
FROM <tabela>
INTO <WA>
ou
INTO (<V1>, <V2>,..<VN>)
ou
INTO CORRESPONDING FIELDS OF <work area>
WHERE <condio>
O uso do SINGLE no comando SELECT indica que ser lido somente uma linha
para a condio informada.
Se voc utilizar o CORRESPONDING FIELDS OF na clausula INTO, voc pode
preencher a rea de trabalho componente a componente, desde que esses
componentes tenham o mesmo nome e mesma estrutura. Caso no for informado,
o comando preenche a rea de trabalho ocupando os espaos da esquerda para a
direita, sem respeitar os limites dos campos.
Several Lines
SELECT <F1> <F2>.<FN>
273743479.doc
30 / 65
FROM <tabela>
INTO <WA>
ou
INTO (<V1>, <V2>,..<VN>)
ou
INTO CORRESPONDING FIELDS OF <work area>
WHERE <condio>
ENDSELECT.
Tabela Interna
SELECT <F1> <F2>.<FN>
FROM <tabela>
INTO TABLE <TI>
WHERE <condio>.
Voc pode ler uma tabela e armazenar todos os registro que satisfazerem a
condio em um simples passo, utilizando o TABLE na clausula INTO.
No necessrio utilizar o ENDSELECT quando a leitura for feita diretamente na
tabela interna.
DEFINIO
igual
diferente
maior que
maior ou igual a
menor que
31 / 65
LE
<= =<
BETWEEN FI and F2
menor ou igual a
intervalo
Contexto de dados
Definindo objeto de dados
DATA: <varivel>
DATA: <varivel>
Tipo de Dados
Tipos pr-definidos
N
U
M
E
R
I
Tipos
P
I
273743479.doc
Significado
Packed Number
Integer
Valor Inicial
0
0
Tamanho
Padro
8
4
Tamanho
Mximo
1-16
4
32 / 65
F
N
C
D
T
X
A
L
F
A
Float Point
Numeric Text
Text
Date (YYYYMMDD)
Time (HHMMSS)
Hexadecimal
0.000
000
Branco
00000000
000000
X00
8
1
1
8
6
1
8
64kb
64kb
8
6
64kb
I,
TYPE
TYPE
TYPE
TYPE
C,
D,
I
P
VALUE
1,
DECIMALS 2.
Estruturas
273743479.doc
33 / 65
TYPES:
BEGIN OF <definio>,
.,
.,
END OF <definio>.
DATA:
TYPES:
BEGIN OF tp_endereco,
rua(40)
TYPE
numero(5)
TYPE
compl(15)
TYPE
bairro(25)
TYPE
cidade(25)
TYPE
estado(2)
TYPE
END OF
tp_endereco.
C,
I,
C,
C,
C,
C
VALUE RJ,
Comando TABLES
TABLES <nome da tabela no dicionrio>.
TABLES: EKKO, EKPO, EKKN.
273743479.doc
34 / 65
O comando TABLES declara um objeto de dados interno que serve com estrutura
de dados e funciona como uma rea de trabalho.
No necessrio declarar no comando TABLES o nome de todas as tabelas
referenciadas no programa, somente quando for necessrio armazenar em
memria (work area) os dados.
Literais e contantes
CONSTANTS <contante> TYPE <tipo> VALUE <literal>.
CONSTANTS cc_pais(6) TYPE C VALUE BRASIL.
Smbolo de Texto
Cdigo do Programa
..
..
SKIP 2.
WRITE: / text-001,
sy-datum,
text-002,
sy-uname.
Elemento de Texto
001
Data
002
Usurio
Transferindo Valores
Comando MOVE
273743479.doc
35 / 65
Comando MOVE-CORRESPONDING
MOVE-CORRESPONDING <registro1> TO <registro2>.
TYPES:
BEGIN OF ty_dados1,
nome(30)
VALUE Antonio Carlos Silva,
ende(40)
VALUE Rua do Bispo, 40,
bairro(20)
VALUE Rio Cumprido,
cidade(20)
VALUE Rio de Janeiro,
END OF ty_dados1,
BEGIN OF ty_dados2,
Codigo(4)
TYPE I,
Nome(30),
Cidade(20),
END OF ty_dados2.
DATA: wa_dados1
TYPE ty_dados1,
wa_dados2
TYPE ty_dados2.
MOVE-CORRESPONDIG wa_dados1 to wa_dados2.
Resultado:
NOME
ENDE
273743479.doc
wa_dados1
Antonio Carlos Silva CODIGO
Rua do Bispo, 40
NOME
wa_dados2
Antonio Carlos Silva
36 / 65
BAIRRO
CIDADE
Rio Cumprido
Rio de Janeiro
CIDADE
Rio de Janeiro
Regras de Converso
Tipo
C
C
C
P
Tipo
C
C
P
C
Calculando Valores
[COMPUTE] <campo> = <expresso aritimtica>.
Operadores:
Funes:
+
SQRT EXP
/
*
LOG SIN
DIV
COS
MOD **
STRLEN
TAN
..
..
lp_salario = 10000.
lp_desconto = 2000.
lp_aumento = 10,20.
lp_total = ( ( lp_salrio lp_desconto) * lp_aumento ) / 100.
..
..
273743479.doc
37 / 65
Sub-Campos
DATA: BEGIN OF wa_data,
ano(04),
mes(02),
dia(02),
END OF wa_data.
DATA:
lc_ano(04),
lc_mes(02),
lc_dia(02).
WRITE:
MOVE
sy-datum(4)
sy-datum+4(2)
sy-datum+6(2)
WRITE:
20 02 2003
TO lc_ano,
TO lc_mes,
TO lc_dia.
20 02 2003
Calculando Datas
DATA:
ld_data
ld_inicio
lp_dias
TYPE
LIKE
TYPE
ld_inicio
= ld_data.
ld_inicio+6(2) = 01.
lp_dias
= ld_data ld_inicio.
D
VALUE
sy-datum,
P.
sy-datum,
2003 02 20
2003 02 01 - incio do ms
20
273743479.doc
38 / 65
Expresses Lgicas
DATA:
ld_start
lp_sum1
lp_sum2
TYPE
TYPE
TYPE
D,
P,
P.
..
..
IF sum2 GE 1000.
..
..
IF start IS INITIAL.
..
..
IF sum1 GT sum2 and sum1 between 0 and 100.
..
..
IF sum1 = 1000 and ( sum2 LE 2000 or start IS INITIAL).
..
..
OPERADOR
EQ
=
NE
<> ><
GT
>
GE
>= =>
LT
<
LE
<= =<
BETWEEN FI and F2
IS INITIAL
DEFINIO
igual
diferente
maior que
maior ou igual a
menor que
menor ou igual a
Intervalo
Valor inicial.
Estrutura CASE
CASE <objeto>.
WHEN <dado1>
...
WHEN <dado2>
...
...
WHEN OTHERS.
273743479.doc
39 / 65
...
ENDCASE.
IF
...
ELSEIF
...
ELSEIF
...
ELSE
...
ENDIF.
<expresso lgica>
<expresso lgica>
<expresso lgica>
<expresso lgica>
Loops DO e WHILE
DO <n> TIMES.
...
...
ENDDO.
273743479.doc
40 / 65
Ferramentas de Teste
Debug
273743479.doc
41 / 65
Breakpoint
273743479.doc
42 / 65
Tabelas Internas
Definio
Expanses dinmicas
273743479.doc
43 / 65
Atributos
Tipos de linhas
Keys
Tipos de tabelas
Tabelas Internas
Index Table
Hashed Table
Standard Table
Sorted Table
X
X
X
X
X
NON-UNIQUE
UNIQUE/NONUNIQUE
UNIQUE
ndice principal
Chave principal
Somente chave
Outro atributo da tabelas internas o tipo da tabela. Tabelas internas podem ser
divididas em trs tipo de acordo com o caminho de acesso aos dados:
o Standard Tables:
mantm um ndice linear internamente. Estas
tabelas podem ser acessadas usando ou ndice ou chave da tabela.
o Sorted Tables:
so organizados de acordo com a chave e so
salvos. Aqui tambm, um ndice linear montado externamente. Esse tipo
de tabela tambm pode ser acessado usando ou ndice ou chave da tabela.
o Hashed Tables:
no mantm um ndice linear interno. Hashed tables
s podem ser acessadas pela chave.
273743479.doc
44 / 65
Work Area
Efeito
APPEND
INSERT
MODIFY
DELETE
LOOP AT
READ TABLE
SORT
CLEAR
FREE
COLLECT
273743479.doc
BEGIN OF struc,
name(10)
TYPE c,
45 / 65
age
END OF STRUC.
TYPES:
TYPE I,
46 / 65
APPEND it_vbak.
ENDSELECT.
As tabelas internas podem ser definidas com ou sem HEADER LINE. Uma
tabela com HEADER LINE significa de uma WORK AREA junto com o
corpo da tabela interna, ambos endereados com o mesmo nome.
Para se declarar uma tabela interna com HEADER LINE, basta adicionar
WITH HEADER LINE na declarao da mesma.
A seleo no banco de dados pode ser feita toda ao mesmo tempo ou de registro
em registro, quando utilizamos a adio INTO TABLE, a tabela interna
alimentada com todos os registros de uma nica vez.
Utilizamos a adio INTO CORRESPONDING FIELDS OF TABELE
<itabname> quando a seleo feita possuir muitos campos e a tabela interna no
estiver na ordem da seleo ou ento no possuir todos os campos da seleo.
Essa forma de seleo feita registro a registro.
Comando SORT
SORT <itab> BY <f1> <f2> ...... [ASCENDING | DESCENDING]
DATA:
273743479.doc
47 / 65
Use o comando SORT para ordenar uma tabela interna. A adio de BY <f> e
ASCENDING ou DESCENDING permite voc restringir a ordenao a
determinados campos e hierarquia.
A hierarquia default ASCENDING.
48 / 65
49 / 65
Modularizao de Programas
Estruturas de um programa ABAP
Modularizando
Eventos em programas executveis
273743479.doc
50 / 65
Subrotinas
PERFORM <nome da subrotina>
[USING <variveis>]
[CHANGING <variveis>].
PERFORM ys_calcula_salrio
USING
v_salhora
V_horastrab
CHANGING v_salliq.
...
...
...
FORM ys_calcula_salrio
USING
p_salhora
p_horastrab
CHANGING p_salliq.
273743479.doc
51 / 65
sy-vline, p_wa_dados-nome,
sy-line, p_wa_dados-endereco, sy-vline.
ENDFORM.
Pode ser, tambm, passado para a subrotinas, as estruturas (estruturas, header line
de tabela interna ou work 52reas) com a descrio da estrutura usando o LIKE ou
TYPE para declara o tipo da mesma.
Se no for passado o tipo da estrutura, os campos dela no sero reconhecida
dentro da subrotinas.
Se voc quiser passar uma tabela interna para a subrotina, deve-se especificar o
tipo formal do parmetro na declarao do FORM, como se fosse uma estrutura.
Tabelas internas so passadas sem a rea de trabalho, necessitando assim criar
uma como local dentro da subrotina.
Funes
273743479.doc
52 / 65
<variavel/estrutura>]
[ EXPORT
<variavel/estrutura>
<variavel/estrutura>
<variavel/estrutura> ]
[TABLES
<tabela interna>
<tabela interna>
...
<tabela interna> ]
[ EXCEPTIONS
<erro>
<erro>
...
<erro> ].
CALL FUNCTION ys_calcula_salario
EXPORT
v_sal_hora
v_horas_trab
IMPORT
v_sal_liquido
EXCEPTION
erro_calculo
variavel_vazia.
273743479.doc
53 / 65
273743479.doc
54 / 65
O mdulo de funo s estar ativo no sistema aps voc ativa-lo (igual aos
programas).
Aps ativa-lo, o sistema gera o grupo de funo ao qual ele foi associado.
Grande parte das caractersticas de passagem de valor para uma funo segue as
regras das subrotinas.
Diferente das subrotinas, voc pode definir quais parmetros so necessrios ou
no, permitindo que o usurio suprima alguns na chamada destes.
Os parmetros de IMPORT vistos de dentro da funo, so correspondentes aos
parmetros EXPORT na chamada da funo de dentro do programa.
A declarao dos elementos da importao so feitas associando ao dicionrio do
banco de dados ou a tipo declarados em um pool de tipos.
Parmetros de importao no podem ter o seu valor alterado durante o
processamento.
Segue as mesmas regras dos parmetros de importao, sendo que estes so vistos
como parmetros de IMPORT na chamada da funo de dentro do programa.
Os parmetros de exportao no recebem valores na chamada da funo.
273743479.doc
55 / 65
Voc pode antecipar possveis erro e escrever o programa para tratar esses erros
para no causar erro de execuo e conseqentemente abortar o programa. Voc
definir os possveis erros na lista de EXCEPTION na hora da criao da funo e
cham-los dentro do programa atravs do comando RAIZE.
273743479.doc
56 / 65
Dialogs
Listas
273743479.doc
57 / 65
o Na impressora;
o Na internet/intranet: converso automtica ta HTML;
o Gravando em arquivo de diversos tipos.
Cabealho de Pgina
Cada lista pode ter um cabealho e at 4 linhas de cabealho de coluna. Isto pode
ser criado de uma das seguintes formas:
o Dentro do editor usando as funes de manuteno do elemento de texto.
o Dentro da prpria lista. Voc pode criar o cabealho da lista e cabealho
das colunas, escolhendo no menu a opo Sistema > Lista > Cabealho de
Lista.
o Na prxima vez que startar o programa, o novo cabealho ir aparecer na
lista automaticamente.
Cores/cones/Smbolos na lista
WRITE <objeto> <opo>.
REPORT xxxxxxxxxxxx.
INCLUDE <LIST>.
::
::
::
WRITE: / ti_tabela-campo COLOR col_key, icon_date AS ICON.
273743479.doc
COL_BACKGROUND
COL_HEADING
Fundo
Cabealho
58 / 65
2
3
4
5
6
7
COL_NORMAL
COL_TOTAL
COL_KEY
COL_POSITIVE
COL_NEGATIVE
COL_GROUP
Entradas
Totais
Colunas Chaves
Valores positivos
Valores negativos
Nveis de controle
Detalhes de lista
Num programa executvel, pode ser utilizado o bloco de eventos AT LINESELECTION para criar detalhamento de lista ou o comando AT USERCOMMAND para criar detalhamento de funes.
O sistema de execuo ABAP:
o Mostra uma lista bsica depois do apropriado bloco de eventos ter sido
processado (por exemplo, depois do START-OF-SELECTION). Neste
caso, o campo do sistema SY-LSIND contem o valor 0.
o Insere funes associadas ao menu de funes e a uma GUI particular no
campo de sistema SY-UCOMM quando uma entrada de usurio
executada.
o Processa o bloco de eventos AT LINE-SELECTION usando o cdigo de
funo PICK cada vez que voc der um duplo-clique numa entrada da
lista.
o Processa o bloco de eventos AT USER-COMMAND cada vez que uma
ao for executada (enter ou clique em algum boto da barra).
o Exibe detalhes de lista aps o processamento do evento AT LINESELECTION e aumenta o valor contido no SY-LSIND em 1.
o Executa determinada funo (que pode ser uma atualizao de tabela) aps
o processamento do evento AT USER-COMMAND.
Podem ser criados barras de botes e menus especficos para cada programa
usando o comando SET PF-STATUS <nome>. Ao dar duplo-clique sobre o nome
da barra de status, o MENU EDITOR ser automaticamente aberto para ser
configurado. Neste caso todos os comandos da barra de boto standard sero
desativados durante a exibio da lista (ateno especial para o PICK que deve ser
redefinido para o funcionamento do AT LINE-SELECTION).
SET TITLEBAR <nome> redefine o nome do relatrio que ser impresso.
HIDE Area.
HIDE <lista de campos>.
273743479.doc
59 / 65
LOOP AT ti_tabela.
WRITE> /
ti_tabela-campo1,
ti_tabela-campo2 HOTSPOT ON,
ti_tabela-campo3,
ti_tabela-campo4 HOTSPOT ON.
Telas de seleo
Search Help
273743479.doc
60 / 65
Voc pode definir e armazenar variantes para uma tela de seleo. Para isso,
preencha a tela de seleo e clique no cone de salvar. Defina o ttulo e o nome da
variante e salve novamente.
Variantes permitem selecionar dados de uma tela de seleo de forma fcil para o
usurio.
Uma simples variante pode estar associada para mais de uma tela de seleo.
Para chamar uma variante pr-gravada, basta selecionar o cone na tela de seleo.
Para programas com barra de status definidas internamente, o boto salvar no
funciona como gravao de variantes.
273743479.doc
61 / 65
Usando o SELECT-OPTIONS
REPORT xxxxxxxxx.
::
::
::
SELECT-OPTIONS: pa_ebeln for vbap-ebeln,
Pa_ebelp for vbap-ebelp.
::
::
SELECT *
FROM vbap
INTO TABLE ti_vbap
WHERE
ebelp IN pa_ebeln
AND
ebelp IN pa_ebelp.
273743479.doc
62 / 65
273743479.doc
63 / 65
273743479.doc
64 / 65
TITLES
SET TITLEBAR <nome>.
SET TITLEBAR <100>.
273743479.doc
65 / 65