ABAP Para Funcionais

Post on 21-Feb-2018

388 views 4 download

Transcript of ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 1/85

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 2/85

Instrutor: Felipe Fernandes Pacheco Jr.felipe.junior@resource.com.brConsultor MM

Treinamento Básico deABAP para Funcionais

Abril/2013

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 3/85

OBJETIVO

Capacitar os consultores funcionais nas principais características doselementos que compõe a linguagem de programação ABAP: as transações quegeralmente são executadas para facilitar o trabalho de pesquisa de estruturas,as ampliações (exits, enhancements, melhorias)- disponíveis no ambiente ERPSAP e ainda a utilização de Debug para depuração de programas.

Será apresentado um (overview-Resumo) de tabelas, campos, domínios,elemento de dados e suas importâncias dentro da hierarquia ABAP.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 4/85

OBJETIVOFormas de alterar o comportamento Standard – Fluxo da Decisão.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 5/85

Conteúdo» Objetivo» Linguagem ABAP

» Dicionário de Dados» Tracing» Programas» Comandos ABAP

» Transportes» Funções» Ampliações» Carga de Dados» Dicas Especificações Funcionais» Debug

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 6/85

Linguagem ABAPAdvanced Business Application Programming(ABAP) é uma linguagem deprogramação alto nível desenvolvida pela empresa SAP. É a linguagemutilizada no ERP SAP, onde todo desenvolvimento é armazenado na base de

dados.

C

COBOL

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 7/85

Dicionário de DadosÉ onde definimos tabelas, domínios, elementos de dados, índices, etc.

SE11

Tabelas Transparentes

Tabelas de Customizing

Tabelas para armazenamento de dados

transacionais e de configuração

Views São visualizações totais ou parciais de uma ouuma junção de tabelas

Domínio Define propriedades técnicas de campos, como

tipo de dado, tamanho, etc.

Elemento de Dados Armazena as propriedades semânticas doscampos, por exemplo, rótulos de campos(fieldlabels)

Tabela de Verificação Relacionamento(Foreign Key) entre as tabelas

Estruturas São registros(linhas de tabelas, barras decampos), utilizados para definição de variáveisem programas

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 8/85

Dicionário de DadosTabelas estão divididas em:

Tabelas Transparentes

Tabelas de Customizing

SE11

Oracle

DB2

SQL Server

* Chave Primária, Chave Estrangeira ou

Secundária e Índice.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 9/85

Dicionário de DadosDomínios

Elemento de dados

Principais tipos de dados:CHAR – Cadeia de CaracteresCURR – MoedaDATS – Data

DEC – Decimal (+/-)INT – InteiroNUMC – Numérico(Algarismos)QUAN – Quantidade formato UNITSTRING - Strings

SE11

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 10/85

Dicionário de DadosEstruturas

Exemplo: Estruturas de Tela, MEPO1211 é uma estrutura utilizada na ME2*N.

SE11

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 11/85

Dicionário de DadosViews

EX: MDRVSE11

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 12/85

TracingEm algumas situações não conseguimos encontrar qual a tabela é utilizada para exibirinformações na tela de uma transação, por tratar-se de uma estrutura, ou entãoprecisamos saber como uma determinada transação compôs o valor que esta sendoapresentado, ou até mesmo a performance de leitura de uma tabela, para isso podemosfazer um tracing do banco de dados e mapear quais os acessos da transação ao bancode dados durante uma determinada operação.

ST05

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 13/85

TracingPara executar uma Trace, primeiramente, deve-se clicar no botão “ActivateTrace”, e então, executar a transação ou trecho no qual deseja buscar a

informação de tabela ou dados.

A Trace estará ativada, então qualquer ação realizada no SAP, seja execução

de transações ou em transações, estará gravando quais SQL são lidas.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 14/85

TracingExecute a transação ou processo do qual deseja encontrar a tabela, nesteexemplo usaremos as XD03.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 15/85

TracingLogo após executar o trecho desejado, clique em “Desactivate” para parar oregistro e em “Display Trace”. Surgirá uma janela com as restrições de período

e tabelas, então em Ok.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 16/85

TracingUma lista com todas tabelas executadas na Trace serão listadas, selecionandouma linha e indo em GoTo->Display ABAP Source é possível ir para o códigoonde trecho é utilizado.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 17/85

ProgramasUm programa ABAP por ser criado, editado ou exibido através das transaçõesSE38 ou SE80.

Quase todos os componentes SAP podem ser customizados, isto é,desenvolvidos para adequarem-se aos processos de determinada empresa.

O nome de todos os objetos desenvolvidos são iniciados com as letras Z ou Y,e os objetos standard, normalmente, com os demais caracteres

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 18/85

ProgramasEstão dentre o principais tipos de programa ABAP: Programa Executável - Report Programa Include – Include

Grupo de Funções – Conjunto de funções Módulo Pool – Programa Pool

SE38

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 19/85

ProgramasUm programa ABAP por estar atribuído a uma transação para execução pelousuário e pode ser visualizada pela SE93 ou acessado através da própriatransação no Menu Sistema->Status. Neste também pode ser visualizada a

Tela inicialização atribuída.SE93

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 20/85

ProgramasAtravés da SE38 e em exibir lista de objetos é possível visualizar toda acomposição de um programa ABAP.

 SE38 /

SE80

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 21/85

ProgramasSub-rotinas - São módulos dentro de um programa usados para estruturar eorganizar o código, e portanto, facilitar a interpretação. A chamada é realizadaatravés do comando PERFORM, este comando permite a passagem deparâmetros, isto é, valores externos que serão utilizados internamente quandoesta é chamada.Os tipos de passagens de parâmetro são USING(normalmente utilizada paravariáveis), TABLES(utilizada para tabelas internas) e

CHANGING(normalmente variável que será alterada).Um Perform pode ser chamada de outro programa usando a chamada INPROGRAM mais o nome do programa.

SE38

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 22/85

ProgramasEventos - Programa de diálogo

SE38

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 23/85

ProgramasEventos - Report

SE38

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 24/85

Programas

Report - Geralmente a Saída do relatório acontece por meio de comandosABAP como “Write”, usualmente o Report possui o layout abaixo.

SE38

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 25/85

ProgramasALVExistem várias maneiras de um ALV ser gerado, o mais comum é através docomando: CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’ ou através deProgramas Orientados a Objetos.

SE38

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 26/85

MensagensMensagens - Na Classe de mensagem ZSD numero 000 temos a seguintemensagem: Apontamento de produção na ordem & maior ou igual a

quantidade.No programa vemos uma sintaxe semelhante à abaixo:MESSAGE E000 with ‘10’.Onde o “E” significa: E = Erro

000 = número da mensagem‘10’ = esse valor é substitui o “&” da mensagem contida na classe.

SE91

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 27/85

Comandos ABAPToda ação que será executada por programa são realizados através decomandos. No entanto, há a necessidade de declarações de valores emobjetos para manipulação da informação, isto é, variáveis, tabelas, internas,...

• Principais Comandos: Data Tables Constant

Range Select Read Table Loop Insert/Modify Delete Append Write

Submit: Perform Call Screen

Call Function Call Transaction Commit and Wait

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 28/85

Comandos ABAP• Valor de Retorno:SYST – SY: Estrutura com valores de retorno do Sistema. Os comandos SY mais usuais

são:SY-SUBRC: Retorna o valor execução de comandos ABAP. Sendo 0 quando o retorno éverdadeiro, isto é, correto. Diferente de 0 valor falso, isto é, incorretoSY-UCOMM: Retorna o comando de interação do usuário.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 29/85

TransportesRepositório de Objetos

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 30/85

TransportesAmbientes

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 31/85

TransportesChange Request

SE09

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 32/85

TransportesLog de Transporte

SE09

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 33/85

TransportesVersões de um objeto ABAP

SE80

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 34/85

TransportesVersões de um objeto ABAP

SE80

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 35/85

TransportesComparando versões entre ambientes – DEV X QAS

SE80

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 36/85

TransportesComparando versões entre ambientes – DEV X PRD

SE80

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 37/85

Funções

Funções são pequenos programas utilizados por vários programas para executar

determinadas tarefas, tais como, validar uma informação, executar determinado calculo eretornar o valor, ect.

Tipos de Funções:

Módulo de Função NormalMódulo de Acesso Remoto (RFC).BAPI

SE37

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 38/85

Funções

Quando chamamos um modulo de função temos os parâmetros de importação(onde

preenchemos a entrada da função) os parâmetros de exportação( informação querecebemos da função) e tabelas(hora recebemos e hora inserimos informaçãodependendo da função)

SE37

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 39/85

Funções

BAPI (Business Aplication Programing Interface)

As BAPIs são funções mantidas pela SAP, que contemplam todas as regras de negóciodo processo em questão. Estas funções também pode ser visualizadas na transaçãoBAPI.

SE37

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 40/85

Funções

RFC (Remote Function Call)

SE37

SAP ECC Sistema de 3ºsRFC

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 41/85

FunçõesRFCs x Web Services

SE37

SAP ECC SAP PIRFC Sistema de 3ºsHTTP / XML

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 42/85

Ampliações

O Sistema SAP permite fazer a inserção códigos do cliente em alguns trechos de códigos

standard, são as chamadas Exits ou ampliações. Estas podem ser utilizadas paramodificação de dados, inserção de novos dados, inclusão de novas telas com chamadasem transações standard, validar informações e outras funcionalidades atendem asnecessidade do cliente.Principais tipos de Ampliações:

• User-Exits• Field-Exits• Badis

 CMOD, SMOD,SE18, SE19 e

SE20.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 43/85

AmpliaçõesBusiness Add-Ins(BADI)

CL_EXITHANDLER=>GET_INSTANCE

SE24

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 44/85

AmpliaçõesComo localizar uma Exit? Pode-se localizar uma Exit através do SPRO, em cada modulotem a opção abaixo, ou ainda existe alguns programas Z’s que facilitam a localização.Exemplo: Z_FIND_USEREXIT (o código fonte deste programa pode ser encontrado

facilmente na web).

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 45/85

AmpliaçõesEnhencement Point – São ponto dentro do código standard, que a SAP permite acustomização.

Para visualizar os pontos de ampliações disponíveis em uma include standard acessar atransação SE38 clicar em em seguida -> Processar -> Operações de Ampliação ->Visualizar pontos de Ampliação Implícito.Onde mostrar as setinhas são os pontos possíveis para ampliações.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 46/85

Carga de Dados (CALL TRANSACTION)Tento esses pontos na transação SHDB será gerado o mapeamento, conforme abaixo,vamos alterar a descrição de um material na MM02.Transação SHDB, clicamos em nova gravação, e preenchemos o nome do registro e a

transação que utilizaremos para gravar

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 47/85

Carga de Dados (CALL TRANSACTION)

SHDB – Exemplo:

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 48/85

Carga de Dados (CALL TRANSACTION)

A transação irá gerar a tela abaixo onde temos em vermelho o nome do programa e a

tela, e temos em preto o nome do campo contido na tela juntamente com o valor docampo durante a gravação

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 49/85

Carga de Dados (BAPI)BAPI são funções criadas pela SAP que executam determinadas ações:Exemplo:BAPI_MATERIAL_SAVEDATA – Cadastra o material no SAP.BAPI_SALESORDER_CREATEFROMDATA – Cria Ordem de Vendas.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 50/85

Carga de Dados (BAPI)BAPI

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 51/85

DebugEsta ferramenta é muito importante na busca de erros, para encontrar valoresde variáveis ou tabelas dentro do código executado, facilitando nas alterações.Existem várias formas de entrar no modo de depuração, o principal deles é o

comando /h na barra de comando durante a execução do programa. Outraforma é diretamente dentro do código do programa.

SE38

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 52/85

Debug

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 53/85

DebugDentro do código é possível criar pontos de parada clicando na barra lateral ouclicando em F9 e para torná-los fixos basta salvá-los. A través da seleção deponto de parada F9 é possível incluir pontos de parada múltiplo em

comandos(Message), performs, funções, ... Por meio do CTRL+F é possívelbuscar variáveis e dados necessários.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 54/85

Debug

Os detalhes das variáveis podem ser visualizados clicando duas vezes nela eseu valor alterado. Esta ferramenta é excelente para execução de testes comvalores diferentes.

É possível verificar o conteúdo das variáveis selecionadas, variáveis locais eglobais.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 55/85

DebugDetalhes do debugDurante o debug é possível ter informações do programa, include e evento emprocessamento, retorno de execução e índice de tabelas internas. Também é

possível posicionar a tela no local onde o cursor esta executando.

Comandos

Percorrer debug através comandos de teclas:F5 – Execução de etapa individual, executa passo a passo o debug.F6 – Execução na qual é possível pular eventos, por exemplo, Perform sem necessidade

de entrar nestes.F7 – Retorno de execução dentro de uma perform, por exemplo, é possível sair dele.F8 – Execução completa.Obs.: No caso de existir pontos de parada na frente no código todos as ações anterioresirão parar neste.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 56/85

DebugOutros comandos

 /h – Executa modo debug(depuração) quando digitado na barra de comandoantes da execução de uma transação por exemplo.

 /hex – Finaliza modo depuração quando digitado na barra de comando. /n – Finaliza a execução atual, quando acompanhado de uma código detransação navegará para esta.

 /nend – Finaliza SAP com uma mensagem de confirmação. /nex – Finaliza SAP e processos do usuário sem mensagem de confirmação.

Shift+F12 – Quando em modo depuração é possível retornar para o eventoanterior, no entanto, as variáveis carregadas não são re-inicializadas.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 57/85

DebugDebug Janela PopupNo programa ABAP, telas do tipo Popup não possuem barra de comando parahabilitar o modo depuração. Uma maneira de contornar este problema é criar

um arquivo do tipo .txt com o código abaixo. Este deverá ser movido para telapopup e então o modo depuração estará habilitado.

[FUNCTION]

Command=/HTitle=DebuggerType=SystemCommand

C:\Users\DIEGO\ 

top\Debug_popu

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 58/85

DebugDebug em BackgroundPara depurar um programa em Background, basta selecionar o Job e inserir ocódigo JDBG na barra de comando.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 59/85

DebugWatch PointÉ uma tipo de ponto de parada, no entanto, busca uma condição lógica, isto é,busca variáveis ou atribuições. Por exemplo, variável X ou variável X = 2. É

uma excelente forma de busca quando se possui a variável a ser buscada.

Remoção e Desativação de pontos de paradasDurante o modo depuração também é possível remover e desativar todos ospontos de parada.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 60/85

DebugIr para a instruçãoMenu: Debugger / Ir para a instruçãoVai diretamente para a instrução na qual está posicionado o cursor, sem

executar as demais instruções. Esta funcionalidade permite voltar no fluxo doprocessamento do programa.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 61/85

Especificações Funcionais

Objetivo

Informações para análise de impactoDescrição do ProcessoRegras de NegócioTransações Envolvidas

Mapeamento dos campos (Tabelas / Estruturas)Layouts de entrada e saída (Telas / Relatórios)Parâmetros de SeleçãoDados para Testes e resultado esperado

Validações de campos com devidas mensagensSeguir a lógica.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 62/85

Outros Assuntos

• Diálogo de atualização de tabelas (SM30)

• SHD0 – Criação de Variantes de tela e de transação• Tabelas Internas• Recuperar dados da base• Alterar dados na base

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 63/85

Outros Assuntos

• Diálogo de atualização de tabelas (SM30)

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 64/85

SM30

Criação do diálogo de atualização de tabelas na SE11:

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 65/85

SM30

Utilização do diálogo de atualização de tabelas na SM30:

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 66/85

SM30Associar transação ao diálogo de atualização de tabelas, na SE93:

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 67/85

SM30Como encontrar transação associada ao diálogo de atualização da tabelaZ04001, através da SE16:

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 68/85

SHD0Personalização de TransaçãoComo exemplo, desabilitar o campo Organização de Compra da tela de umrelatório:

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 69/85

Outros Assuntos

• SHD0 – Criação de Variantes de tela e de transação

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 70/85

SHD0Personalização de TransaçãoSerá solicitado a confirmação de personalização tela a tela:

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 71/85

SHD0Personalização de TransaçãoQuando a tela da variante for exibida, o campo Organização de Compras deveser protegido, e a variante deve ser salva:

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 72/85

SHD0Personalização de TransaçãoApós o salvamento da personalização, o campo ficará desabilitado:

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 73/85

SHD0Personalização de TelaComo exemplo, tornar um campo de um relatório obrigatório:

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 74/85

SHD0Personalização de TelaComo resultado, o campo “Centro” tornou-se obrigatório:

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 75/85

Outros Assuntos

• Tabelas Internas

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 76/85

Tabelas Internas

São objetos de dados (variáveis), que só existem em tempo de execução de

um programa, que permitem armazenar vários registros com a mesmaestrutura.

Existem várias formas de definir uma tabela interna

Exemplo: DATA: ti_flight TYPE sflight occurs 0.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 77/85

Tabelas InternasUtilizando uma tabela interna

LOOP ti_flight AT INTO e_flight.

WRITE: / e_flight-carrid,

e_flight-connid,

e_flight-fldate.

ENDLOOP.

Neste exemplo está sendo lida a tabela interna TI_FLIGHT, seu conteúdo estásendo armazenado na estrutura E_FLIGHT, e os valores estão sendo escritos

em tela.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 78/85

Tabelas InternasPrincipais operações com uma tabela interna

Na Tabela inteira Uma ou mais linhasRefresh - Deleta todo o conteúdo daTabela Interna

Read - ler dados

Sort - Ordenar a tabela Modify - altera dados

Delete - deleta dados

Insert - insere dados

Append - insere no final

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 79/85

Outros Assuntos

• Recuperar dados da base

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 80/85

Recuperar dados da base• Maneiras de recuperar dados da base

SELECT...INTO TABLE...

SELECT carrid connid fldateFROM sflightINTO TABLE itab_focc

WHERE carrid = pa_car

SELECT...ENDSELECT

SELECT carrid connid fldateFROM sflightINTO wa_sbc400_focc

WHERE carrid = pa_carENDSELECT.

SELECT SINGLE *FROM ...

SELEC SINGLE *FROM scarrINTO wa_scarr

WHERE CARRID = pa_car.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 81/85

Recuperar dados da base• Maneiras de recuperar dados da base

SELECT...FROM Tabela 1,Tabela 2,Tabela N.

INTO TABLE...

SELECT splif~campo1 ... scarr~campoNFROM spfli INNER JOIN scarrON spfli~carrid = scarr~carrid

INTO TABLE itab_foccWHERE ...

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 82/85

Outros Assuntos

• Alterar dados na base

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 83/85

Alterar dados na base

• Comandos Utilizados: INSERT, UPDATE, DELETE e MODIFY

• Conceito IMPORTANTE

NÃO é possível alterar dados de tabelas standard.

Estas alterações são feitas por funções chamadas BAPI (Business AplicationPrograming Interface).

As BAPIs são mantidas pela SAP, e contemplam todas as regras de negócio.Caso a tabela em questão não possua uma BAPI, o consultor funcional deve gravaruma sequência de passos de utilização de alguma transação que atualize estatabela, e passar para o consultor ABAP providenciar a implementação.

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 84/85

Exercícios• Meu primeiro programa. Hello World!...

Acesse o editor ABAP (SE38) e codifique um programa executável (Report).

7/24/2019 ABAP Para Funcionais

http://slidepdf.com/reader/full/abap-para-funcionais 85/85

Dúvidas?