ABAP APOSTILA SAPSCRIPT

54
7/28/2019 ABAP APOSTILA SAPSCRIPT http://slidepdf.com/reader/full/abap-apostila-sapscript 1/54 ABAP APOSTILA 1 - O sistema R/3 da SAP fixou novas normas para software standard que pode ser implementado universalmente. O R/3 utiliza avançadas técnicas de desenvolvimento para alcançar uma compreensiva integração da administração empresarial e dos processos de dados. - O R/3 une uma moderna tecnologia com a compreensiva funcionalidade de administração empresarial para prover uma solução empresarial completamente integrada para sua companhia. Objetivos - Tratar o modelo de Framework de Negócios como a nova estratégia de arquitetura de produto do sistema R/3. - Especificar as propriedades tecnológicas básicas do sistema R/3, conforme a portabilidade , franqueza e sua propriedade escalar. - Definir o conceito de cliente / software e sua influência na arquitetura de software do sistema R/3. - Descrever os componentes de Basis do R/3 e suas tarefas para o sistema inteiro. Diagrama de integração do R/3  - O Sistema R/3 está baseado em um modelo econômico que cobre as seguintes áreas de aplicação: Contabilidade financeira, controladoria, administração de recurso, administração de materiais, planejamento e controle de produção, vendas e distribuição, administração de qualidade, manutenção de planta, administração de projeto, administração de serviço, recursos humanos, comunicação de escritório, funções de workflow, soluções de indústria, armazenagem de informações abertas. - Uma característica excelente dos componentes do Sistema R/3 é a combinação de tecnologia atual com as diversas funções de negócio. O alto nível de integração de aplicação assegura que todas as funções podem ter acesso diretamente ao longo do sistema e, então, sua companhia. Quando você instala seu Sistema R/3, os dados são integrados usando um banco de dados comum. - Os processos empresariais com o Sistema R/3 não são restritos a módulos de aplicação individuais. Todos os dados e funções são conectados um ao outro. O cruzamento de processos de negocio da aplicação habilita a possibilidade de serem transmitidos diretamente. Framework de negocio no sistema R/3  - R/3 como uma família de componentes separados, integrados - O Framework de Negócio é uma nova e estratégica arquitetura de produto do sistema R/3. Trabalha com componentes empresariais que são módulos de software que podem ser configurados e podem fornecer integração para uma móvel infra-estrutura empresarial. Então, as operações de software podem reagir depressa a novas exigências empresariais e podem mudar ou simplesmente podem aumentar sem interromper o processo empresarial. Página 1 de 54

Transcript of ABAP APOSTILA SAPSCRIPT

Page 1: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 1/54

ABAP APOSTILA 1

- O sistema R/3 da SAP fixou novas normas para software standard que pode ser 

implementado universalmente. O R/3 utiliza avançadas técnicas de desenvolvimento paraalcançar uma compreensiva integração da administração empresarial e dos processos dedados.

- O R/3 une uma moderna tecnologia com a compreensiva funcionalidade de administraçãoempresarial para prover uma solução empresarial completamente integrada para suacompanhia.

Objetivos 

- Tratar o modelo de Framework de Negócios como a nova estratégia de arquitetura deproduto do sistema R/3.

- Especificar as propriedades tecnológicas básicas do sistema R/3, conforme aportabilidade , franqueza e sua propriedade escalar.

- Definir o conceito de cliente / software e sua influência na arquitetura de software dosistema R/3.

- Descrever os componentes de Basis do R/3 e suas tarefas para o sistema inteiro.

Diagrama de integração do R/3 - O Sistema R/3 está baseado em um modelo econômico que cobre as seguintes áreas de

aplicação: Contabilidade financeira, controladoria, administração de recurso, administração

de materiais, planejamento e controle de produção, vendas e distribuição, administração dequalidade, manutenção de planta, administração de projeto, administração de serviço,recursos humanos, comunicação de escritório, funções de workflow, soluções de indústria,armazenagem de informações abertas.

- Uma característica excelente dos componentes do Sistema R/3 é a combinação detecnologia atual com as diversas funções de negócio. O alto nível de integração deaplicação assegura que todas as funções podem ter acesso diretamente ao longo dosistema e, então, sua companhia. Quando você instala seu Sistema R/3, os dados sãointegrados usando um banco de dados comum.

- Os processos empresariais com o Sistema R/3 não são restritos a módulos de aplicaçãoindividuais. Todos os dados e funções são conectados um ao outro.

O cruzamento de processos de negocio da aplicação habilita a possibilidade de seremtransmitidos diretamente.

Framework de negocio no sistema R/3 - R/3 como uma família de componentes separados, integrados

- O Framework de Negócio é uma nova e estratégica arquitetura de produto do sistema R/3.Trabalha com componentes empresariais que são módulos de software que podem ser configurados e podem fornecer integração para uma móvel infra-estrutura empresarial.

Então, as operações de software podem reagir depressa a novas exigências empresariais epodem mudar ou simplesmente podem aumentar sem interromper o processo empresarial.

Página 1 de 54

Page 2: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 2/54

Usando a tecnologia de Framework de Negócios , o SAP proporciona para seus clientesuma plataforma nova para configurar e conectar processos empresariais e fluir informaçãopor todos os componentes do Framework de Negócios - e também por componentes deaplicação fisicamente separados.

- Exemplos de tipos de componentes empresariais são componentes como FI (ContabilidadeFinanceira), LO (Logísticas), HR (recursos humanos) ou componentes de indústria para aformação de aplicações específicas para setores diferentes ou componentes de aplicaçãopara Internet como Business-to-business, Consumer-to-business e aplicações de Intranet.

-  As vantagens da Arquitetura do Framework de Negócios (BFA – Business Framework Architecture) inclui a habilidade para mudar facilmente e configurar dinamicamente osprocessos empresariais independentemente de lançamentos habituais, fácil integração deInternet e componentes de Intranet nos seus processos empresariais, conexão simplesentre R/3 e software de fator externo, os próprios desenvolvimentos de clientes eimplementação evolutivo da mais recente tecnologia sem interromper a operaçãoempresarial.

Componentes do Framework de Negócios

Trabalhando com componentes de administração empresariais: BC, BO, BAPIs.

- O Framework de Negócios exibe gráficos no Sistema R/3 como uma família decomponentes separados, integrados.

- Componentes:

Componentes empresariais (recursos humanos, por exemplo)Objetos empresariais (Pedido, funcionário, candidato, por exemplo)BAPI-interfaces (cria um pedido, mudança do endereço, por exemplo)

- Componentes de negócios interagem com Framework de Negócios em cima dasProgramação de Interfaces para Aplicações de Negócios (BAPIs). BAPIs também forneceum alojamento de interface padrão para integração de aplicações externas e componentesno Framework de Negócios. Estas interfaces são definidas dentro do sistema SAP cominiciativa dos clientes, sócios e organizações de padronização principais.

- Distribuir informação de negocio em um Framework de Negócios, há tecnologias estáveis

tais como Habilitar links entre Aplicações (ALE – Application Link Enabling). ALE garanteintegração entre os componentes de negocio.

R/3 como um Sistema Aberto

Integração de aplicações externas por interfaces abertas

- O Sistema R/3 assegura portabilidade usando padrões de indústria para interfaces quepermitem a integração de aplicações, dados e interfaces de usuário. Isto é como o sistema écompatível com diferentes sistemas operacionais, bancos de dados e redes. O Sistema R/3utiliza padrões de indústria de sistemas abertos como TCP/IP, EDI, OLE e Interfaces Abertas.

Página 2 de 54

Page 3: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 3/54

- TCP/IP: protocolo de comunicação de Rede

- EDI (Troca eletrônica de dados): Processo para a troca de dados empresariais entresistemas diferentes.

- OLE (Object Linking and Embedding): Integra aplicações de PC com o Sistema R/3

- Interfaces abertas: Como visualizar arquivos, dispositivos de código de barra, etc

- Como os padrões de indústria usados através do SAP, o Sistema R/3 também usaferramentas de comunicação adicionais que permitem integração além de limitar o sistema:

- RFC: Chamada de Função remota usando protocolos de CPI-C (padrão de comunicação daIBM) de fácil comunicação e processamento de aplicações e serviços entre R/3, R/2 eoutros sistemas.

-  ALE: Permissão de links entre Aplicação permite autonomia de processos distribuídos e aintegração do R/3, R/2 e outros sistemas que são unidos um ao outro.

Cliente / Servidor – Propriedade Escalar do Sistema R/3

- Flexibilidade, propriedade escalar e desempenho usando arquitetura cliente/servidor 

- O Sistema R/3 possui uma arquitetura de software modular que segue o princípio daarquitetura client / server . Esta arquitetura forma a base de muitos opções disponíveis para

clientes para planejamento e operação individualmente as instalações do Sistema R/3. doConfigurações centrais sistema são suportadas como também distribuídas com numerososservidores dedicados.

 - Esta arquitetura lhe permite separar lógica de aplicação da apresentação e o banco de

dados. Esta é a condição prévia por distribuir carga em configurações cliente / servidor como também usar o potencial de desempenho e várias estruturas de custo no presente egerações de hardware futuras.

- Esta arquitetura lhe permite ajustar a performance de um grande numero de serviçosinstalado (propriedade escalar ), por exemplo, se a carga de perfis possui alteração como

resultado pode-se ter um acréscimo de números de usuários ou a adição de componentes aserem usados.

- Características e escalabilidade utilizada pelo Sistema R/3:- Instalação de servidores adicionais com recurso para gargalos.- Servidores paralelos com cargas homogêneas e execução de programa local.- Buffer de dados e programas próximos de processadores. - Logon e balanceamento de load (distribuição de servidores dedicados para usuários,

distribuição de load com processamento background).

Princípios Client / Server 

 

Página 3 de 54

Page 4: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 4/54

- Em terminologia de SAP, um componente de software provê um serviço (conceito de serviçoatravés dos princípios de uma arquitetura client / server). Este tipo de componente podeconsistir em um processo ou um grupo de processos que são chamados de server (servidor)pois, são processos ou grupo de processos que fornecem serviços.

- Componentes de software que utilizam estes serviços são chamados de clients (clientes). Ao mesmo tempo, clients podem ser servidores de serviços específicos.

- Um server freqüentemente também é um computador host com execução de componentesde software que fornecem serviços específicos (esta visão é referente aos princípiosutilizados pela arquitetura client / server referente aos conceitos de hardware).

Configurações Client / Server – Sistema R/3

- Os serviços fundamentais em aplicações de negócios do sistema são: serviços de

apresentação, serviços de aplicação, serviços de banco de dados.

- Na Central System de configuração do sistema R/3, todas as tarefas processadas sãoexecutadas por um host. Isto corresponde com o processamento clássico de mainframe,com um numero X de términos instanciados, utilizando o mesmo conceito de distribuição determinais impostos pelos princípios da arquitetura client / server.

-  As configurações two-tier  do sistema R/3 são usualmente implementadas usandoservidores de apresentação especiais que são responsáveis somente para formatar interface gráfica. Por exemplo, muitos usuários do sistema R/3 usam Windows PCs comoservidores de apresentação. Uma alternativa na configuração do two-tier é instalar sistemasdesktop poderosos e usa-los para apresentação e aplicações (two-tier client / server). Estetipo de configuração é particularmente útil para aplicações caras (como simulações) ou paradesenvolvedor de software.

- Em uma configuração de three-tier , você usa seu próprio host nos três casos. Usa dados doservidor de banco de dados, vários servidores de aplicação diferentes podem operar aomesmo tempo. Assegurar que com a carga (load) em servidores individuais é possívelalcançar ótimo desempenho, você pode usar servidores de aplicação especiais para áreasde aplicação individuais como planejamento de vendas, distribuição ou contabilidadefinanceira.

Hierarquia Three-tier  - O Sistema R/3 se refere a todos os componentes de software que são designados ao

mesmo banco de dados.

- Se você usa as opções de distribuição do Sistema R/3 de acordo com o principio client /server, os componentes do R/3 formam uma hierarquia de três-níveis (three-tier).

- O servidor de banco de dados é instalado em uma central host, quer dizer, o servidor de

banco de dados possui rápido processamento neste host.

Página 4 de 54

Page 5: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 5/54

- Podem ser conectados vários servidores de aplicação ao servidor de banco de dados.Servidores de aplicação processam a lógica de aplicação atual.

- Também podem ser conectados vários servidores de apresentação a cada servidor de

aplicação. Estes também são chamados frontends (workstation, PC). Estes computadoresindividuais processam todas as tarefas de apresentação. Usuários trabalhaminterativamente com o Sistema R/3 que usa a interface de usuário provido pelos serviços deapresentação.

R/3 Basis Middleware

- Usando o Sistema de Basis do R/3 , as aplicações podem passar em plataformas diferentescom desempenho alto e podem ser adaptadas para satisfazer as exigências de cadausuário.

- Software de Basis do R/3 (também chamado de middleware):- Provê o ambiente de runtime para as R/3 aplicações- Preocupa-se com a melhor forma de demonstrar a aplicação no ambiente do sistema- Define um framework de arquitetura estável para a melhora dos sistemas- Contém as ferramentas por administrar o sistema inteiro- Permite distribuir recursos e componentes de sistema- Provê interfaces para partes de sistemas decentralizados e produtos externos

- Características de tecnologia de Basis são:-  A arquitetura de Basis do sistema R/3 obedece particularmente as configurações da

estrutura de client / server - Bancos de dados relacional- Interfaces gráficas para usuários

R/3 Basis System Overview

- Para garantir a portabilidade das aplicações do sistema R/3, as interfaces de software dosistema são combinadas em seu próprio nível. Sobre este nível, as funções de todos oscomponentes do sistemas R/3 são completamente independentes do hardware e ambientede software.

- O controle de fluxo estão acima do sistema de interfaces. Os controles de serviços comoplanejamento ou administração de memória que poderia de certa forma serem envolvidospelas operações de software do sistema, são executados com o sistema R/3 por razoes deportabilidade e performance.

-  A interface de usuário provê as opções de apresentação de aplicação.

-  A interface de comunicação define os canais para transporte de informação eletronicamente. A transferencia de dados históricos, comunicação de acordo com o protocolo CPI-C deprograma para programa, transferencia de dados de uma aplicação standard usa-se o

método EDI (isto será explicado depois no curso).

Página 5 de 54

Page 6: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 6/54

- Todos os programas de aplicação do Sistema R/3 são formulados em SAP em linguagemde programação própria ABAP. Os componentes de controle para a seqüência de telas sãoDYNPROS (= programas dinâmicos). A interação entre a tela e interpretes de formulários ABAP se baseiam tecnológicamente em sistemas de aplicações do R/3. Ambos os

intérpretes usam a visão global dos dados do sistema R/3 que são armazenados noDicionário de ABAP.

Plataformas de sistema para o Sistema R/3

-  A arquitetura do Sistema R/3 é extremamente portátil.

- O Sistema R/3 é completamente compatível com todas as plataformas importantes, taiscomo UNIX, Windows NT (Microsoft), AS/400 e S/390 (a IBM).

- Você também pode usar sistemas de banco de dados como Informix Online, Oracle 7,

 ADABAS D, o DB2/6000 (IBM) e o SQL Server 6.0 (Microsoft).

-  A interface gráfica do Sistema R/3 (SAPGUI) é compatível com sistemas de desktop taiscomo OS/2 PM, OSF/Motif, Macintosh e Windows.

Resumo

- O conceito de Framework de Negócios trabalha com os componentes de negócios, quer dizer, que são configurados por módulos de software (Componentes de Negocio). Istofornece uma associação com a infra-estrutura de negócios flexível.

- O Sistema R/3 tem uma arquitetura modular que segue os princípios client / server (softwareorientado). Isto permite que o Sistema R/3 possua uma escalabilidade (distribuição de níveisde aplicação).

- O software de Basis do R/3 fornece um ambiente de runtime para as aplicações do sistemaR/3 e assegura que as aplicações sejam colocadas da melhor forma no ambiente desistema.

ABAP APOSTILA 2

Navegação:

• Efetuando o Loggin no Sistema R/3;• Escolhendo funções e Interfaces com Usuários;• Funções do Sistemas e Default de Usuários;• Gerenciamento de Sessões.

Objetivos:

• Definir as melhorias essenciais do sistema R/3:Especificar Interfaces Usuários e seus componentes bem como as opções para controlar as Funções doSistema R/3.

Página 6 de 54

Page 7: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 7/54

• Discutir sobre as Funções Básicas do R/3

Sistema e Configuração

Efetuando o Login

• Sistema R/3 é um Sistema Client. Com o conceito de Client pode-se controlar as integrações gerais doSistema R/3. Cada sessão o usuário pode somente ter acesso aos dados que estão no Client que foi logado.

• Para se “logar” no Sistema R/3, deve-se possuir um Registro Principal criado para corresponder aoClient logado.

• Por razões de proteção, deve-se entrar com uma password na hora em que for efetuar o Logon.

• Sistema R/3 é multilingual . Sua linguagem default é o Inglês (EN).

Clientes em Um Sistema R/3

• Um Client é uma Unidade Organizacional SELF-CONTAINED dentro do Sistema R/3. O Client possui :- Ambiente de Dados + seu próprio usuário principal (Master)- Transação de Dados-  Atribui registros aos usuários Masters- Gráficos de contas- Parâmetros de Customização específicos

• Usuários são diferentes de Clients. Clients existem independente (Client Independent). Usuários podemsomente visualizar ou processar dados em um Client , de acordo com sua autorização.

• Este isolamento específico é fixada no Design das Tabelas do R/3, bem como nos níveis de Tabelas de Aplicação e Tabelas Customizáveis.

• Customização = Ajustamento do Sistema R/3 de acordo com os requerimentos do Usuário.

• Client 000 e definido como SAP STANDARD e não pode ser alterado pelo Cliente. Pode-se usar esteClient(000) como um Template (amostra, exemplo, padrão) para criar o que se deseja nos Clients adicionais.

• Pode-se definir 997 Clients.

R/3 MENU STRUCTURE

• Deve-se estar logado para visualizar os Níveis do Menu Principal. Este Menu pode ser exibido através dePull_Down Menu (1) ou ser alterado para ser exibido em Cascata.

• Se entrar nos Submenus, o sistema exibira Aplicações por Níveis. Esta lista de funções pode ser chamada por cada Aplicação (criando um Registro de dados, por exemplo).

• Quando as Funções Requeridas são selecionadas, o sistema exibe uma Tela Inicial (3) para edição do objetoda Aplicação. Agora pode-se chamar a Transação especial da Aplicação SAP.

• Menu dinâmico fornece opções de alternativa para se utilizar os Menus na seleção de Funções. Pode-se exibir o Menu Dinâmico através da seleção do Menu Dinâmico.

SCREEN

• TITLE BAR : (BARRA DE TITULO)Exibe as tarefas que estão correntes .

Página 7 de 54

Page 8: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 8/54

• COMMAND FIELD: (CAMPO COMANDO)Pode-se alterar de tarefa diretamente pelo Campo de Comando, basta entrar com o código referente atransação que se deseja executar. Para procurar o Código da Transação para uma determinada Tarefa useMenu Dinâmico ou na Barra de menu – SYSTEM / STATUS.

• OPTIONS: (OPCOES)Quando se clica em Options, pode-se alterar a interface do Sistema R/3 conforme a necessidade individual decada usuário.

• STANDARD TOOLBAR :Pode-se procurar /colocar os ícones que são usados com mais freqüência para facilitar a Navegação noSistema, bem como ícones para salvar Dados e chamar Helps On-line. Para saber qual a função do íconeexistente na Barra de Ferramenta Padrão, basta posicionar o mouse /cursor, que será exibido um textoreferente a sua funcionalidade.

CHECKBOXES :Usadas para se alterar vários itens ao mesmo tempo.

• RADIO BUTTONS : Altera exatamente o item que foi selecionado.

• STATUS BAR:Exibe informações referente ao status corrente do sistema, tais como Nome do Systema R/3, Numero Sessão,Client, Aplicação.

SELECTING FUNCTIONS ( Seleção de funções )

• Pode-se selecionar Funções através de dois caminhos :

♦ Usando o mouse através da Barra de menu ou através das Teclas de Atalho (alt + caracter correspondente do menu, que se deseja acionar)

♦ Entrando com o código da Transação, diretamente no CAMPO COMANDO. (COMMAND FIELD)

Para cada função existente no Sistema R/3, existe um código de Transação. Pode-se entrar com o

código da Transação no Comand Field em qualquer Tela do Sistema ( por exemplo, para alterar afunção, isto e, para mudar de transação, no COMMAND FIELD, digite /nr_codigo_transacao.

Opções de Entrada adicionais :

/n finaliza a transação corrente/i deleta a sessão corrente/osa38 abre uma nova sessão e BRANCHES para a Transação especificada.

• Pode-se acessar COMMAND FIELD usando a Tecla de Atalho STRG+TAB. Deve ser executado através de umgrupo de campo. O comando de entrada é um grupo de campo. Sem um grupo de campo, não se seleciona aTecla TAB.

FIELD HELP

Página 8 de 54

Page 9: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 9/54

• Para chamar a Tela de Help-On-line, deve-se posicionar o cursor (campo, menu, funções, mensagens etc...) eacionar a Tecla F1.

• Pode-se usar a Tecla F1, para exibir informações Técnicas para a aquele campo em que o cursor estaposicionado.

• Use a Tecla F4, para exibir todas as possibilidades de valores que podem servir como entrada para aquelecampo em que o cursor esta posicionado.

• Se todos os campos possuem a marca (interrogação), o sistema só poderá continuar com o processamento datarefa quando se entrar com os valores permitidos para cada campo.

R/3 ONLINE HELP

• Sistema R/3, possue um Help online detalhado. Pode-se chamar este Help através de todas as Telas doSistema.

•  A partir da Release 4.0 A, pode-se exibir um Help on line no formato HTML.

• Clicando na Barra de Menu Help verá as seguintes opções

• EXTENDED HELP : Chamada de Help extendido• R/3 LIBRARY : Acesso online a documentação• CLOSSARY : Procura através dos termos definidos• RELEASE NOTES : Queries• GETTING STARTED : Inicio ***• SETTING : Alterar Help (exibição do R/3)• HELP ON HELP : Exibe como se utilizar o Help.

SYSTEM FUNCTIONS – SERVICES

Pode-se procurar as seguintes opções no Menu do Sistema (Dynamic Menu)Create / End Session Criar e deletar sessões adicionais (até 6)User Profile Fazer configurações especificas de usuários

Services Funções de Serviços importantes

List  E.g. Pesquisa específica por um caracter, string, downloadStatus Exibe as categorias do sistemaLog  Fecha a sessão SAP do usuário (solicita confirmação)

• Selecionando o Menu System Services pode-se encontrar as seguintes funções

Reporting Iniciar Relatórios

Query  Iniciar Queries

Página 9 de 54

Page 10: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 10/54

Output controller  Gerenciar um spool de usuários / requisições de impressãoTable display  Chamar uma Tabela para exibição / manutençãoQuery  Iniciar QueriesBatch Input  Gerenciar sessões de Batch Input ( transferência de dados históricos)Jobs Gerencia Jobs para processamento Background

SAP services Logon no Sistema de OSS da SAP

• Chamada de Menu Dinâmico e sua companhia sempre são procurados por palavras chaves

SYSTEM FUNCTION – USER PROFILE ( Perfil do usuário )

• Menu Opções USER PROFILE contem : (system / user profile )HOLD DATA, SET DATA, DELETE DATA. Estas opções sempre HOLD DATA durante a sessão e entãolevantada para você a chamada da próxima aplicação.

• OWN DATA : Configurar seu endereço e parâmetros de usuário em 3 Templates : FIXED VALUES, inclue suaalteração de Menu Inicial, formato de data e decimais. Pode ser usado somente na Work Área ou uma Área demenu como Menu Start . Usando parâmetros específicos do usuário pode ser predefinido regularmente usadopara entrada de campos.

FAVORITES LIST ( lista de favoritos )

• Cada usuário pode definir sua Lista de Favoritos. Favorites são usados regularmente nas funções do R/3.Pode ser exibidoAcionando o Menu SYSTEM / USERPROFILE / FAVORITE MAINT. Ou usando o MENU DINAMICOatravés de qualquer Tela . O Sistema exibe todas as aplicações relevantes para o Cliente em 3Estruturas.

Esta Transação (SESO), pode também manter seus favoritos, que podem ser inseridos ou deletados.

• CRIANDO FAVORITES :

Para inserir uma transação em sua lista de Favoritos, utilize o mouse para selecionar a transação no Menu 3. Acione Menu Opções para criar Favorites . Pode-se também criar Favorites diretamente através daespecificação do Código da Transação.

Quando se usa a Sessão de Gerenciamento, os favoritos são exibidos .

SESSION MANAGER – COMPANY VIEW

•  A Sessão de Gerenciamento é uma Interface com o usuário para controlar as Janelas do Sistema R/3.Logado no Gerenciamento de Sessão , o sistema exibe uma etiqueta que contem os componentes decontroles chamados para transação e os relatórios centrais.

• Usuários podem usar o mouse para exibir 2 tipos de visoes:• Menu standard SAP e Companhia. Exibe as transações de Negocio suportadas pelo SAP o menu COMPANY

Exibe as transações selecionadas através do MENU SATNDARD SAP .

NOTA: O GERENCIADOR DE SESSAO E EXECUTADO NO WINDOWS 95 E WINDOWS NT ( a partir da Release3.51) E DISPONIBILIZADO PELA SAP a partir da Release 3.0D.

Página 10 de 54

Page 11: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 11/54

ABAP APOSTILA 3

Núcleo de sistema

- Interface de apresentação

- Interface de banco de dados

- Processo de diálogo “DIALOG” - Conceito de transação de SAP

- Atualização assíncrona e o conceito de segurança

- Processamento Background ( de fundo ) - Spooling

Página 11 de 54

Page 12: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 12/54

 - Instanciando R/3

Objetivos

- Discuta os componentes do servidor de aplicação do sistema R/3 e analisam como um pedidode diálogo é processado. ( Dialog request ) - Técnicas básicas para processamento de transações do R/3.

- Definir o conceito de instância e estrutura básica de um Sistema R/3 e seus componentes.

 A interface de apresentação do SAPGUI (GUI + interface Gráfica do usuário ) ImplementaFunções de entrada e saída de uma plataforma-específica do sistema. R/3. O SAPGUI estadisponível para várias plataformas e provê as mesmas funções para cada uma. Se você

aprendeu usar o sistema R/3 em uma plataforma, com a exceção de alguns atributosplataforma-específica GUI, você pode usar o sistema exatamente em outra plataforma damesma maneira.

- Junto com os processos de frontend do software de administração de janela, o SAPGUIimplementa deste modo os elementos de controle gráficos do sistema R/3 . O software deapresentação R/3 implementa a interface gráfica de usuário e usando funções fornecidas peloambiente de apresentação.- O fluxo de dados entre o nível de apresentação e nível de aplicação não consiste em telaspreparadas, mas informações lógicas, compacta que usa elementos de controle e suasentradas.- A seleção de dados a ser transferidas a cada mudança de tela geralmente está entre 1 e 2KB. Você também pode conectar servidores de aplicação em cima de WANs.

- Sistemas gerenciadores de base de dados relacional (RDBMS) São geralmente usados paragerenciar grandes quantidade de dados.- Um RDBMS armazena dados e relacionamentos entre dados na forma de tabelas de duas-dimensoes.- Sql (Linguagem de pesquisa estruturada) é responsável pela organização de dados, acesso emanipulação.- Diferentes fabricantes produzem produtos de RDBMS. Estes produtos não são

completamente compatíveis.- Sistemas de administração de banco de dados relacional distinguem-se pela sua simplicidadelógica . Todos os dados assim como os relacionamentos entre estes dados são armazenadosem tabelas de duas-dimensionais. A definição dos dados, tabelas e relacionamento de tabelasencontram-se no dicionário de dado dados do sistema de banco de dados.- O padrão de ISO 9075 SQL (Linguagem de pesquisa estruturada ) é usado para busca e

manipulação de dados num sistemas de banco de dados de relacional.Dentro da linguagem de programação ABAP , você pode usar SAP Open SQL para ter acessoa dados no banco de dados independente do seu sistema de administração de banco de dados.- A interface de banco de dados R/3 converte declarações de Open SQL das declarações de ABAP em declarações de banco de dados correspondentes. Isto significa que os programas de

aplicação que são escritos em ABAP não dependem do banco de dados usado.

Página 12 de 54

Page 13: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 13/54

- Quando interpretando declarações Open SQL , a interface de banco de dados R/3 confere asintaxe destas declarações e assegura que são utilizados os Buffers de SAP locais na memóriacompartilhada do servidor de aplicação otimizadamente.- Dados que são freqüentemente requisitados pelas aplicações é armazenado nestes buffers

de forma que o sistema não tem que acessar o banco de dados para ler estes dados. Emparticular, todos os dados técnicos para programas ABAP, telas e informação do Dicionário ABAP, como também parâmetros de administração empresariais como a provisão de intervalode número, normalmente permaneça inalterado em um sistema corrente e é então satisfatóriopara proteção. O mesmo aplica a dados de transação que geralmente são tidos acesso comosomente de leitura.

- O processo central do nível de aplicação R/3 é o SAP Despatcher como uma instância decontrole. Junto com o sistema operacional, o SAP Despatcher  controla os recursos para asaplicações do R/3. As tarefas principais do Despatcher  incluem distribuição de carga detrabalho para o processo, e conecta ao nível de apresentação e comunicação organizacional.

- A entrada de Tela de usuário é recebida pelo programa de apresentação de SAP SAPGUI, éconvertida em seu próprio formato e então é enviado ao Despatcher . O pedido de processo éarmazenado então pelo Despatcher em filas de pedidos e processos.- O Dispatcher distribui os pedidos um após o outro aos processos de trabalho disponíveis.Dados são processados de fato no processo de trabalho. Não Há nenhuma tarefa fixa deprocessos de trabalho aos usuários.- Uma vez que os dados foram processados, o resultado do processamento do processo detrabalho é enviado de volta pelo Dispatcher ao SAPGUI. O SAPGUI interpreta estes dados egera a tela de saída para o usuário.- Quando o Sistema R/3 é inicializado, o Dispatcher executa entre outros as ações seguintes:lê os parâmetros de perfil do sistemas, gera áreas de rolagem, inicializa processos de trabalhoe logs sobre o servidor de mensagem (este serviço será explicado depois).

- Os componentes principais de um servidor de aplicação R/3 são:- Dispatcher como uma instância de controle central- Dispatcher filas para requisições que estão chegando.- Numero de processos de trabalho confuguravel para processamento de programas ABAP- Buffers comumente usados na memória compartilhada.

- O manipulador de tarefa coordena atividade dentro de um processo de trabalho de diálogo. Ativa o processador de tela ou o processador de ABAP (que controlam a lógica de fluxo de telae processo respectivamente declarações de ABAP) e executa o roll-in e o roll - out do contexto

do usuário.- O sistema de administração de memória diferencia entre áreas de memórias principais queestão exclusivamente disponível a um processo de trabalho, e áreas de memória que podemser usadas por todos os processos de trabalho. O espaço de memória usado exclusivamentepor um processo de trabalho tem duas áreas reservadas para sessão-específicos de dados quedevem ser mantidos por muito mais tempo que duração de um passo de trabalho. Estes sãochamados roll e paging áreas. Paging Áreas representam um papel menos importante deRelease 3.0. A área de roll contém dados que são automaticamente disponibilizados aoprocesso no inicio de passo de diálogo (rolled-in) e isso é salvado ao término do passo dediálogo (rolled-out). A área de roll (rolagem )também contém dados que caracterizam osusuários (contexto de usuário), como as autorizações deles/delas, informação de administração

e dados adicionais para o ABAP e processo de diálogo. Este dados já foram colecionados nospassos de diálogo que já foram executados. Também existe áreas de memória adicionais para

Página 13 de 54

Page 14: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 14/54

todos os processos na memória compartilhada para o calendário de fábrica, Tela, tabela ebuffers de programa.

- O sistema R/3 de runtime é um grupo de processos paralelos, cooperativos. Em cada servidor 

de aplicação, estes processos incluem o Dispatcher como também vários processos de trabalhoque dependem dos recursos. Podem ser instalados processos de trabalho especiais por processamento de diálogo , atualização , processamento em background de diálogo,processando e spooling.- Assim como estes tipos de processos de trabalho ( processamento de diálogo (d), atualização(v), administração de segurança (E), processamento em Background (B), Spool (S)), o SistemaR/3 de runtime provê dois serviços adicionais para comunicação interna e externa:

- O servidor de mensagem (M) comunica entre os Dispatcher distribuídos dentro doSistema R/3 e é então o pré requisito para scalabilidade ( em escala ) com vários servidores deaplicação que estão processando em paralelo.

- O servidor Gateway (portal ) ( também chamado de manipulador de CPI-C) permite

comunicação entre R/3, R/2 e sistemas de aplicação externos.

- As transações são unidades de processamento que estão agrupadas em funções queexecutam consistências, alterações em banco de dados que são permitidas paraadministração do negócio. Um exemplos típicos são lançamentos de crédito e débitos, quesão usualmentente apenas usados juntos , ou criando uma ordem e reservando o materialconcerniram.- Uma transação SAP é implementada com uma série de consistências conectadas em passosde dialog. A apresentação dos passos de user dialog e feita na tela (ou um dynpro que é umprograma dinâmico = modelo e lógica de fluxo).- Transações SAP não são necessariamente executadas por um processo de trabalho

simples de dialog. Ao invés disso, diferentes dialog WORK PROCESS podem processar passos individuais de um dialog em uma transação. Você também pode usar atualizaçãoassíncrona para processamento de parte de uma dialog de transação e ainda atualizar obanco de dados correspondente em um processamento diferente cada um host diferente.

- Em um sistema R/3, entradas de dados de um usuário e processada pelos passos iniciais deum dialog (PAI: processamento após entrada de dados) e pelo processamento e envio daspróximas telas (PBO: Processamento Após saída); o sistema então recebe a próxima tela

processada pelo usuário e a analisa mais uma vez e processa a entrada de dados nesta tela.Cada passos de uma dialog para o usuário e o sistema não são colocadas no mesmo tempoem um local . Para o sistema, ambos os passos são chamados PBO e PAI.

- O conceito de transação, até onde foi explicado previamente, corresponde ao termo UnidadeLógica de Trabalho (LUW)- Como sistemas de banco de dados atuais não suportam fluxos de transação para todos osprocessos, você deveria diferenciar entre as camadas elementares de processo (LUWs) noSistema R/3 e o sistema de banco de dados (de agora em diante chamado: SAP-LUW / DB -LUW). Um DB-LUW é executado completamente, ou não. Assegura que o banco de dados éconsistente.

Isto significa que os dados estão logicamente corretos antes e depois do LUW. O mesmosolicita DB-LUW e SAP-LUW.

Página 14 de 54

Page 15: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 15/54

- O começo de uma transação SAP também é o começo de um SAP-LUWs é completado por um " COMMIT WORK " que e um comando de codificação do ABAP ou por um final daatualização assíncrona (segunda parte do SAP-LUW) Dentro um SAP-LUW, cada passo dediálogo é executado através de processo de trabalho, como descreveu previamente e então

corresponde a um DB-LUW. Atualizações de banco de dados ocorrrem dentro de um DB-LUW.- Predominantemente a técnica usada em SAP-LUWs é atualização assíncrona. Isto significaque mudança de request do usuário são temporariamente colecionados e ao término da fase dediálogo (quer dizer, na segunda parte do SAP-LUW) o banco de dados é atualizado emprocessos de trabalho separados. Como qualquer outro passo de diálogo, esta atualizaçãoacontece em um de seu próprio DB-LUWs para alcançar consistência de dados.O mecanismo atual corrente em um banco de dados relacional não são geralmente suficientespara manusear os dados de negócio (tais como : ordens de vendas) que afetam várias tabelasno database. O Sistema R/3 possui uma função de gerenciamento que e executada enqueueprocesso de trabalho. Isto previne acesso aos mesmos objetos de varias aplicações.

O enqueue gerencia processo trabalho usando armazenamento da Lock Table na memóriaprincipal do servidor ( enqueue processo de trabalho e executado).

Se um Lock request(a) , o sistema checa se existe ou não conflito com as entradas existentesna Lock Table. Se no caso existir a Lock Request e rejeitada. Este caminho pode avisar aosusuários que a operação de requeste não esta disponibilizada.

 As telas de Dialog e Enqueue Work Process não são alocados no mesmo servidor deaplicação, esses dois processos trabalha em cima do Servidor de Mensagem. Os serviços doSistema R/3 serão melhores explicados no decorrer do curso.

- Da mesma forma que o sistema pode executar Locks Requests , pode-se primeiro definir Lock Object no Dicionário de ABAP. O Lock Object contem as entradas das tabelasalocadas. Um Lock Object e uma Tabela primaria. Pode-se também defini-lo como tabelasecundaria usando relacionamento Foreign Key (O nome Lock Object definido pelo usuáriodeve iniciar com EY ou EZ)

- Para um Lock Object deve-se especificar o modo do Lock (S Lock para leitura E Lockd paraescrever. O Lock escrita (mode E) só pode ser setado pelo usuário que possui acesso aosregistros de dados. O mesmo usuário pode remover o modo do Lock de acordo com aseqüência de chamada do programa (call chain).

- Se um Lock Object é ativado, o sistema gera Modulos de Funcao ENQUEUE e DEQUEUE. Osmódulos de função são chamados ENQUEUE_ <object_name> e DEQUEUE_ <object_name>.- Locks setados por uma Aplicação / Programa só podem ser resetados pela mesma

 Aplicação Programa, ou usando um programa de update especial ( segunda parte do SAP –LUW)

- Processos de Dialog podem causar alterações diretas no database através da interface dedatabase. Por exemplo, usando statements para o Servidor de Database (mesmo se oServidor do database se encontra ou não no mesmo Host).

- Com atualização assíncrona, processando a ABAP idioma elemento CHAMADA FUNÇÃO '... 'EM TAREFA de ATUALIZAÇÃO do pedido de mudança é designado como um registro detronco em " tabela " de intermédio VBLOG (c). Esta tabela de sistema economiza os pedidos de

mudança de usuário que aconteceram dentro de uma transação de SAP.

Página 15 de 54

Page 16: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 16/54

- O registro de tronco contém os nomes das rotinas de atualização ser ativado como tambémtodos os dados necessário fazer as mudanças ao banco de dados. Se o usuário cancela umatransação durante a fase de diálogo, ou a transação termina por outras razões, então a entradade header na tabela de VBLOG pode não ser completada. As mudanças não São escritas ao

banco de dados.- Atualizando registros de tronco podem ser subdivididos em V1 e V2 componentes deatualização. São armazenados processos primários, tempo-críticos em V1 componentes; sãoarmazenados processos secundários que são menos tempo-críticos em V2 componentes.

-  A própria atualização é ativada pelo comando de ABAP COMMIT WORK- especificado no último passo de diálogo (d) de uma transação de SAP. As seguranças

fixadas pelo programa de aplicação que usa o enqueue trabalham processo é passadosobre a tarefa de atualização.

- Na segunda parte do SAP-LUW, os processos de trabalho de atualização assumem copiando(E) o tronco registra da tabela de VBLOG e atualizando o buffered de pedido de mudança lánas tabelas de aplicação correspondentes no R/3 banco de dados (F).- Na segunda parte do SAP-LUW, os processos de trabalho de atualização assumem copiando(E) o tronco registra da tabela de VBLOG e atualizando o buffered de pedidos lá nas tabelas deaplicação correspondentes no R/3 banco de dados (f).

- Não podem ser corrigidos erros durante a atualização através de contato interativo como usuário. Ao invés, o sistema termina processando dos componentes de atualização atuais. Nocaso de erros nos V1 componentes primários, são reajustadas as mudanças de banco dedados que já foram feitas. O registro de tronco é determinado um erro ID e não é apagado databela de VBLOG. Não é executada V2 atualização subseqüente qualquer um. Se um V2componente é terminado, são reajustadas só as mudanças de banco de dados que foram feitas

por este componente. O registro de tronco é determinado um erro ID e não apagou. O sistemacontinua atualizando o remanescente dos componentes secundários.- Os usuários são notificados automaticamente através de correio de expresso se umaatualização (V1or V2) é terminado. O sistema pode avaliar e pode dirigir a atualização incorretaque terminou (veja " unidade de Administração ").

- Ao término do SAP-LUW, a tarefa de atualização remove as fechaduras (g).- Também são removidas fechaduras das tabelas de fechadura se uma atualização éfracassada (h).- Se uma atualização é terminada, podem ser atualizados registros de tronco depois na tabelade VBLOG e podem ser dependidos do problema. Este método é geralmente usado por 

terminou V2 componentes. Você não deveria usar isto para terminou V1 componentes.SAP recomenda que você processe a transação novamente (OSS notam 16083).- Se as fraturas de banco de dados abaixo ainda está sendo atualizado, o VBLOG anotamregistros que não têm contudo sido atualizado (estes têm estado " INIT ") é atualizadoautomaticamente quando o banco de dados é reiniciado depois. Você pode usar parâmetros deperfil para controlar esta R/3 função De sistema.

- Fundo processa para fundo que processa (e não em modo de diálogo) é definido para tarefasperiódicas como reorganização ou transferindo dados automaticamente de um sistema delegado no Sistema R/3. Este tipo de processos é dirigido no sistema análogo para processo de

online.

Página 16 de 54

Page 17: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 17/54

- Fundo processar está marcado na forma de trabalhos. Cada trabalho consiste em um maispassos (ABAP informa ou programas externos), isso são processados consecutivamente. Vocêtambém pode fixar prioridades (de " C " para " UM ") de forma que certos trabalhos é dirigidoprimeiro.

- Trabalho processando geralmente não é ativado imediatamente (começo imediato). Ao invésvocê especifica uma data de começo quando você programa o trabalho. Também pode ser necessário começar trabalhos periodicamente. Por exemplo, se há qualquer trabalho decontrole de sistema que é repetido em um ciclo fixo.-o scheluder de banho é responsável para ativar o trabalho automaticamente no momentoespecificado. O scheluder de grupo é um programa de ABAP que procura trabalhos ser executado na tabela de planificação e então assegura que eles são executados.

- Carga de trabalho equilibrar é usado para processo de fundo. Isto apoia instalações comvários servidores de fundo como também instalações com vários processos de trabalho degrupo em um servidor. A menos que caso contrário especificasse, um processo de fundo que

ficou livre executa o próximo pedido de fundo (trabalho) isso acontece no sistema.- Todos os trabalhos que especificam o servidor designado são levados pelo fundo queprocessa schedulers de banho de servidor e são começados nos servidores alocados.- São distribuídos os trabalhos restantes que não especificam o servidor designado então deacordo com a carga no fundo que processa servidor.-trabalho que também processa leva em conta a prioridade de um trabalho. Trabalhos quepertencem para classificar " UM " tenha a prioridade mais alta e é processado então primeiro.(Sucessão: Prioridade UM com servidor designado especificado antes de prioridade UM semespecificar o servidor designado; prioridade B com o servidor designado especificado antes deB sem especificar o servidor designado e assim por diante).

- Enrolando em carretel se refere à transferência de buffered de dados a dispositivos deprodução como impressoras, fac-símile e assim por diante. Em sistemas distribuídos,administração de networked é necessária para esta produção.- O R/3 mecanismo de carretel De sistema pode prover imprima pedido para impressoras espoolers externo ambos dentro de uma cadeia local como também em cima de Wans. Em cadaanfitrião concernido, o mecanismo de carretel coopera com o sistema de carretel local. _ Spool pedido é gerado em modo de diálogo ou durante fundo que processa e é então fixo nobanco de dados de carretel com detalhes na impressora e o formato de impressão. O própriodados é armazenado no TemSe (objeto Seqüente Temporário).- Quando dados serão imprimidos, um pedido de impressão é gerado para um pedido de

carretel. Este pedido de impressão é processado por um processo de trabalho de carretel.- Uma vez o processo de trabalho de carretel formatou os dados para produção, devolve opedido de impressão ao sistema de carretel de sistema operacional.- O spooler de sistema operacional assume a administração de trança e assegura que o dadosexigido é passado para o dispositivo de produção.

- Uma Instância é uma unidade administrativa que combina R/3 componentes De sistemasprovifing um ou mais serviços. São começados os serviços providos por uma instância ou sãoparados ao mesmo tempo. Você usa um perfil de instância comum para fixar parâmetros detodos os componentes de uma instância é.- Um Sistema R/3 central consiste em uma única instância que provê todos os R/3 serviços De

sistemas necessários.- Cada instância tem sua própria SAP área mais amarela.

Página 17 de 54

Page 18: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 18/54

- o exemplo exibe montando um servidor de diálogo adicional (UM) e fundo que processaservidor (B).Estas instâncias que geralmente provêem serviços específicos corridas nos próprios anfitriõesdeles/delas mas também pode ser acomodado no mesmo anfitrião.

- O servidor de mensagem proporciona para os servidores de aplicação uma mensagem centralconserte para comunicação interna (atualize gatilho, pedido e remove fechaduras, fundo degatilho pede, por exemplo).- Os Dispatcher para os servidores de aplicação individuais comunicam pelo servidor demensagem que é instalado uma vez em cada Sistema R/3 (é configurado nos R/3 arquivos deperfil De sistemas).- Servidores de apresentação planos podem anotar sobre um servidor de aplicação peloservidor de mensagem. Isto significa que você pode usar mensagem servidor desempenhobanco de dados para distribuição de carga automática (logon que equilibra).

Resumo

- A interface de banco de dados converte a SAP SQL ABERTO de ABAP no SQL do softwarede banco de dados usou.

- Controle de fluxo consiste no Dispatcher e processos de trabalho que processam pedidos deusuário.

- A interface de apresentação que usa o SAPGUI é implementada.

- Um pedido de diálogo é enviado do servidor de apresentação SAPGUI para o Dispatcher deservidor de aplicação e então é processado através de processos de trabalho diferentes.

Página 18 de 54

Page 19: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 19/54

ABAP APOSTILA 4

Administração e Serviços Remotos

• Princípios do Sistema de Segurança R/3• Gerador de Perfil e Administração de Usuários•  Administrador de Funções• Sistema Central de Gerenciamento de Computação• SAP Serviço e Suporte

Objetivos

• Descrever os aspectos elementares de segurança e também uma simples forma deautorização.

• Definir as ferramentas usadas pelo administrador do sistema e as funções estendidas aosistema monitoração.

• Discussão SAP serviço e suporte

Aspectos do Segurança dentro do Sistema R/3

 A tecnologia do Sistema R/3 integra mecanismos de segurança com vários níveis: Apresentação: O SAPGUI software de controle de uso total para controlar a integridade

de cada vez que o R/3 frontend é iniciado. Isto também reconhece se há um vírus presenteno computador.

Network / Comunicações: O Firewall e o SAP router protege a rede interna. Você tambémpode usar mecanismos adicionais de segurança integrando produtos para segurançaexterna, como por exemplo o SECUDE (ou Kerberos).

Aplicação: O conceito de autorização evita o acesso não autorizado a dados e transações.Os Usuários precisão de se autenticar com seu ID e password. O mecanismo interno detrava do Sistema R/3 também prevê alterações de usuários em tempo real.

Internet: O sistema R/3 suporta o atual padrão segurança da Internet, como por exemplohttps.

Base de Dados (Database): Somente administradores de Base de Dados pode acessar dados do R/3 de fora do Sistema. O Elaborador (manufacturer's) de Base de Dados adotamecanismos de segurança.

Passwords: Existem usuários pré configurados nos clientes 000 e 001 após o Sistema R/3ser instalado. Estes usuários default, DDIC e SAP, possuem autorizações gerais. Vocêdeveria, então, mudar o password imediatamente deles.Você consegue achar mais informações sobre segurança nas notas OSS, noguia de instalação, documentação R/3 online ou no guia de segurança.

O Conceito de Autorização

Página 19 de 54

Page 20: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 20/54

Conceito de autorização SAP identifica uma série de diferentes autorizações de usuários.Estas permissões são todas centralizadas em um registro mestre para este usuário.

Conceito de autorização SAP é orientado ao objeto. Várias unidades são protegida (fábrica,

centro de custo, fornecedor por exemplo) por um conjunto de objetos de autorização. Para criar uma autorização, você usa exatamente um objeto de autorização. O objeto de

autorização é portanto preenchido com valores e formas de uma autorização.  Autorizações não são designadas diretamente para o usuário, mas dentro de um perfil de

usuários. Para manter uma proteção mínima, você precisa combinar autorizações dentro de um perfil

de autorizações. Estes são portanto designados para usuários e não possuemindividualidade no registro mestre. Se mudar a autorização de acesso dentro de um grupoaltera-se efetivamente para todos os usuários correspondentes ao perfil dentro do registromestre.

Grupos são compostos pela adição de níveis de organizações, para qual combina comvários perfis de autorização. Eles são definidos para aqueles usuários que trabalham comvários perfis de autorização ao mesmo tempo.

Gerador de Perfis: Autorizações

gerador de perfis foi desenvolvido para facilitar a fazer autorizações e perfis. Defini-se primeiro a atividade do perfil e então seleciona as transações e oque vai pertencer 

a aquilo. Da associação do menu, acha-se todas as transações pertencentes a aquelatransação requerida. Portanto todos os usuários são designados a um grupo.

Por motivo de segurança, usuários não são aceitos até você alterar a autorização do grupo.

"Usuário comparado dentro do registro mestre."Adicionando pessoas elas podem executar as tarefas "Designados para osusuários do perfil ativo" e "Designado para o perfil do usuário no registromestre"

Sumário:Somente um objeto de autorização é usado.Perfis de autorização e autorizações são gerados automaticamente.Você não requer detalhes técnicos- O administrador do sistemausa transações para moldar transações do menu da sua companhia.Isto simplifica a criação e administração de perfis de autorização.

Administração do Sistema

Sistema R\3 proporciona para os administradores de sistemas vários ferramentas poderosaspara executar as tarefas diárias deles/delas.Você pode achar as funções seguintes em algumas das transações listadas::

• Servidor, usuário e avaliações de processo de trabalho• Gerencia, protege e atualiza• Crie mensagens para o sistema• Proteção Códigos de transação• Monitora e analisa o Log do sistema.

Administração do Sistema: Terminações

Página 20 de 54

Page 21: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 21/54

  Se um processo de trabalho dialog é terminado e este escrito ao VBLOG (1), então haverá

dados incompletos no VBLOG que não pode ser atualizado. Estas entradas podem ser apagadas automaticamente da próxima vez que você inicializar o sistema. As tabelas de

aplicação permanecem inalteradas. Uma terminação de atualização (2) pode ser ativado por várias razões. Informação "

VBTST300 " um exemplo. Se você executar este relatório que usa opção "I" em vez dodefault "U", então uma inserção é transmitida a uma Tabela. Se esta inserção é repetidaentão na mesma tabela, isto ativa a condição "Chave Duplicada" duplicada na codificaçãoporque uma já existe entrada na tabela com esta chave.

Se são terminadas atualizações, o sistema envia um correio expresso ao usuário que ativoua atualização. Qualquer passo adicional a ser levado deve ser transmitido ao administrador de sistema.

Transação SM13 proporciona para as administradoras de sistema ferramentas de análisepara reconhecer as atualizações terminadas. Uma vez que o erro que causou a terminaçãofor corrigido (por exemplo, se você reorganiza a tabela, aumenta o número máximo deextensão, corrija a codificação e assim por diante,) o usuário final devera reiniciar aatualização (update).

No caso de termino de atualização V2, você pode atualizar este log de registro. Porém, vocênão deve reconhecer V1 deste modo, caso contrário isto pode criar inconsistências nosdados.

R/3 Sistema de Gerenciamento do Centro de Computação Com o Sistema de Gerenciamento do Centro de Computação (CCMS) você pode monitorar,

pode controlar e pode configurar um Sistema R/3. Você pode usar as ferramentas parafornecer analises carga de sistema e determinar o consumo de recurso pelos várioscomponentes do sistemas.

CCMS lhe proporciona uma série de monitores gráficos e funções de administração:Começando e parando o Sistemas R/3Sistema R/3 monitoração e análiseRelatórios automáticos de alerta do sistemaDistribuição dinâmica de usuárioR/3 configuração do sistema: Editando perfis de sistemas (perfil não autorizado)Processando e controlando trabalhos em background, sincronização de banco de

dados e backups.

Monitor de Alerta Workload  O Monitor de Alerta Workload exibe resposta do sistema em média como também exibe um

diário com o tempo de resposta comum. O tempo de resposta comum é avaliado e pré-definido, estima-se insatisfatório como resultado de runtimes um longo pedido ao banco dedados.

No Sistema de Gerenciamento do Centro de Computação (CCMS) foi concebido monitoresalertas como sistemas de advertência. Estes monitores exibem monitores críticos com

stoplights vermelho, amarelo e verde que exibe o estado, como também um monitor de textoexibe a mesma informação em forma de texto.

Página 21 de 54

Page 22: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 22/54

Os monitores melhoram o tempo dos administradores de sistemas para reagir quandoproblemas acontecem. Isto reduz tempo de manutenção de sistema.

Para o Lançamento 4.0, o SAP mudou fundamentalmente o Sistema R/3 que monitoraestrutura. Você pode definir suas próprias visões de elementos diferentes no ambiente do

Sistema (R/3, banco de dados, OS, network). Isto significa que o sistema só exibemensagens de erro para essas áreas e processos que você selecionou. Você pode nomear os erros que acontecem com seu próprio nível de prioridade.

R/3 serviço & Apoio: Infra-estrutura virtual

Como o serviço e apoio são organizados? SAP Subsidiárias Internacionais (local)

• Treinando• Consultando

• Apoio local Serviço regional & Centro de Apoio (regional)

• Serviço e apoio para a Europa, América, Ásia e Austrália• Processo secundário de pedidos de apoio (7 x 24h)

Sede (central)• Desenvolvimento• Serviço estratégico e planejamento de apoio• Coordenação de serviço e atividades de apoio

SAP Serviços DistantesSistema de Serviço Online (OSS)

O OSS permite para os usuários consultar o banco de dados extenso do SAP de notas, se eles têm qualquer pergunta ou se qualquer problema acontece, consulta-se estas notas antes de criar uma mensagem deproblema no OSS.

Going Live e Early Watch:o Going Live checa ocorrencias curtas antes de um Sistema R/3 ser usado rm producao. Este teste confereuma vez se o sistema pode cumprir com exigências. Uma sessão de Early Watch reconhece pico dedesempenho em um Sistema R/3 e propõe contramedidas satisfatórias.

Consulta Remota:

Durante uma sessão Consulta Remota, consultores do SAP podem ter acesso ao clienteSOLAPE sistema especificado pelo cliente, e tenta analisar e resolver o problema noSistema R/3 da estação de trabalho deles.

SAPNet:SAPNet exibe noticias atuais, documentação, algumas ferramentas (QuickSizer) e muito mais. Você tambémpode usar o forum de discussão para oferecer e procurar informações e experiência de clientes disponível aoalcance dos usuários.

Serviços adicionais: Arquivos Remotos e upgrades, conversão, migração e serviços Euro.

Sistema R/3 Serviço Online (OSS)

Quais funções pode usar você no OSS? Você pode informar problemas de cliente no sistema R/3.

Página 22 de 54

Page 23: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 23/54

Você pode procurar notas no Oss que usa keywords (palavras-chave). Você pode ver as mais recentes informações do SAP (Hotnews) em hot packges ou Oss

novas funções, por exemplo. Você pode gerar e pode lançar chaves de desenvolvimento (Release 3.0), para desenvolver 

e criar objetos standards SAP. Você pode importar correções preliminares que usam hot packages diretamente em um

Sistema R/3. Você pode manter os dados de uma customização Oss (telefone e número de fax, primeiro

nome e sobrenome) e submete os usuários novos. Você pode achar o mais recente treinamento, curso e overview do SAP. Usando Conexão de serviço você pode permitir para um funcionário do SAP ter acesso ao

sistema de cliente para assegurar que um erro é corrigido mais depressa.

Sumário

•  Avaliação de medidas de segurança• R/3 ferramentas do administrador de sistema• Funções de Gerador de perfil• CCMS ferramenta de administração de sistema• Serviço SAP e apoio

Página 23 de 54

Page 24: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 24/54

 

ABAP APOSTILA 5

Dicionário de dados ABAP – Conteúdo:

• Modelagem de dados para Reserva de Passagens Aéreas (Flight) para o curso detreinamento em ABAP

• Visão geral sobre o dicionário de dados ABAP• Elementos do dicionário de dados ABAP

Dicionário de dados ABAP – Objetivos:

 Ao concluir esse capítulo, você estará apto para:

• Descrever o modelo de dados para Reserva de Passagens Aéreas (Flight) utilizado nocurso de treinamento em ABAP

• Criar estrutura de dados no Dicionário de ABAP• Descrever o os mais importantes elementos do dicionário de dados ABAP

Modelagem de Dados:

Mundo Real  

Modelo de Dados  

Dicionário de Dados ABAP  

Relacionamento em banco de dados.

Reserva de Passagens Aéreas (Flight) para Treinamento no curso de ABAP:

Cidade de Origem

Aeroporto de OrigemAeroporto de Destino

 

Cidade de Destino

Página 24 de 54

Page 25: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 25/54

Questões da Agência de Viagens•  Aeroportos disponíveis• Cia. Aéreas disponíveis no momento desejado• Vôos disponíveis na data desejada• Informações adicionais sobre vôos sempre atualizadas: Preço, Capacidade, ...

Todos de treinamento em ABAP usaremos o mesmo modelo de tabela. Até o momento,apenas uma parte simples da modelagem será apresentada; você poderá obter informaçõesmais detalhadas sobre isso a qualquer momento.

Como um viajante tentando ir de um lugar a outro, você espera que sua agência de viagensesteja capacitada para poder lhe proporcionar as seguintes informações:• Qual a melhor conexão oferecida e mais direta possível?• Qual os horários de vôos na data em que eu quero viajar?• Como eu posso otimizar as condições sobre as quais eu estou viajando, isso é, qual o

mais barato, de conexão mais rápida, que tem o aeroporto de destino mais próximo deonde eu quero ir?

Do ponto de vista da agência de viagens é um pouco diferente: todos as informaçõestécnicas estão organizadas e armazenadas em tabelas em um banco de dados centralseguindo a estrutura dessa base de dados. A quantidade de dados armazenada é maior doque a agência de viagens quer ou precisa. Eles estão interessada em quais clientes têmreserva em qual vôo, quando foi feita a reserva, quanto o cliente pagou, e assim por diante.Essas diferentes visões e suas demanda de correspondência sobre modelo de dados

demonstram a necessidade de usar programas para organizar os dados de maneira que secumpram todas as diferentes demandas que os usuários fazem. Modelo de Dados:

Todas as partes de informação que estão logicamente dependentes um do outro contementidades (tabelas): Em ABAP, no modelo de Reserva de Passagens Aéreas existementidades individuais para: Todas as cidades, Todos os aeroportos, Todas as Cias Aéreas, Todas as rotas de vôos, Todos os vôos.

Essas entidades estão todas relacionadas umas com as outras de maneira pré-determinada: Todas as rotas de vôos têm um aeroporto de origem e destino de um aeroporto. Uma rota de vôo é caracterizada por uma cia. aérea, aeroporto de origem, aeroporto de

destino e horário de partida. Os vôos para uma rota particular podem ser oferecidos em dias diferentes em um

determinado ano, mas a rota deve existir antes que um vôo possa ser criado Cidades que tem todos os aeroportos ao seus arredores.

Página 25 de 54

Page 26: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 26/54

Esse modelo de dados gerencia todas as informações que você precisa sem redundânciadesnecessária e faz o possível para que a agência de viagens acesse os dados do ponto devista dos clientes.

Realização dentro do dicionário de dados ABAP:

Os exemplos e exercícios do curso de ABAP, bem como a documentação do ABAP, tudoutiliza o modelo para Reserva de Passagens da SAP. Todo o repositório de objetos domodelo de dados para Reserva de Passagens está localizado na classe de desenvolvimentoSAPBC_DATAMODEL.

Na lista que segue, temos as tabelas mais usadas do modelo de Reserva de Passagens docurso de ABAP : SPFLI: Tabela com as conexões dos vôos SFFLIGHT: Tabela de vôos SBOOK: Tabela de reservas

Integração dentro da Workbench do ABAP (Ativo):

O dicionário de dados ABAP é um componente ativo e integrante da banco de trabalho do

 ABAP. Qualquer mudança feita no dicionário de dados se torna efetiva uma vez relevantesem programas ABAP e telas.

É uma interpretação natural no sistema R/3. O interpretador não opera diretamente nocódigo original dos programas e telas ABAP, mas, interpreta e gera sua representaçãointernamente.

Quando as mudanças são feitas no dicionário de dados ABAP, automaticamente é acionadaa representação interna, o que garante que o interpretador estará sempre trabalhando comos últimos dados.

Objetos básicos do dicionário de dados:

Os objetos de definição de dados básicos do ABAP são tabelas, domínios e elementos dedados. Domínios descrevem os atributos técnicos dos campos da tabela (por exemplo tipodo campo, tamanho), enquanto que os elementos de dados contêm a definição semântica(por exemplo uma descrição breve do campo)

Campos não são objetos independentes e podem apenas ser mantidos em tabelas. Elespressupõem a existência de um elemento de dados.

Um elemento de dado pressupõe a existência de um domínio. Podem ser definidos domínios sem referência adicional para outros objetos de dicionário.

Conceito de domínio de dois níveis:

Página 26 de 54

Page 27: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 27/54

No dicionário de dados do ABAP, dois tipos de objetos são usados para definição de dados.Esses são o domínio técnico (conhecido com domínio no sistema R/3) e domínio semântico(conhecido como elementos de dados no sistema R/3).

O domínio é um objeto central usado para descrever os atributos de um objeto de

negócios. Descreve a variação de valores de um campo que é definido especificandoatributos formais como um formato externo e tamanho e pela especificação valores fixos outabela de valores.

O elemento de dado é um objeto semântico. Descreve precisamente o propósito dodomínio em uma configuração particular de negócios para os campos que dependam disso.

Por exemplo, o campo FORCURAM (tabela SBOOK) e PRICE (tabela SFLIGHT) pertencemao mesmo domínio S_PRICE. Para distinguir suas aplicações no contexto do negócio, ocampo FORCURAM usa um elemento de dado S_F_CUR_PR e o campo PRICE usa oelemento de dado S_PRICE. Às vezes, ambos pertencem ao mesmo domínio porque elessão campos que possuem atributos técnicos similares.

Tabelas transparentes:

Quando o dicionário de dados ABAP é ativado, automaticamente uma tabela transparente écriada no banco de dados.O processo traduz a descrição do banco de dados independentes em uma tabela nodicionário de dados ABAP na linguagem do sistema gerenciador de banco de dados queestá sendo usado.

 A tabela do banco de dados tem o mesmo que no dicionário de dados ABAP. Os campostambém têm os mesmos nomes ambos no banco de dados e no dicionário de dados ABAP.Os tipos de dados no dicionário de dados ABAP são convertidos para os tipos

correspondentes do sistema gerenciados de banco de dados.  A partir da versão Release 3.0, a seqüência de campos no dicionário de dados ABAP pode

variar da seqüência de campos dentro do banco de dados. Isso permite que você insiranovos campos sem ter que converter a tabela executando uma reoganização física. Quandoadicionando novos campos, o ajustamento é feito por mudança no catalogo do banco dedados (ALTER TABLE). Um novo campo é acrescentado na tabela do banco de dados,indiferentemente de sua posição no dicionário de dados ABAP.

Criando Tabelas transparentes:

Na definição de uma tabela do tipo TRANSP no dicionário de dados ABAP, vocêautomaticamente cria uma tabela pelo utilitário do banco de dados dentro do banco dedados.

 Apenas operações complexas como conversão de tabelas deve ser realizada por esseutilitário. Operações simples, como criação de tabelas, podem ser realizadasautomaticamente ativando os objetos no dicionário de dados ABAP.

No utilitário do banco de dados, você pode controlar os objetos do banco de dados com umaferramenta de análise.

Estruturas:

 Além de definir tabelas armazenadas no banco de dados, você também pode definir estruturas de dados que usamos quando realizamos cálculos nos programas, ou quando

Página 27 de 54

Page 28: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 28/54

passamos dados entre programas, globalmente no dicionário de dados ABAP. Esse tipo dedefinição é conhecido como estrutura.

 As estruturas não correspondem a objetos no banco de dados. Estruturas são definidas e ativadas no dicionário de dados ABAP. Elas podem ser 

endereçadas por programas ABAP como tabelas declaradas no comando TABLE. Enquanto os dados podem ser permanentemente armazenados em tabelas transparentes

no banco de dados, dados em uma estrutura de dados existem apenas durante a execuçãodo programa.

Entradas e saídas de dados na tela podem ser diretamente relacionadas com campos deestruturas. Os elementos de semântica de um elemento de dados também podem utilizadosaqui. Com a vantagem que mudanças nas características técnicas ou semânticas devemapenas ser feitas em um objeto do dicionário de dados e que essas mudanças entram emvigor em todas as referências dos campos.

O Dicionário de estruturas também pode ser utilizado como tipos globais (ao longo de todo

sistema) por módulos de funções.Criando Estruturas:

Para definir de uma estrutura proceda da seguinte maneira:-  ABAP Workbench- Objeto único (Single object) Objetos de dicionários (Edit)- Estruturas (Structure)

Na próxima tela, você pode entrar com o nome dos campos de sua estrutura e especificar onome de um elemento de dado já existente (ou definir um novo) que aponta para um

domínio. Depois de verificar os erros da estrutura, salve e a ative. Sua estrutura está pronta para ouso.

Dicionário de dados ABAP: Visões (Views)

Views são visões de aplicações-específicas de diferentes tabelas do Dicionário de dados ABAP. Views podem conter uma seleção de campos de uma simples grande tabela oucampos de várias tabelas diferentes.

Views permite a você juntar informações de campos de diferentes tabelas e apresentar issopara os usuários na forma que eles desejam quando estão trabalhando com sistema R/3.

Views são principalmente usadas para programação em ABAP e para ajuda online F4.

Técnicas avançadas: Localizar Help

Se você relaciona um campo de entrada a um objeto do Dicionário de dados ABAP que temuma pesquisa relacionada a ele, os possíveis valores serão automaticamentedisponibilizados para você.

Se um campo do Dicionário de dados ABAP não tem uma ajuda relacionada, mas a tabelade checagem tem o sistema de localização de ajuda a ela relacionada, então essa ajuda éapresentada.

Se não existe ajuda relacionada ou para o campo ou na tabela de checagem e o elementode dado tem, então a ajuda será apresentada.

Página 28 de 54

Page 29: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 29/54

Os procedimentos técnicos de trabalho são os seguintes: Sempre que possível escolher a caixa de combinação ou F4, o sistema verifica no

Dicionário de dados para ver se uma ajuda está direta ou indiretamente relacionadaàquele campo.

Se esse for o caso, então a ajuda correspondente será apresentada em uma caixa dediálogo.

Definindo uma ajuda no Dicionário de dados lhe permite adptar possíveis valores para suaspróprias necessidades.

Dicionário de dados ABAP:

Resumo

O Dicionário de dados ABAP está ativamente embutido no ABAP Workbench

Os principais elementos do Dicionário de dados ABAP são: Tabelas transparentes e Views Estruturas Elemento de dados e domínio Localização de ajuda

Página 29 de 54

Page 30: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 30/54

 ABAP APOSTILA 6 

OBJETIVOS 

Com a conclusão desta unidade, você será capaz de:

• Criar programas em ABAP contendo o diálogos com o usuário e diálogos de banco dedados

• Descrever vários objetos de desenvolvimento (Repository Objects) e como eles são usados

• Criar exemplos básicos desses objetos de Repositório que introduzidos no curso usam asferramentas apropriadas de ABAP Workbench

 ARQUITETURA R/3 CLIENT/SERVER 

• O sistema R/3 tem uma arquitetura de software modular que segue software - orientado eprincípios client/server.

• O sistema R/3 aloca apresentação, aplicações, e armazenamento de dados a computadores

diferentes. Isto serve como a base para escalabilidade do R/3.• O mais baixo nível é o de banco de dados. Aqui os dados são administrados com ajuda de

um banco de dados relacional pelo sistema. Além de dados de mestre e dados detransação, programas e metadata que descrevem o sistema de R/3 são armazenados eadministrados aqui.

• Programas em ABAP executados ao nível de aplicação, aplicações providas pela SAP e osque você mesmo desenvolve. Programas em ABAP trabalham com dados chamados comodo nível de banco de dados e aloca dados novos.

• O terceiro nível é o nível de apresentação. Este nível contém a interface de usuário na qualterminam o usuário podendo ter acesso à aplicação , entrar em dados novos e receber osresultados de um processo de trabalho.

•  A distribuição técnica de software é independente de seu local físico no hardware.Verticalmente todos os níveis podem ser instalados em cima de um ao outro em um

Página 30 de 54

Page 31: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 31/54

computador ou cada nível em um computador separado. Horizontalmente, aplicação eapresentação de componentes nivelados podem ser divididos entre qualquer número decomputadores. A distribuição horizontal de componentes de banco de dados, porém,depende do banco de dados de tipo instalado.

 

 ABAP 

•  ABAP é uma linguagem de programação que a SAP criou para aplicações emdesenvolvimento.

•  ABAP é projetado para controlar tarefas de negócio específicas (como processamento dedados, exibição de moeda corrente específica, e capacidades multilíngües).

•  ABAP foi concebido com desenvolvimento de diálogo de usuário dentro de um Sistema deR/3 distribuído em mente. Desenvolvedores não têm que se preocupar sobre qualquer 

comunicação ou problemas de distribuição entre os níveis diferentes.• Trabalhando em conjunto com a SAP Basis, programas de ABAP são quase totalmente

portáteis.•  ABAP contém um jogo de comando especial chamado Open SQL para acesso a banco de

dados.•  Aplicações em ABAP podem ser efetivamente desenvolvidos dentro de um ambiente de

time.• Todo desenvolvimento de objetos na ABAP Workbench são armazenados no Repositório de

R/3. Isto inclui objetos de desenvolvimento como programas, telas, e tabelas.

REPOSITÓRIO R/3 E REPOSITÓRIO DE OBJETOS

• Todos os objetos de desenvolvimento criados com ferramentas de desenvolvimentosencontradas no ABAP Workbench são classificados como objetos de Repositório earmazenados centralmente no Repositório de R/3.

• Repositório de R/3 é uma parte especial do banco de dados central do sistema de SAP.• Repositório é organizado de acordo com a aplicação. Cada aplicação é dividida mais

adiante em subdivisões lógicas chamado classes de desenvolvimento.• Objetos de Repositório são compostos freqüentemente de sub-objetos que são objetos de

Repositório.• Cada objeto de Repositório deve ser nomeado para uma classe de desenvolvimento quando

é criado.• Você pode usar o Sistema de Informação de Repositório para procurar Repositório de

acordo com vários critérios.

FERRAMENTAS DA BANCA DE TRABALHO DO ABAP 

Página 31 de 54

Page 32: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 32/54

•  A Banca de trabalho de ABAP(ABAP Workbench) contém várias ferramentas que lhepermitem editar objetos de repositório específicos que representam um ciclo de softwaretotal. Os mais importantes destes são:

•  ABAP Editor serve para escrever e editar código de programa.•  ABAP Dictionary serve para editar tabelas e outros objetos do ABAP Dictionary (veja ABAP Dictionary)• Menu Painter para projetar a interface de usuário (barra de menu, toolbar standard, toolbar 

de aplicação) (veja Diálogos - Interfaces)• Screen Painter para telas artificiosas para diálogos de usuário (veja Diálogos - Telas)• Function Builder para programar módulos de função (seqüência de dados com uma interface

fixa) (veja Modularização - Módulos de Função)• Você pode usar ferramentas do ABAP Workbench em qualquer um dos modos seguintes:

• Também chamando uma ferramenta, editando o objeto de repositório correspondentepara o projeto, e subsequentemente chamando a próxima ferramenta...

• Trabalhando o Browser de Repositório: o Browser o provê você a uma árvore - como

avaliação de todos os objetos dentro de uma classe de desenvolvimento ou programa.Usando a característica de navegação dianteira (dobre - clique o objeto) a ferramentacorrespondente é chamada então automaticamente.

BROWSER DE REPOSITÓRIO

• Em ordem com o processo de desenvolvimento mais eficiente integrado com o ambiente

 ABAP Workbench, com todas suas numerosas ferramentas, SAP criou o RepositoryBrowser.• Os objetos do Repositório são organizados em uma hierarquia:

• Um componente de aplicação consiste em classes de desenvolvimento de múltiplos• Uma classe de desenvolvimento pode conter vários tipos diferentes de objetos:

programas, grupos de função, ABAP Dicionário objeto...• Cada objeto de Repositório pode consistir em tipos de objeto diferentes:

• Programas podem ser feitos com: dados globais, tipos, campos, eventos...• Grupos de Funções podem ser feitos com: dados globais, módulos de função,...

•  A função Repositório Browser Objeto lista objetos de desenvolvimento de lista hierárquicos.

Desta lista você pode escolher desenvolvimento individual para editar selecionando por primeiro o Objeto com seu mouse e escolhendo a função apropriada então. O sistema entãoautomaticamente salta para a ferramenta correspondente a função que você escolheu.

• Se o objeto de desenvolvimento escolhido não existe, você pode criar isto usandonavegação dianteira.

LISTA DE OBJETOS DO REPOSITÓRIO BROWSER 

• Objetos do Repositório Browser são exibidos em forma de árvore. Clicando duas vezes emem objeto você automaticamente é levado ao modo daquele objeto enquanto suaferramenta é chamada simultaneamente.

Página 32 de 54

Page 33: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 33/54

• Uma vez que você criou um objeto de lista, o sistema automaticamente o mantém.• Você pode editar um programa de vários modos diferentes:

• Na tela inicial do Repository Browser, escolha classe de desenvolvimento da lista deobjeto e entre na classe de desenvolvimento do programa que você deseja editar.Escolha Exibição de ‘'. Na tela seguinte, uma árvore de relatório que exibe a classe dedesenvolvimento que você escolhe, amplie o modo ‘Programs ' e escolha seu programacom um clique duplo. Isto o leva à lista de objeto do programa.

• Na tela inicial do Repository Browser, escolha ‘Programa de’ e diretamente entre com onome de seu programa.

• Na tela inicial do Repository Browser, escolha ‘Program Objects ', escolha o ‘Editpushbutton ' e entre com o nome de seu programa na tela seguinte.

 

TRANSPORTANDO OBJETOS DE REPOSITÓRIO

• Objetos de Repositório são automaticamente compilados para a correção e transportadospara o sistema quando são nomeados a uma classe de desenvolvimento.

• Depois que o desenvolvimento terminou, são transportados objetos de Repositório emsistemas de teste e sistemas de produção por via de certo pathways prescrito.

•  ABAP Workbench e o Workbench Organizer (WBO) organiza todo o desenvolvimento detarefas pertencentes a objetos de Repositório.

DESENVOLVIMENTO DE PROJETOS EM WBO

• Sempre que começar um desenvolvimento de projeto , o projeto líder cria uma changerequest e nomeia empregados. O Workbench Organizer nomeia então para o pedido demudança um número de projeto ( <sid> K9 <nnnnn> , por exemplo IT3K900001) onde <sid>postos para o número de sistema).

• Em seguida, Workbench Organizer (WBO) cria uma tarefa para cada empregado. De agoraem diante sempre que o empregado aloca um objeto de Repositório àquele pedido demudança, o objeto de Repositório será arquivado automaticamente fora como a tarefadaquele empregado. Assim todo o objeto de Repositório de um empregado trabalhadurante um programa de desenvolvimento e é coletado dentro dele ou da pasta de papéisde tarefa dele.

• Depois que foram nomeadas classes de desenvolvimento, um fomentador nomeia para oobjeto de Repositório um pedido de mudança. Em contraste com a organização lógica deobjetos de Repositório em classes de desenvolvimento, um pedido de mudança organizaestes objetos através de projetos e é só uma divisão temporária. Assim, embora umprograma sempre pertence a só uma classe de desenvolvimento, pode, a temposdiferentes, pertençer a pedidos de mudança diferentes.

 

ENCERRAMENTO DOS PROJETOS

Página 33 de 54

Page 34: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 34/54

• Quando encerrar-se o desenvolvimento, o desenvolvedor liberta a tarefa. Os objetos eparadas de objetos são transferidos então da tarefa para o pedido de mudança. Porém,todos os empregados nomeados à tarefa ainda podem fazer mudanças ao objeto porque oWorkbench Organizer criará automaticamente caso necessário uma tarefa nova.

• Quando um projeto termina, o gerente de projeto liberta o pedido de mudança. Todas asfechaduras no objeto são afastadas.

• Os objetos de Repositório são exportados então ao diretório de transporte central.• O projeto não é importado automaticamente no sistema designado, porém; importação deve

ser ativada pela administradora de sistema que usa o programa de controle de transportepara dentro do sistema operacional. O desenvolvedor subseqüentemente verifica o troncode importação.

CRIANDO UMA CLASSE DE DESENVOLVIMENTO 

• Você pode criar uma classe de desenvolvimento nova a partir Repository Browser. Sempreque você escolhe ‘Exibição de ‘, o sistema confere para ver automaticamente se sua classede desenvolvimento já existe. Se este não for o caso, então uma caixa de diálogo aparecelhe perguntando se você quer ou não criar uma classe de desenvolvimento.

• Você tem que entrar na informação seguinte ao criar ou manter uma classe dedesenvolvimento:• Short texts: textos curtos aparecem em uma classe de desenvolvimento de objeto e

lista próximo a seu nome técnico.• Transport layer: criada por seu administrador de sistema, uma camada de transporte

determina em qual sistemas que seus objetos de Repositório serão transportados.Podem ser criadas camadas de transporte múltiplas para um sistema de R/3. Nestecaso um possível pushbutton de entradas é exibido lhe permitindo selecionar a camadade transporte que você desejou.

•  Aplication component: o Repositório é dividido logicamente primeiro em componentesde aplicação e então classes de desenvolvimento. Conseqüentemente, de Release 4.0,cada classe de desenvolvimento deve ser nomeada a um componente de aplicação.

• Sempre que você economiza uma classe de desenvolvimento, você também tem que

nomear isto a um pedido de mudança.

NOMEANDO PEDIDOS DE MUDANÇA 

• Todos os objetos de Repositório que são criados ou são modificados devem receber umachange request ao projeto correspondente. O treinador criou um pedido de mudança para oprojeto ‘BC400 Training Exercícios para este curso de treinamento, em KWxx '. Cada grupotem tarefa dentro deste pedido de mudança. Salve tudo de seus objetos de Repositório(desenvolvimento, classificação, programas. E assim sucessivamente) para este pedido demudança.

Página 34 de 54

Page 35: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 35/54

• Você pode exibir todas as change requests nos quais você tem uma tarefa que usa o ‘Mytasks' pushbutton.

• Para maiores informações sobre organização de projeto do ponto de vista de administraçãode projeto (incluindo criando tarefas), recorra à unidade em logísticas de software.

 

PROGRAMAS COM O USO DE DIÁLOGOS A BASE DE DADOS 

• Nós escreveremos agora uma curta demonstração de programa importantes aplicacoes deR/3. Incluirá:• Usos de diálogos com telas de seleção, telas, mensagens, e lista• Banco de dados com SQL Aberto• Trabalho com objetos de dados internos

CRIANDO PROGRAMAS

• Quando você cria um programa novo você tem que entrar em vários detalhesadministrativos primeiro.

• Os programas devem ser nomeados a uma classe de desenvolvimento particular. Istoclassifica o programa logicamente. Tal designação só é feita uma vez, quando são criadosobjetos de repositório inicialmente (são nomeadas classes de desenvolvimento em troca ao

componente para o qual eles pertencem logicamente).•  Adicionalmente, vários atributos de programa gerais devem ser determinados. Um atributo

importante é o tipo de programa. O tipo de programa determina como um programa éexecutado no ambiente client/server R/3 / , por exemplo uma subsequência de texto fonte éum programa executável ou um pedaço reutilizável de código.

• Finalmente um programa deve ser nomeado a um Workbench Organizer do projeto (changerequest). Isto classifica o objeto de repositório cronologicamente. Uma vez o projeto atual éacabado, um programa pode ser nomeado então a um projeto novo.

• Um programa só pode ser editado depois que estas designações iniciais forem feitas. Aferramenta usada para criar o programa determina em que ordem estas informaçõesdevem ser inseridas.

 

 ATRIBUTOS DE PROGRAMAS

•  Atributos de programas devem ser determinados quando criamos um novo programa.• Os atributos mais importantes são:

• Título, entre com um texto curto apropriado aqui. Aparecerá próximo ao nome técnicodo programa no Browser de Repositório.

• Categoria, especifica o modo de execução de um programa. Só pode ser digitado umtipo de programa diretamente. Você pode descobrir mais sobre programas de ABAPcorrentes na unidade em Modularization e Organização de Programa.

Página 35 de 54

Page 36: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 36/54

• Status, esta entrada age como um tronco e exibe informações sobre estado dedesenvolvimento de programa.

•  Aplicação, este campo exibe o código de identificação da aplicação.• Você pode usar estes atributos para procurar um programa particular no Sistema de

Informação de Repositório (uma coleta de informações sobre programas).

EDITANDO IMPORTANTES FUNÇÕES

• Importantes comandos de edições podem ser utilizados usando os botões da barra deferramentas. Estes incluem

Exibir <-> Modificar - lhe permite trocar atrás adiante entre exibição e modos de mudança.

Inserir Linha - Insere uma linha sobre a posição de cursor (Entre divide a linha à posição decursor presente).Recortar–remove uma linha ou bloco de texto selecionado.Selecionar–Seleciona uma linha ou o fim de um blocoCopiar–Copia um bloco selecionado de texto dentro do buffer.Colar–Insere conteúdos em um programaDesfazer–Desfaz a última operaçãoHelp–Inicia o ajuda on-line• Todas as funções de editor que usam a barra de menu podem ser utilizadas.• Você pode rodar o Editor de ABAP em modos diferentes.

O PAPEL DO DICIONÁRIO DE ABAP 

• Dicionário de ABAP descreve tipos de dados e estruturas do sistema.• Todos os programas de aplicações têm acesso ao ABAP Dicionário objetos.• Forward Navigation também apóia referências de Dicionário.• Um objeto de Dicionário importante é a estrutura lógica de uma mesa de banco de dados.

Este é um descrição de uma tabela de banco de dados que é usada para criar uma tabelafísica atual no sistema de banco de dados relacional.

• Referências do Dicionário também podem ser usadas em programas de ABAP para criar objetos de dados internos satisfatório para processar dados do banco de dados.

 

DIALOGO COM USUÁRIO: SELEÇÕES DE TELAS

•  A declaração de parâmetros define o diálogo de usuário chamando uma tela de seleção eobjeto de dados de programa interno <name> .

• Telas de Seleção são usadas para solicitar seleção necessária depois no programa.• Você pode definir as propriedades técnicas do objeto de dados <name> de acordo com um

dos tipos globais no Dicionário de ABAP usando a adição LIKE. Se uma procura já esteve

Página 36 de 54

Page 37: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 37/54

definida no Dicionário de ABAP para o campo correspondente, possivelmente a entrada deajuda já está disponível ao usuário.

• Você pode achar mais informações sobre telas de seleção em SCREEN SELECTION -documentação de palavra chave de TELA ou em diálogos: telas de Seleção.

• Você pode achar mais informações sobre a declaração de PARAMETERS nadocumentação de palavra chave de PARAMETERS.

DIALOGO COM USUÁRIO: SELEÇÕES DE TELAS II 

• Quando um usuário entra com um valor e escolhe ‘Execute ' o valor é executadoautomaticamente no objeto de dados de programa interno <name> . São permitidas sóentradas compatíveis.

DIALOGO COM USUÁRIO: TELAS

• O parâmetro CALL SCREEN chama uma tela.• Uma tela deve ser criada usando a ferramenta Screen Painter.• Uma tela é um objeto de Repositório independente, mas pertence ao programa.

• Você pode definir campos em uma tela referentes ao Dicionário de ABAP. Este tipo de telaexecuta automaticamente consistência, confere e provê diálogos de erro. Neste caso a telaé mais que um modelo de entrada de dados, é em um fato de um programa dinâmico.

O parâmetro TABLES declara objetos de dados internos que serve como uma interface paraa tela.• O parâmetro MOVE preenche campo de tela <sdun_conn-carrid> com o valor de objeto de

dados <pa_carr> neste exemplo.• Com declaração de TABLES você pode declarar uma área de trabalho apropriada para os

dados que forem inseridos na tela pelo usuário ou para a tela pelo programa. 

CRIANDO TELAS

• Forward Navigation (Navegação Dianteira) é usado para criar uma tela no Screen Painter.• Primeiro, os atributos de tela têm que ser fixados. Nota: é muito importante entrar em um

valor de 0 ou em branco no próximo campo de tela, como isto assegura aquele controle édevolvido ao programa de chamada depois que uma entrada seja feita.

• Uma vez que você entrou com seus atributos, escolha o Fullscreen Editor. Aqui você criaelementos gráficos para a tela. A função mais importante para nós no momento é ‘Get fromDictionary '. Isto nos permite criar campos de contribuição na tela baseado em ABAPDicionário (inclusive os textos e ajudas de procura do Dicionário). No exemplo , a estrutura<sdyn_conn > é recobrado do Dicionário. Uma caixa de diálogo aparece com todos oscampos do strusture. O usuário seleciona os campos e então escolhe ‘Continue ' que os

coloca na tela.Também podem ser inseridas · Pushbuttons e armações.

Página 37 de 54

Page 38: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 38/54

• Você pode testar a tela que usa o Fullscreen Editor imediatamente.• Finalmente, a tela deve ser gerada.

DIALOGO COM BASE DE DADOS: OPEN SQL

• O parâmetro DATA <data object> LIKE <dictionary type> declara um objeto de dadosinterno cuja estrutura é determinada pelo LIKE. Este objeto de dados é usado como umaárea de trabalho para os dados que na linguagem ABAP lê de uma tabela de banco dedados.

•  A linguagem ABAP contém uma declaração fixa chamada Open SQL. Parâmetros OpenSQL são um subconjunto das declarações de SQL Standards, e tem modificações deSAP_specific. Você tem acesso o banco de dados com Open SQL.

• Nesta demonstração nós estaremos usando a Declaração de Open SQL SELECT.• Uma tabela deve ser definida no Dicionário de ABAP antes que o parâmetro Open SQL

possa acessá-la.

DIALOGO COM USUÁRIO : MENSAGENS

• O parâmetro MESSAGE é usado para enviar mensagens ao usuário.• Tipos de mensagem como E (erro), ou I (informação), ou W (advertindo), neste caso uma

mensagem de informação, determina o que o sistema faz depois de uma mensagem. Estecomportamento depende da tela onde a mensagem aparece.• Neste programa o código de retorno SY - SUBRC é conferido para determinar se a

mensagem que I027 deveria ser enviado. Declarações de ABAP enviam valores a SY -SUBRC que provê informação sobre produção de declaração. SY-SUBRC=0, como émostrado acima, meios que as declarações SELECT lêem um registro prosperamente deuma tabela de banco de dados.

• Para mais informação sobre mensagens de usuário, recorra a Mensagens na unidade emDiálogo.

DIALOGO COM USUÁRIO: LISTAS

•  ABAP contém parâmetros (WRITE, SKIP, UNLINE) que permite a você criar uma lista.• Parâmetros WRITE exibem conteúdos de campo, formatados de acordo com o tipo de

dados deles/delas, como uma lista.• Consecutivos WRITE exibem fora na mesma linha de produção. Produção continua na

próxima linha quando o presente estiver cheio.

Página 38 de 54

Page 39: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 39/54

• Você pode colocar uma entrada de posição na frente de um valor de produção que opermite determinar uma lista de Write (/), tamanho da lista (1) e onde uma coluna começa(p).

• Listas podem ser exibidas em cor.•  A lista completa aparece automaticamente no fim do programa.

SINTAXE GERAL DO ABAP 

• Programas em ABAP são compostos de parâmetros individuais.• Cada parâmetro termina com ponto final.•  A primeira palavra em uma parâmetro é chamada uma palavra chave.• Palavras sempre devem ser separadas por pelo menos um espaço.• Parâmetros podem ser identados.• Parâmetros podem ter mais de uma linha.

SINTAXE GERAL DO ABAP E DECLARAÇÕES ENCADEADAS

• Programas em ABAP são compostos de parâmetro individuais.• Cada fins de declarações com um período.•  A primeira palavra em uma parâmetro é chamada uma palavra chave.• Parâmetros podem ser de identados.• Parâmetros podem ter mais de uma linha.• Você pode ter declarações múltiplas em uma única linha.• Sucessivas declarações podem ser codificadas com palavras chaves iniciais idênticas a

uma declaração.• Em declarações encadeadas, a parte inicial da declaração que contém a palavra chave deve

ser seguida por dois pontos.• Elementos individuais que vêm depois dos dois pontos devem ser separados sempre por 

vírgulas.• Espaços em branco são permitidos antes e no final de todas expressões (cólones, vírgulas,

períodos)• Fique atento, pois o sistema considera as partes individuais de uma declaração encadeadacheias - declarações de fledged independente de um ao outro.

COMENTÁRIOS

• Há dois modos para incrementar um programa com comentários:• Um asterisco (*) em uma coluna lhe permite designar a linha inteira como um comentário.•  Aspas (“) no meio de uma linha a designam como um comentário.

Página 39 de 54

Page 40: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 40/54

OPERAÇÕES EM PROGRAMAS DE ABAP 

• Há várias operações no Browser de Repositório usadas para editar objetos de Repositório As mais comum e usadas para editar os programas são:

 Editar Edita um programaVerificar Confere sintaxe de programaExecutar Inicia os testes em um programaEliminar Apaga um programaCopiar Copia um programaRenomear Renomeia um programa

SUMÁRIO• Programas em ABAP são executados em servidores de aplicação e comunicam-se com o

nível de apresentação e o nível de banco de dados.• São criados programas de ABAP usando as ferramentas ABAP Workbench (Banca de

trabalho de ABAP)• São categorizados objetos de repositório logicamente ambos em classes de

desenvolvimento e cronologicamente em tarefas• Diálogos de usuário vêem nas formas seguintes: telas de seleção, telas, mensagens, e

listas•

programa comunica com o banco de dados usando declarações do ABAP Opne SQL.

ABAP APOSTILA 7

ABAP Open SQL – Conteúdo:-  Acesso ao Banco de Dados;-  ABAP Open SQL;- Ligação com o Banco de Dados;- Revisão: Diferentes maneiras de se usar o ABAP Open SQL para ler as tabelas no Banco

de Dados.

ABAP Open SQL – Objetivos da Unidade:

No final deste capitulo você será capaz de:- Listar as diferentes maneiras de acesso ao Banco de Dados do programa ABAP;- Escrever um programa ABAP que lê os dados de uma tabela no Banco de Dados.

A Arquitetura do R/3 Cliente / Servidor:

Página 40 de 54

Apresentação

Aplicação

 

Page 41: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 41/54

Ligação com o Banco de Dados:

- Há duas maneiras para se acessar o Banco de Dados de um programa ABAP usando oOpen SQL ou o Native SQL.-  As declarações do Open SQL e um subconjunto do Standard SQL que e totalmente

integrado na linguagem ABAP. Eles permitem você acessar o banco de dados de umamaneira uniforme pelos seus programas, sem se preocupar com o sistema de Banco deDados que esta sendo utilizado. As declarações do Open SQL são convertidas nasdeclarações específicas do Banco de Dados (Standard SQL) pela ligação com o Banco deDados (Database Interface).O Open SQL contem a Linguagem de Manipulação de Dados (DML) que e parte doStandard SQL, permitindo você ler e alterar os dados. A Linguagem de Definição dos Dados(DDL) e a Linguagem de Controle dos Dados (DCL) partes do Standard SQL são

controladas pelo dicionário do ABAP e respectivamente pelos conceitos de autorização,ambos são unificados e aumentam as funções oferecidas pelos diferentes sistemas deBanco de Dados.

- O Native SQL tem uma livre conexão com o ABAP, isso permite você utilizar todas asfunções oferecidas pelo programa de ligação do sistema de Banco de Dados que vocêestiver utilizando. Diferente das declarações do Open SQL, as declarações do Native SQLnão são checadas e convertidas pela ligação do Banco de Dados. Ao invés disso, elas sãopassadas diretamente para o sistema de Banco de Dados. Isso significa que os programasescritos em Native SQL estão em um Banco de Dados especifico. Quando escrever aplicações R/3, evite utilizar o Native SQL.

As Declarações Open SQL - Revisão:

- O Open SQL contém as declarações DML: select, update, insert, delete, modify. - Você não deve mudar os registros no Banco de Dados sem primeiro entender o conceito de

transação do SAP.-  As declarações Open SQL determinam um valor no código de retorno (sy-subrc). Se sy-

subrc = 0, a operação foi bem sucedida. Se sy-subrc <> 0, a operação não foi bemsucedida.

- Para as informações adicionais sobre as declarações, vá ate a documentação On Line.

Declaração SELECT – Revisão

- Você usa as declarações Open SQL para ler dados do banco de dados.- Básico declaração de seleção sendo uma lógica complexa que lhe permite ter acesso a

muitos tipos de diferentes tabelas de banco de dados.-  A declaração contém uma série de cláusulas cada dos quais têm uma tarefa diferente:-  As cláusulas SELECT especificam

- Se o resultado da seleção é uma única linha ou várias linhas.- Os campos que devem ser incluídos no resultado.- Se o resultado pode conter duas ou mais linhas idênticas.

-  A cláusula INTO especifica os objetos de dados internos no programa no qual você quer colocar os dados seletos.

Página 41 de 54

Page 42: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 42/54

-  A cláusula FORM especifica a fonte dos dados (visão de tabela de banco de dados).-  A cláusula WHERE especifica as condições que uma entrada de tabela deve encontrar para

ser incluída no resultado.- Para informações sobre outras cláusulas, vá à documentação de palavra-chave no Editor de

 ABAP para a declaração SELECT.

Usando a declaração SELECT para uma única linha:

-  A declaração SELECT SINGLE lhe admite a leitura uma única linha de uma tabela de bancode dados. Para assegurar que você leu uma entrada única, você deve especificar a chavecompleta na cláusula WHERE.

- Se você usar a cláusula CORRESPONDING FIELDS OF, você pode preencher de área detrabalho designada componente por componente. O sistema preenche esses componentesque têm nomes idênticos as colunas na tabela de banco de dados. Se você não usar estaadição, o sistema preencherá a área de trabalho do fim para a esquerda sem qualquer 

consideração da sua estrutura.- Se o sistema encontrar uma entrada de tabela que emparelha suas condições SY-SUBRC

tem o valor 0.

Usando a declaração SELECT para várias linhas:

- Se você não usar o SINGLE adicionado na cláusula SELECT, o sistema lê todas asentradas que satisfazem os critérios na cláusula WHERE.

- O programa de ABAP lê os dados linha a linha na área designada no loop. Você tem quemarcar o fim do loop usando a declaração ENDSELECT.

- Todas as declarações entre as declarações SELECT e ENDSELECT são executadas paracada entrada lida no banco de dados.

- SY-SUBRC = 0 se o sistema fosse capaz de selecionar pelo menos uma entrada.- Depois que a declaração SELECT for executada em cada passagem do loop, os campos de

sistemas SY-SUBRC contém o número de linhas lidas. Depois da declaração ENDSELECT,contém o número total de linhas lidas.

Usando a declaração SELECT para uma Tabela Interna:

- Você pode ler os dados da tabela de banco de dados em uma tabela interna num únicopasso usando a declaração SELECT... INTO TABLE (extrair a ordem).

- O sistema não usa um loop para ler dados em uma tabela interna. Então, você não precisausar a declaração ENDESELECT.- SY-SUBRC = 0 se o sistema fosse capaz de ler pelo menos uma entrada na tabela em um

loop e adicioná-lo a uma tabela interna.- Para informações adicionais sobre array fetch e tabela interna, vá à unidade de Tabela

Interna deste curso.

Cláusulas WHERE:

- Você especifica quais registros de dados devem ser lidos no banco de dados usando acláusula WHERE.

- Você pode entrar só com os nomes dos campos da tabela de banco de dados você quer que seja lida pela cláusula WHERE. O nome da tabela de banco de dados que você quer 

Página 42 de 54

Page 43: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 43/54

acessar encontra-se na cláusula FROM (exemplo de uma declaração correta: SELECT...FROM spfli WHERE carrid =..., exemplo de na declaração incorreta: SELECT... FROM spfliWHERE spfli-carrid =...).

- <value> pode ser qualquer objeto de dado, ou literal, uma constante ou um campo.

-  As condições lógicas múltiplas podem ser somadas na cláusula WHERE usando AND ouOR.

ABAP Open SQL: Resumo- Você lê e altera as entradas no banco de dados usando as declarações do ABAP OPEN

SQL.-  A declaração SELECT lhe permite ler dados de colunas selecionadas e de uma ou mais

linhas de uma tabela de banco de dados.

Exercícios:

Unidade: ABAP Open SQLTema: Lendo um conjunto de linhas de uma tabela de banco de dados

- Usando ABAP Open SQL- A declaração SELECT

3.1 Leia um conjunto de resultado de tabela SFLIGTH.

3.1.1 nome de programa: ZBC400_##_SELECT_SFLIGTH3.1.2 crie uma tela de seleção com um campo input para SFLIGTH-CARRID (linhaaérea).3.1.3 defina uma estrutura como uma área de trabalho se referindo a sua estruturaZBC400_ ## ou a solução modelo SBC400FOCC.3.1.4 programe um loop SELECT que lê os dados especificados pelo usuário e jogue isto

em sua área de trabalho.3.1.5 usando a declaração WRITE dentro do loop SELECT, exiba as entradas que sãolidas.

Para gerar uma linha de alimentação, preceda os objetos de dado que você quer exibir com ocaracter ' / '.Exemplo:

WRITE: / wa_sfligth-carrid,...

Página 43 de 54

Page 44: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 44/54

ABAP APOSTILA 8

Dados e Declarações do ABAP : Conteúdo

- Tipos de Declarações- Definições de Dados do Objeto-  Atribuições de Valores- Cálculos de Valores- Declarações de Controle.

Objetivos

No final dessa Unidade, você será capaz de:

- Declarar tipos de dados- Definir objetos de dados.- Mudar os valores dos objetos de dados usando cálculos por exemplo.- Descrever e programar as declarações de controle.

A arquitetura do Cliente / Servidor do R/3.

-  Apresentação

Página 44 de 54

Page 45: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 45/54

-  Aplicação- Banco de dados

O tipo de conceito do ABAP

Tipos de Dados- Não ocupar o próprio espaço de memória- Caracterizar os atributos técnicos de um objeto de dados.- Os dados podem ser predefinidos ou definidos pelo usuário.

Objetos de Dados- Ocupar seu próprio espaço de memória.- São de um tipo particular.- São exemplos concretos de tipos de dados.

O tipo de conceito do ABAP permite que você distingue claramente entre os tipos de dados e osobjetos de dados.

Os tipos de dados e objetos de dados ocupam dois nomes de classes diferentes. Isto significaque um nome pode significar tanto um tipo de dados quanto um objeto de dados.

Determinar tipos de objetos de dados referindo-se seu objeto para um tipo de ABAPpredefinido, um tipo de definido usuário, ou um objeto de dicionário.Você também pode referir seu objeto para outro objeto de dados existentes. Nesse caso, todosos tipos de características são herdados pelo novo objeto de dados.Os tipos de dados definidos de usuário podem ser elementares ou estruturados.Os tipos de dados elementares não podem ser interrompidos por componentes adicionais. Jáos tipos de dados estruturados, são feitos livremente dos tipos de dados estruturados eelementares.Nos tipos de dados estruturados, existe uma diferença entre os tipos de estruturas e tipos detabelas:

- Tipos de estruturas (Conhecidos como estruturas ou registros em outra terminologia)podem ser feitos por componentes de qualquer tipo.

- Tipos de tabelas (Conhecidas como conjunto em outra terminologia) podem ser feitosde linhas de qualquer tipo.

- Os tipos de estruturas e os tipos de tabelas no nível mais alto podem conter em sipróprios tipos de estruturas adicionais e tipos de tabelas.

Tipos Predefinidos de Dados

- Há oito tipos de Dados predefinidos em ABAP.- Os tipos de dados numéricos P, I e F têm as seguintes propriedades e valores ;

Tipo Propiedade Ordem/Gama de valor Adequado paraI Integer/todo/número

inteiro-231 to +231 Contadores/mostradores,

quantidades, índices,tempo,

P Número com lugaresde decimal

2 caracteres por byte Quantias de dinheiro,comprimentos, pesos,

F Ponto Flutuante -2.2E-308 para +

1,8E308

Cálculos em uma

ordem/gama de valor muitogrande

Página 45 de 54

Page 46: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 46/54

- Cálculos com números de tipo I são os mais econômicos, seguidos pelo tipo F eentão tipo P. Você não devia, porém, que aquela aproximação cause erros com osnúmeros do tipo F. É particularmente desaconselhável comparar os dois números de

pontos flutuantes para igualdade. Ao invés disso, você deveria conferir se a diferençaentre as duas cai dentro de uma tolerância aceitável. Você deve usar somente onúmero de ponto flutuante para problemas matemáticos onde você pode aceitar errosde aproximação. Para problemas empresariais, você deve usar normalmente o tipo P.

- No tipo dos números P, dois dígitos são guardados em cada byte. A última metade dobyte é usado para o sinal de mais ou de menos.

Com os tipos de dados P, N, C e X você pode entrar em uma extensão em parênteses depoisdo nome do tipo.Se não entrar nenhuma extensão, a extensão que falta para este tipo de dados é usada.Com o tipo de dados P você pode usar a adição de DECIMAIS para determinar o número de

lugares decimais que deveriam ser usados (até um máximo de 14).Se nenhum tipo entrar, então o campo é automaticamente um tipo de campo C.Cada campo elementar vem como padrão com um valor inicial apropriado para cada tipo. Vocêmesmo pode fixar um valor inicial para um campo elementar referente a adição de VALORES.Depois de VALORES você pode somente especificar um objeto de dados fixo.Regras para nomear os objetos de dados:

- Um nome pode consistir de no máximo 30 caracteres (letras, números, ou símbolos).- Os símbolos seguintes não são permitidos: ()+.,:- ESPACE é um campo predefinido.

Defina os tipos de estrutura usando a sintaxe TYPES: BEGIN DE <TYPE>,... ,END OF<TYPE>. Os componentes de estrutura podem ser definidos como um objeto dedados: você determina a duração/extensão e o tipo.

Os tipos de estrutura podem conter outros tipos de estrutura ou tipos de tabelas.Por motivo de compatibilidade, você também pode definir estruturas usando DATA:BEGIN OF<REC>,... ,ENDOF <REC> sem ter que declarar um tipo de estrutura.Regras para nomear as estruturas:

Um nome pode consistir de no máximo 30 caracteres (letra, números, ou símbolos).Nenhum nome pode consistir somente de números.Recomendações: Sempre use uma letra como o seu caráter inicial, use um sublinhado

com nomes compostos.

Uma Tabela Interna é uma sucessão de linha com o mesmo tipo.Tipos de tabelas podem conter outros tipos de tabelas ou tipos de estrutura.Você pode descobrir como definir tipos de tabelas na unidade em tabelas internas ou nadocumentação de palavras-chave debaixo da palavra-chave TYPES.Você pode descobrir como declarar tabelas internas na documentação de palavras-chavedebaixo da palavra-chave DATA ou na unidade tabelas internas.

Os objetos de dados e os tipos de usuários definidos também podem ser definidos se referindoaos objetos de dicionário ABAP.Use a adição de frases/declarações LIKE com DATA e TYPES para se referir a um objeto dedicionário ABAP. Sempre que um objeto de dicionário ABAP é mudado, todos os objetos de

dados e tipos de usuários definidos que referem-se ao objeto, são alterados refletir estasmudanças.

Página 46 de 54

Page 47: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 47/54

 Você pode definir os tipos de dados em um tipo de grupo no dicionário ABAP em vez de defini-los dentro de um programa ABAP.O nome do grupo de tipo no dicionário ABAP tem no máximo 5 caracteres. Os nomes de tipos

dentro do nome do grupo <typepoll> deve começar com <typepool> seguido por umsublinhado.Os tipos num grupo de tipo devem estar declarados nos programas ABAP com o comandoTYPE-POOL.

 A declaração PARAMTERS é um elemento de linguagem para estabelecer os campos internosdentro do relatório. A diferença entre as declarações PARAMTERS e DATA é que os camposdeclarados usando PARAMETERS são apresentados para atribuir/introduzir na tela deseleção.Quando você vê a declaração PARAMETERS, você pode usar as adições do TYPE e LIKE,como você iria fazer quando usar a declaração de DATA.

 Análogo para o modo no qual você pode usar VALUE com DATA para nomear um valor inicial,você pode usar a adição DEFAULT com a declaração PARAMTERS para fixar um valor quefalta para o campo. Este valor pode ser literal, constante, ou um campo que leva seu valor dosistema quando o relatório é processado (por exemplo sy-datum). A declaração TABLES declara um objeto de dados que serve como uma interface de telasempre que os campos de tela se referem ao mesmo objeto de Dicionário.Use a declaração TABLES para definir uma área de trabalho apropriada em seu programa ABAP para dados que o usuário entre em uma tela ou que é passado para a tela de umprograma.Você define constantes usando as palavras-chave da CONSTANTS. A adição de VALUE érequerida para constantes. Ela define os valores. ABAP reconhece dois tipos de literal: números literais e textos literais. O posterior é sempreincluso em vírgulas invertidas (').Os números inteiros (com preceder sinal de menos se eles são negativos) são armazenadoscomo números literais ou com tipo (maior e incluindo nove dígitos) ou tipo P (10 ou maisdígitos).Todos os outros literais (caracter, números com lugares de decimal, números de pontosflutuantes) são armazenados como textos literais com tipos de dados C. O processador ABAPleva um tipo de conversão se necessário (veja o slide do tipo de conversão).Se você quiser incluir uma vírgula invertida (') em um texto literal, você tem que entrar nistoduas vezes.

Símbolos de texto são textos literais.Os símbolos de texto são outros tipos literais. Símbolos de textos têm a vantagem que, emcontraste com os textos literais simples, podem ser traduzidos. Os símbolos de texto permitemque você remova textos de seu código de fonte e os armazena em outro lugar, onde elespodem ser alterados mais facilmente por objetos como as listas independentes da linguagem.Você pode endereçar símbolos de texto em um programa de duas formas:TEXT-<XXX> (XXX é uma sucessão de caracteres de 3 dígitos).' <Text> ' (<XXX>) (XXX é uma sucessão de caracteres de 3 dígitos).Você pode criar símbolos de texto usando a navegação anterior, ou no Repositório Browser debaixo dos elementos de texto.

Até agora nós temos encontrado as seguintes declarações:

Página 47 de 54

Page 48: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 48/54

TYPES Definição do tipo.DATA Definição de campos elementares e tabelas internas.CONSTANTS Definição de constantesPARAMETERS Definição de parâmetros

TABLES Definição de áreas de trabalho de tabelas

Na unidade de tabelas internas como também na sub-unidade na Seleção de telas na unidadede Diálogos, você aprenderá sobre as seguintes declarações:Definição de opções de seleção.

Você pode exibir um amplo panorama das declarações declarativas em ABAP apertando obotão Editor ' i' e então escolher o panorama ABAP. Faça uma panorama classificação dalinguagem do programa ABAP pelas palavras-chave por tipo.

Você usa CLEAR para reajustar qualquer dados de objetos variáveis ao valor inicial apropriado

para seu tipo.Em estruturas, cada componente individual é reajustado. As tabelas internas são reajustadas componente por componente e linha por linha para o valor inicial apropriado para seu tipo.

Há várias declarações de ABAP com que você pode nomear valores aos objetos de dados. Omais importante destes é as declarações de MOVESe as estruturas e os tipos dos objetos de dados não correspondem, então certo tipo de regrasde conversão existem.Para mais informação sobre a regra de conversão, vá a palavra-chave MOVE.

O MOVE-CORRESPONDING <rec1> PARA <rec2> declarações transportam valores campopor campo entre estruturas <rec1> e <rec2>. Isto só funciona se os componentes têm nomesidênticos.O sistema procura por todos os campos em <rec1> cujo nome também acontece em <rec2> ecampo de transportes <rec1>-<field nome> para <rec2>-<field nome> em todos os casos ondeele acha uma semelhança. Todos os outros campos permanecem inalterados.

Se você nomeia dados de objetos de tipos diferentes para um outro, ABAP leva um tipo deconversão contanto que uma regra de conversão tenha sido definida para os tipos interessados.Os slides seguintes explicam esta regra de conversão.

Um panorama amplo das regras de conversão para tipos elementares é contido nadocumentação online para o comando de DADOS.Os campos do tipo C são salvos pela justificação. Quando você usa para converter para oscampos do tipo C, os campos ficam cheios com espaços se for muito pequeno, e truncado sefor muito longo (veja exemplos 1 e 2 acima).Quando você converte um campo do tipo C para um campo do tipo P, só dígitos, um sinal demais ou menos e um ponto de fração decimal são permitidos (veja exemplo 3 acima).Quando você converte um campo acumulado para um tipo campo de C, os zeros principais sãoconvertidos em espaços (veja exemplo 4 acima).

 ABAP tem regras para converter - Estruturas para estruturas- Campos elementares para estruturas

Página 48 de 54

Page 49: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 49/54

- Estruturas para campos elementares As tabelas internas só podem ser convertidas em outras tabelas internas. Os tipos de linhaapropriados são então convertidos.

 A palavra-chave COMPUTE é opcional.Você pode priorizar cálculos ilimitadamente.Os operadores e parênteses que formam partes de expressões cada, conta como uma palavra.No entanto, eles devem ser separados por espaços. Porém, o parêntese de abertura não podeser separado do nome de função, por exemplo: SQRT (...).Errado: a = (B+EXP (C)) * E/SIN (3-G).Certo: a = (B + EXP (C)) * E / PECADO (3 - G).Há uma separação aritmética no processador ABAP para cada tipo de dados P, I e F. Umaexpressão de aritmética é somente calculada usando uma única aritmética. A hierarquia quedetermina qual aritmética é usada é a seguinte: I,P,F. ambos os operadores e o campo deresultados entram na determinação da aritmética (veja RSAAA04K).

Os operadores DIV e MOD devolvem inteiros (veja a documentação de online paraCOMPUTE). A função STRLEN retorna o tamanho de uma string. Um panorama amplo de todas as funçõesestá na documentação online para COMPUTE.Você pode usar as formas encurtadas ADD, SUBTRACT, MULTIPLY e DIVIDE para operaçõesde aritmética simples.

Você pode se dirigir e trocar as sub-áreas de um campo elementar especificando a distância ea duração.Você deve evitar usar a distância e a duração com estruturas. Aqui você deve enviar os sub-campos, simbolicamente.Com algumas declarações, os detalhes da distância e duração podem ser dados comovariáveis (MOVE, ASSIGN, parâmetro real, WRITE... DO).

Se um campo de dados é convertido a um campo numérico, o sistema ABAP calcula o númerode dias desde 01.01.0001.Reciprocamente, um valor numérico a um campo de dados é interpretado como o número dedias desde 01.01.0001.Os valores dos campos de dados são convertidos em valores numéricos (número de dias desde01.01.0001) antes de qualquer cálculo.

 ABAP não tem declarações de GOTO ou equivalente.Há outros comandos de controle como também aqueles listados acima. Por exemplo, adeclaração LOOP...ENDLOOP que lê tabelas internas e a distinção de caso AT ...ENDAT paracontrolar o nível dentro da declaração LOOP. As declarações de controle podem ser aninhadas. As expressões lógicas podem ser unidas com NOT, AND e OR.Você pode aninhar expressões parentéticas tão profundamente quanto você quer. Osparênteses que denotam sub-expressões sempre contam como uma palavra. Eles devem ser então separados através de espaços.Se você comparar dois campos de tipo C com duração desigual, o campo menor é prolongadopara emparelhar o do mais longo quando a comparação é feita. Está cheio de fim da mão

direita com espaços.

Página 49 de 54

Page 50: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 50/54

Há um alcance inteiro de operadores comparativos adicionais que você pode usar paracomparar fios e pode pequenas comparações. (Veja a documentação online para a declaraçãoIF).

If qualquer declarações CASE lhe permitem fazer distinções de casoCASE... ENDCASE:Só uma das sucessões de declarações é executado.Quando as outras declarações são opcionais.

IF... ENDIF: As declarações ELSE e ELSEIF são opcionais.Se a expressão lógica é cumprida, a sucessão seguinte de declarações executa.Se a expressão lógica não é cumprida, a seção ELSE ou ELSEIF é processada. Se não

há nenhum ELSE ou nenhuma declaração ELSEIF adicional, o programa continua depois dadeclaração de ENDIF.

Você pode incluir qualquer número de declarações de ELSEIF entre IF e ENDIF. Um

máximo de uma das sucessões de declarações será executado.

DO e WHILE são também usados em ABAP.Sy-index é o contador para os comandos DO e WHILE. Sy-index tem o valor 1 durante aprimeira passagem e é aumentado de 1 o sistema para cada passagem.O seguinte é verdadeiro para DO :

O <n> TIMES parâmetro é opcional. Se você não especifica isto, você precisa construir uma condição de terminação (veja declaração de SAÍDA).

O número de passagens não pode ser alterado pelo campo de sy-index ou dentro docontador DO ...ENDDO.O seguinte é aplicado a WHILE:

Contanto a expressão lógica é cumprida, a sucessão de declarações é executada.O número de passagens não podem ser alterados pelo campo de sy-index dentro do

WHILE ...ENDWHILE.

Duas declarações estão disponíveis para o processo:CHECK <expressão lógica>: Se a expressão lógica não foi cumprida, o sistema vai para apróxima passagem. São ignoradas todas as declarações entre CHECK e ENDDO/ENDWHILE.Se a expressão lógica foi cumprida, a declaração de CHECK não tem nenhum efeito.Veja alguma documentação da palavra-chave CONTINUE. As declarações EXIT dentro de uma estrutura faz com que o sistema deixe a atual.

Para informação sobre como estes dois comandos trabalham fora do processo, vá àdocumentação da palavra-chave CHECK e EXIT, ou o apêndice.

RESUMOO tipo de conceito ABAP distingue entre tipos de dados e objetos de dados.Há 8 tipos pré-definidos em ABAP: P,I,F,N,C,D,T,X.Você pode declarar os tipos de dados do usuário definido ou tipo de grupos usando os tipos dedeclarações.Você pode definir os objetos de dados com as declarações DADOS, PARÂMETROS deCONSTANTES e TABELAS.Você pode usar as declarações seguintes para controlar o fluxo de programa:

IF ..ENDIF questão Condicional

Página 50 de 54

Page 51: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 51/54

CASE ..ENDCASE questão CondicionalDO ..ENDDOWHILE ..ENDWHILECONTINUE salto

CHECK saltoSalto de EXIT

ABAP APOSTILA 9

Ferramentas de Teste: Conteúdo

 As diferentes ferramentas de teste no Sistema R/3

Ferramentas de Teste: Objetivos desta unidade

 Ao final desta unidade você será capaz de- Depurar programas

- Identificar quando usar cada uma das seguintes ferramentas de teste:- Runtime Analysis- SQL Trace- Computer Aided Test Tool (CATT)

Ferramentas de Teste

Todas estas ferramentas são totalmente integradas no ABAP Workbench:- Debugger : Encontra erros de semântica em programas- Runtime Analysis: Analisa a performance dos módulos de programas- SQL Trace: Analisa como os comandos de ABAP Open SQL são reproduzidos no banco de

dados.

Página 51 de 54

Page 52: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 52/54

- CATT : Permite o teste automático e iterativo de processos de negócios e administrativos noSistema R/3.

Depurando

Há varias maneiras de se iniciar o Debugger:-  A partir do Repository Browser, escolha Teste/Executar -  A partir do editor ABAP, escolha Debugging -  A partir da transação que deseja testar, digite /h na linha de comandos-  A partir de qualquer tela, escolha Sistema -> Utilitários -> Depuração.

Funções Importantes de Depuração

Etapa individual – Processa a próxima linha de um programa.Executar – Todos os passos pertencentes `a linha atual são processados.Retorno – Continua processando um nível acima na hierarquia de chamada. Avançar – Continua processando ate o próximo breakpoint ou o final do programa.Breakpoint – Aparece uma tela onde você pode definir pontos de parada.

Funções Importantes de Depuração II

Watchpoint – Permite que você defina watchpoints usando operadores relacionais.Expandir Subestrutura – Expande campos estruturados com duplo clique.

Exibe Tabelas Internas Complexas – Exibe e expande com duplo clique.Exibe Hexadecimal – Exibe campos com conteúdo hexadecimal.Função Replace – Permite que você mude o conteúdo de um campo.

- A função replace permite que você atribua um novo valor para um campo durante adepuração. Entre com o novo valor na coluna Conteúdo e escolha Modificar Conteúdo doscampos. O novo valor é copiado na memória ocupada pelo campo.

Debugger: Overview

-  A tela do Debugger tem duas áreas. Na de cima o código do programa é mostrado. Na debaixo o sistema mostra varias funções, dependendo do que você escolheu para ser mostrado. Você pode usar os botões na parte de cima da tela para alternar o que exibir.

- Você pode expandir o código do programa, escolhendo a função “ Ampliar segmento deprograma”.

- Se você clicar duas vezes numa linha, o sistema “rola” o código ate esta linha ser mostradano topo da tela.

- Para exibir a instrução que está sendo processada, escolha “Exibir instrução atual”.- Na parte inferior da tela, você pode exibir o conteúdo dos campos escolhendo “Campos”.

Para exibi-lo, posicione o cursor no nome do campo, no código programa e tecle F2 ou

clique duas vezes.

Página 52 de 54

Page 53: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 53/54

- Você pode exibir até oito campos, onde 4 estão visíveis. Para ver os restantes é necessáriousar os botões de rolagem.

Breakpoints (Pontos de Parada)

Quando você escolhe Continuar no Debugger, o sistema continua a processar até encontrar opróximo breakpoint. Você pode definir Breakpoints como segue:

Breakpoint baseado na linha de comando:- Clique duas vezes na linha em que deseja definir o breakpoint. Um sinal de ‘stop’ aparece.

Para uma lista de todos os breakpoints escolha “Ptos. parada”. Para excluir um breakpoint,clique duas vezes na linha em que está o breakpoint que deseja remover, ou clique emPonto de. parada -> Criar/Excluir .

- Use a instrução ABAP: BREAK-POINT 

Breakpoint baseado na instrução:- Você pode definir breakpoints com palavras-chave, eventos ou subrotinas no ABAP.

Breakpoint baseado no conteúdo do campo (watchpoint):- Watchpoints são breakpoints baseados tanto na mudança do conteúdo dos campos, quanto

na comparação de valores entre um campo e uma constante.

Técnicas Avançadas: Runtime Analysis

-  A ferramenta Runtime Analysis permite a você medir o tempo gasto pela CPU para executar um programa ABAP.

-  A ferramenta mede a performance da modularização das unidades, acessos ao banco dedados, tempos do sistema e de tabelas internas, tudo que possa exigir um grande tempo deprocessamento.

- Para informações adicionais veja a documentação online em ABAP Workbench: Tools.

Técnicas Avançadas: SQL Trace

-  A ferramenta SQL Trace permite a você analisar a performance das instruções SQL em seu

programa. Ela disponibiliza a você ver como o otimizador do banco de dados interpreta asinstruções Open SQL no banco de dados.

-  Apenas uma pessoa por vez pode usar o SQL Trace num servidor de aplicações. Portantovocê deve deixar de usá-la assim que terminar seu trabalho.

Técnicas Avançadas: Computer Aided Test Tool (CATT)

 A CATT é uma parte totalmente integrada do ABAP Workbench. Ela permite a você automatizar os testes dos processos de negócios. Com a CATT você pode criar módulos para programas

individuais, ou procedures, contendo um processo de negócios completo, com todos osrequerimentos para input cheking.

Página 53 de 54

Page 54: ABAP APOSTILA  SAPSCRIPT

7/28/2019 ABAP APOSTILA SAPSCRIPT

http://slidepdf.com/reader/full/abap-apostila-sapscript 54/54

Resumo

- O Debugger dispõe de um completo conjunto de funções para teste e análise de programas.- Runtime Analysis permite que você avalie a performance de unidades modulares.- SQL Trace permite que você veja como as instruções em ABAP Open SQL são convertidas

no banco de dados.- CATT permite que você analise processos administrativos e de negócios no Sistema R/3

usando procedures de test.