abap para funcionais

85
7/24/2019 ABAP Para Funcionais http://slidepdf.com/reader/full/abap-para-funcionais 1/85

Upload: andreluisneves

Post on 21-Feb-2018

384 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

Page 2: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

Instrutor: Felipe Fernandes Pacheco [email protected] MM

Treinamento Básico deABAP para Funcionais

Abril/2013

Page 3: ABAP Para Funcionais

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.

Page 4: ABAP Para Funcionais

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.

Page 5: ABAP Para Funcionais

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

Page 6: ABAP Para Funcionais

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

Page 7: ABAP Para Funcionais

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

Page 8: ABAP Para Funcionais

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.

Page 9: ABAP Para Funcionais

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

Page 10: ABAP Para Funcionais

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

Page 11: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

Dicionário de DadosViews

EX: MDRVSE11

Page 12: ABAP Para Funcionais

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

Page 13: ABAP Para Funcionais

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.

Page 14: ABAP Para Funcionais

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.

Page 15: ABAP Para Funcionais

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.

Page 16: ABAP Para Funcionais

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.

Page 17: ABAP Para Funcionais

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

Page 18: ABAP Para Funcionais

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

Page 19: ABAP Para Funcionais

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

Page 20: ABAP Para Funcionais

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

Page 21: ABAP Para Funcionais

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

Page 22: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

ProgramasEventos - Programa de diálogo

SE38

Page 23: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

ProgramasEventos - Report

SE38

Page 24: ABAP Para Funcionais

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

Page 25: ABAP Para Funcionais

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

Page 26: ABAP Para Funcionais

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

Page 27: ABAP Para Funcionais

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

Page 28: ABAP Para Funcionais

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.

Page 29: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

TransportesRepositório de Objetos

Page 30: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

TransportesAmbientes

Page 31: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

TransportesChange Request

SE09

Page 32: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

TransportesLog de Transporte

SE09

Page 33: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

TransportesVersões de um objeto ABAP

SE80

Page 34: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

TransportesVersões de um objeto ABAP

SE80

Page 35: ABAP Para Funcionais

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

Page 36: ABAP Para Funcionais

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

Page 37: ABAP Para Funcionais

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

Page 38: ABAP Para Funcionais

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

Page 39: ABAP Para Funcionais

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

Page 40: ABAP Para Funcionais

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

Page 41: ABAP Para Funcionais

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

Page 42: ABAP Para Funcionais

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.

Page 43: ABAP Para Funcionais

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

Page 44: ABAP Para Funcionais

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).

Page 45: ABAP Para Funcionais

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.

Page 46: ABAP Para Funcionais

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

Page 47: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

Carga de Dados (CALL TRANSACTION)

SHDB – Exemplo:

Page 48: ABAP Para Funcionais

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

Page 49: ABAP Para Funcionais

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.

Page 50: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

Carga de Dados (BAPI)BAPI

Page 51: ABAP Para Funcionais

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

Page 52: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

Debug

Page 53: ABAP Para Funcionais

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.

Page 54: ABAP Para Funcionais

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.

Page 55: ABAP Para Funcionais

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.

Page 56: ABAP Para Funcionais

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.

Page 57: ABAP Para Funcionais

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

Page 58: ABAP Para Funcionais

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.

Page 59: ABAP Para Funcionais

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.

Page 60: ABAP Para Funcionais

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.

Page 61: ABAP Para Funcionais

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.

Page 62: ABAP Para Funcionais

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

Page 63: ABAP Para Funcionais

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)

Page 64: ABAP Para Funcionais

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:

Page 65: ABAP Para Funcionais

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:

Page 66: ABAP Para Funcionais

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:

Page 67: ABAP Para Funcionais

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:

Page 68: ABAP Para Funcionais

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:

Page 69: ABAP Para Funcionais

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

Page 70: ABAP Para Funcionais

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:

Page 71: ABAP Para Funcionais

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:

Page 72: ABAP Para Funcionais

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:

Page 73: ABAP Para Funcionais

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:

Page 74: ABAP Para Funcionais

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:

Page 75: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

Outros Assuntos

• Tabelas Internas

Page 76: ABAP Para Funcionais

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.

Page 77: ABAP Para Funcionais

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.

Page 78: ABAP Para Funcionais

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

Page 79: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

Outros Assuntos

• Recuperar dados da base

Page 80: ABAP Para Funcionais

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.

Page 81: ABAP Para Funcionais

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 ...

Page 82: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

Outros Assuntos

• Alterar dados na base

Page 83: ABAP Para Funcionais

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.

Page 84: ABAP Para Funcionais

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).

Page 85: ABAP Para Funcionais

7/24/2019 ABAP Para Funcionais

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

Dúvidas?