Você está na página 1de 141

Conteúdo do treinamento

Introdução ao ABAP
Dicionário de Dados
Programação
Debugger
Como procurar?
 Mensagens
 HARDCODE em todos os programas Z
 Requests
 EXIT / BADI
 Customizações (visões)
Comparando customizações
Analisar aplicação de nota SAP
Exercícios

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 1
Introdução ABAP/4

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 2
Características do SAP R/3
O SAP R/3 trabalha com uma filosofia de cliente/servidor de 3 camadas;
A camada de interface com o usuário (cliente, “front-end” ou servidor de apresentação).
A camada de lógica de negócio (a camada de aplicação onde os programas SAP são
executados de fato).
A camada de banco de dados (o sistema de banco de dados “back-end” que armazena
os dados do SAP).

Application level

Presentation level

Database Level

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 3
Características do SAP R/3

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 4
Definição

Linguagem de programação do SAP . Permite desenvolver interfaces/programas


no sistema SAP R/3

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 5
ABAP Workbench

 O ABAP Workbench contém ferramentas que permitem a edição de objetos


específicos que representam um ciclo total de software;
 Exemplos:
• ABAP Editor: Para escrita e edição de códigos de programa;
• ABAP Dictionary: para edição de tabelas;

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 6
Transações Úteis
SE03 – Ferramentas de transporte
SE09 – Organização de transporte (Utilizado para controlar as request’s).
SE11 – Dicionário ABAP (Utilizado para criar, alterar e apagar domínios, elemento de dados,
campos, tabelas, estrutura).
SE16 – Data browser
SE37 – Módulos de função ABAP. (Utilizado para criar, alterar e apagar funções (Módulos de
funções).
SE38 – Editor de programas ABAP. (Utilizada para criar, alterar e apagar programas ABAP).
SE39 – Editor de tela dividida
SE80 – Repository Browser. (Utilizado para criar, alterar e apagar, Programas (Module Pool,
grupos de função, etc.).
SE91 – Atualização de mensagem
SE93 – Códigos de transação (Utilizado para criar, alterar e apagar transações).
SM12 – Exibir e eliminar bloqueios (Utilizado para desbloquear programas, transações, etc.).
SM35 – Moritorar pasta de Batch-Input.
ST05 – Possui várias funções, a mais utilizada e para realizar o trace SQL.(Mostra todos acessos
realizados no BD).
SE30 – Analise de tempo de execução.
SE84 – Hierarquia de aplicações.
ST22 – Erro em tempo de execução ABAP (DUMP).
SHDB – Registrador transação - batch input. (Utilizado para criar o “mapeamento” para
posteriormente criar os programas para gerar a pasta de batch input.).

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 7
Object Navigator (Transação SE80)

 Acessando a transação SE80 é possível visualizar e manipular todos os


componentes de um programa.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 8
Repository R/3
Classe de desenvolvimento: trata-se da forma a qual os programas, o
dicionário de dados, as transações etc.. serão organizados, gravados e
identificados no repository R/3;
•Quando o objeto não é atribuído a uma classe de desenvolvimento, este objeto é
gerado como Objeto Local ( $TMP );

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 9
Repository R/3
ORDENS (CHANGE REQUEST): recurso através do qual um conjunto de objetos
podem ser transferidos de um ambiente para outro;
• É solicitada sempre que o objeto estiver atribuído a uma classe de desenvolvimento.

 ORDENS E TAREFAS (TASKS): cada ordem pode possuir uma ou mais TASKS.
Cada TASK possui os objetos agrupados de acordo com seu tipo e ordem na
qual deverão ser criados no cliente de destino;

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 10
Dicionário de dados

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 11
Elementos do Dicionário de Dados

 Tabelas: Conjunto de linhas e colunas onde são armazenados fisicamente os


dados;
 Estruturas: Possuem os mesmos elementos das tabelas mas não armazenam
dados. Só estão preenchidas em run-time;
 Visões:JOIN de tabelas e restrição de campos;
Campos: não são objetos independentes e podem ser atualizados apenas
dentro das tabelas, pois pressupõem a existência de um elemento de dados
Elementos de dados: é o objeto semântico. Descreve exatamente a finalidade de
um domínio em uma opção comercial específica para os campos que dela
dependem;
Domínios: É o objeto central usado para descrever os atributos de um objeto;
 Ajuda de pesquisa: É um objeto de pesquisa do dicionário ABAP com o qual
contribui na execução do matchcode (F4);

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 12
Elementos do Dicionário de Dados
Tabelas, domínios e elementos de dados constituem os objetos básicos de
definição de dados do ABAP Dictionary. Os domínios descrevem os atributos
técnicos dos campos de tabela (por exemplo, categoria ou comprimento de
campo) e os elementos de dados contêm a definição semântica (por exemplo,
uma descrição breve);

Banco de
Dados R/3 Tabela

Campo

Utiliza

Definição Semântica Elemento de Dados


Utiliza

Definição Técnica Domínio


Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 13
Elementos do Dicionário de Dados

Tabela 1 Tabela 2 Tabela 3 Tabela 4 Tabela 5

Elemento de Dados 1 Elemento de Dados 2 Elemento de Dados 3

Domínio

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 14
Principais Transações

 SE16 - Permite a visualização do conteúdo de


tabelas SAP;

 SE11 – Permite a criação e visualização da


arquitetura de uma tabela/estrutura do SAP;

 SM30 - Atualização de visão de tabelas;

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 15
Programação ABAP

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 16
Variáveis de Sistema

As variáveis de sistemas são preenchidas em tempo de execução, segue a


relação de algumas destas variáveis:

SY-SUBRC - Valor de retorno após instruções ABAP;


SY-TABIX - Tabelas internas, índice de linha atual;
SY-PAGNO - Criação de lista, página atual;
SY-LANGU - Sistema R/3, idioma atual;
SY-DATUM - Data e hora, data (data de aplicação de servidor) atual;
SY-UNAME - Sistema R/3, nome de logon do usuário;
SY-REPID - Programa ABAP, programa básico atual;
SY-ULINE - Constantes, traço horizontal de comprimento 255;
SY-VLINE - Constantes, traço vertical;

Observação: A estrutura SYST contêm todas as variáveis de sistema.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 17
Principais Transações

SE38 – Editor de programas ABAP. (Utilizada para criar, alterar e apagar


programas ABAP).

 SE80 - Repository Browser. Utilizado para criar, alterar e apagar, Programas


(On-Line ou Module Pool), grupos de função, etc.;

 SE93 – Códigos de transação. Utilizado para criar, alterar e apagar


transações;

 SE91 – Classe de mensagem. Utilizado para criar, alterar e apagar classe de


mensagem;

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 18
Estrutura de um programa ABAP

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 19
Tipo de programas ABAP
 Report
• É utilizado basicamente para relatórios;
• Pode ser executado através da SE38/SA38;

 On Line (Module Pool)


• É um conjunto de módulos que são executados em blocos, utilizando os
seus principais eventos: PBO e PAI, para integração de telas e tratamento
dos processos;
• Esses tipos de programas funcionam online. Por isso, eles são dotados de
uma maior capacidade de customização das telas e maior flexibilidade
para criarem uma interface mais amigável com o usuário;
• Executado somente através de uma transação;

 Include
• Não é executável
• Pode ser utilizado em mais de 1 programa;
• É uma rotina para ser utilizadas por programas onde pode ser realizados
definições de variáveis, rotina de programas, etc...
• Visualização: Transação SE38;

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 20
Declaração de variáveis / constantes

- Por referência a outro campo de tabela já existente :


DATA: variavel01 TYPE tabela01-campo01.

- Pelo tipo que queremos :


DATA: variavel02(04) TYPE c.

- Uma variável constante com a estrutura de outra :


DATA: variavel03 LIKE variavel01.(obsolete)

- O valor de uma e atribuído no momento de sua declaração e


não pode ser alterado em tempo de execução:

CONSTANTS: C_NOTA_MAX(2) TYPE N VALUE ‘10’.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 21
Declaração de tabelas

Tabelas do dicionário de dados

TABLES: tabela01, tabela02, … .

Tabelas internas

TYPES BEGIN OF ty_tabela01,


campo1(16) TYPE c,
campo2 TYPE tabela01-campo,
...
END OF ty_tabela01.

DATA t_tabela01 TYPE TABLE OF ty_tabela01.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 22
Declaração de tabelas

Tabelas internas

TYPES BEGIN OF ty_tabela02.


INCLUDE STRUCTURE tabela02.
TYPES END OF ty_tabela02.

DATA t_tabela02 TYPE TABLE OF ty_tabela02.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 23
Declaração de WORK AREA

Work area

TYPES BEGIN OF ty_tabela01,


campo1(16) TYPE c,
campo2 TYPE tabela01-campo,
...
END OF ty_tabela01.

DATA: wa_tabela01 TYPE ty_tabela01,


wa_tabela02 TYPE ty_tabela01.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 24
Eventos
INITIALIZATION: Onde se pode preencher variáveis e
atributos ao se inicializar o programa.

START-OF-SELECTION: Corpo principal do programa. Onde as


seleções de dados são feitas e informações
trabalhadas.

END-OF-SELECTION: Não é obrigatório, mas costuma-se utilizar


este ponto para impressão de relatórios e
finalização do processo.

TOP-OF-PAGE: Este evento se processa antes do primeiro


dado ser impresso em cada página. Pode ser
usado como cabeçalho, em companhia do
NO STANDARD PAGE HEADING.

END-OF-PAGE: Este evento ocorre quando se ultrapassa o


número de linhas da página corrente.
Ou quando se passa de uma página à outra.
Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 25
FORM/PERFORM
FORM

-FORM … ENDFORM.
Define uma subrotina dentro do programa ABAP. Pode ser executada a qualquer momento, dentro
do programa.

Exemplos:
FORM f_leitura_bseg.
Instruções.
EDFORM.
Opções:
FORM <nome_form> USING p_variavel_referencia
CHANGING p_variavel_valor
TABLES p_tabela.
Instruções
ENDFORM.

PERFORM

-PERFORM
Executa chamadas de subrotinas do programa ABAP.

Exemplos:
PERFORM f_leitura_bseg.
Opções:
PERFORM <nome_form> USING v_variavel_referencia CHANGING v_variavel_valor
TABLES t_tabela.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Manipulando tabelas do BD
SELECT

-SELECT
Comando SQL utilizado para leitura das informações de uma tabela do banco de dados SAP.
Possui diversas variações.

-Select de todos os campos de uma tabela.

SELECT * FROM <tabelaSAP>.


instruções.

Obs.: O comando SELECT algumas variações se faz necessário o fechamento do comando com
ENDSELECT .
Esta variação não é um modo eficiente para acesso ao banco. Não indicado, mesmo com
inclusão da clausula WHERE.

-Select para variáveis.

SELECT campo1 campo2 campo3 … INTO (var01, var02, var03, …)


FROM <tabelaSAP>
WHERE <condição>.

-Select inserindo em uma tabela interna.

SELECT <campos> INTO TABLE <t_tabela01>


FROM <tabelaSAP>
WHERE <condição>.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Manipulando tabelas do BD
-Select inserindo dados em determinados campos de uma tabela interna.

SELECT <campos> INTO CORRESPONDING FIELDS OF TABLE <t_tabela01>


FROM <tabelaSAP>
WHERE <condição>.

-Select inserindo dados em uma tabela, usando como base os dados de outra já preenchida.

SELECT <campos> INTO TABLE <t_tabela02>


FROM <tabelaSAP>
FOR ALL ENTRIES IN <t_tabela01>
WHERE <condição>.

Obs.1: Se ao buscar os registros com FOR ALL ENTRIES, e dois registros forem iguais, o
sistema só irá trazer um. Portanto CUIDADO com este tipode select. Sempre buscar um
campo que garanta a unicidade dos dados.

Obs.2: Sempre verificar se a tabela interna, de referência< tabela interna1>, contêm dados
e os mesmo estejam ordenados.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Manipulando tabelas do BD
-Select para buscar apenas um registro específico.

SELECT SINGLE <campos> INTO TABLE <t_tabela01>


FROM <tabelaSAP>
WHERE <condição>.

Obs.: Para o uso do SELECT SINGLE, deve-se utilizar a chave completa da tabela. Se não
possuir as chaves todas, utilizar a opção UP TO 1 ROWS.

SELECT <campos> INTO TABLE <t_tabela01>


FROM <tabelaSAP>
UP TO 1 ROW
WHERE <condição>.
ENDSELECT.

-Select com range de valores.

SELECT <campos> INTO TABLE <t_tabela01>


FROM <tabelaSAP>
WHERE <campo> BETWEEN <valor1> AND <valor2>.

-Select em um intervalo de valores

SELECT <campos> INTO TABLE <t_tabela01>


FROM <tabelaSAP>
WHERE <campo> IN (valor_mínimo,valor_máximo).

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Manipulando tabelas do BD
INSERT

-INSERT
1.Insere registros na tabela do dicionário.

INSERT INTO <tabelaSAP> [ FROM ][ VALUES ] <estrutura>.

Exemplos:
TABLES: SPFLI. Grava os valores da estrutura WA
na tabela SPFLI.
DATA: WA LIKE SPFLI.

WA-CARRID = 'LH'.
WA-CITYFROM = 'WASHINGTON'.

INSERT INTO SPFLI VALUES WA.

WA-CARRID = 'UA'. Mesmo feito do comando


WA-CITYFROM = 'LONDON'. acima.

INSERT SPFLI FROM WA.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Manipulando tabelas do BD
INSERT

2.Insere registros na tabela do dicionário, a partir de uma tabela interna.

INSERT INTO <tabelaSAP> FROM TABLE <t_tabela01> [ ACCEPTING DUPLICATE KEYS ].

Exemplos:
TABLES: SPFLI.

DATA: ITAB LIKE SPFLI OCCURS 10 WITH HEADER LINE.

ITAB-CARRID = 'UA'.
ITAB-CONNID = '0011'.
APPEND ITAB.

ITAB-CARRID = 'LH'.
ITAB-CONNID = '1245'.
APPEND ITAB.

ITAB-CARRID = 'AA'.
ITAB-CONNID = '4574'.
APPEND ITAB.

INSERT SPFLI FROM TABLE ITAB.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Manipulando tabelas do BD
UPDATE

-UPDATE
1.Modifica registros na tabela do dicionário. Um registro por vez.

UPDATE <tabelaSAP> [ FROM <estrutura> ].

Exemplos:
TABLES: SPFLI.

DATA: WA TYPE SPFLI.

MOVE 'AA' TO WA-CARRID.


MOVE '0064' TO WA-CONNID.
MOVE 'WASHINGTON' TO WA-CITYFROM.

UPDATE SPFLI FROM WA.

MOVE 'LH' TO SPFLI-CARRID.


MOVE '0017' TO SPFLI-CONNID.
MOVE 'BERLIN' TO SPFLI-CITFROM.

UPDATE SPFLI.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Manipulando tabelas do BD
UPDATE

2.Modifica registros na tabela do dicionário. Vários registros por vez.

UPDATE <tabelaSAP> SET <S1> .. <Sn> [ WHERE condição ].

Exemplos:
TABLES: SFLIGHT.
UPDATE SFLIGHT SET PLANETYPE = 'A310'
FLPRICE = FLPRICE - '10000'
WHERE CARRID = 'LH'.

3. Modifica registros na tabela do dicionário, a partir de uma tabela interna.

UPDATE <tabelaSAP> FROM TABLE <t_tabela01>.

Exemplos:
TABLES: SPFLI.

DATA: ITAB LIKE SPFLI OCCURS 10 WITH HEADER LINE.

ITAB-CARRID = 'UA'. ITAB-CONNID = '0011'.


APPEND ITAB.
ITAB-CARRID = 'LH'. ITAB-CONNID = '1245'.
APPEND ITAB.
ITAB-CARRID = 'AA'. ITAB-CONNID = '4574'.
APPEND ITAB.

UPDATE SPFLI FROM TABLE ITAB.
Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Manipulando tabelas do BD
MODIFY

-MODIFY
Este comando também altera registros na tabela do dicionário, mas contém uma diferença
importante. Com este comando, se o registro a ser alterado não for encontrado, ele é
inserido na tabela do dicionário.
Segue o mesmo esquema do comando UPDATE.

MODIFY <tabelaSAP> [ FROM <estrutura> ].

MODIFY <tabelaSAP> FROM TABLE <t_tabela01>.

Exemplos:
TABLES: SPFLI. TABLES: SPFLI.

DATA: WA LIKE SPFLI. DATA ITAB LIKE SPFLI OCCURS 10 WITH HEADER LINE.

MOVE 'AA' TO WA-CARRID. ITAB-CARRID = 'UA'. ITAB-CONNID = '0011'.


MOVE '0064' TO WA-CONNID. APPEND ITAB.
MOVE 'WASHINGTON' TO WA-CITYFROM. ITAB-CARRID = 'LH'. ITAB-CONNID = '1245'.
… APPEND ITAB.
MODIFY SPFLI FROM WA. ITAB-CARRID = 'AA'. ITAB-CONNID = '4574'.
APPEND ITAB.

MODIFY SPFLI FROM TABLE ITAB.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Manipulando tabelas do BD
DELETE

-DELETE
1.Deleta registros da tabela do dicionário.

DELETE <tabelaSAP> FROM <estrutura>.

Exemplos:
TABLES: SPFLI.

DATA: WA LIKE SPFLI.


‘Serão deletados os registros na estrutura
MOVE 'AA' TO WA-CARRID. WA, de acordo com os campos chave.
MOVE '0064' TO WA-CONNID.

DELETE SPFLI FROM WA.

2.Deleta registros da tabela do dicionário. Vários registros por vez.

DELETE FROM <tabelaSAP> WHERE <condição>.

Exemplos:
TABLES: SFLIGHT.

DELETE FROM SFLIGHT WHERE PLANETYPE = 'A310' AND


CARRID = 'LH'.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Manipulando tabelas do BD
DELETE

3. Modifica registros na tabela do dicionário, a partir de uma tabela interna.

DELETE <tabelaSAP> FROM TABLE <t_tabela01>.

Exemplos:
TABLES SPFLI.

DATA ITAB LIKE SPFLI OCCURS 10 WITH HEADER LINE.

ITAB-CARRID = 'UA'.
ITAB-CONNID = '0011'.
APPEND ITAB.

ITAB-CARRID = 'LH'.
ITAB-CONNID = '1245'.
APPEND ITAB. Os registros são deletados baseando-se
nos campos chave.
ITAB-CARRID = 'AA'.
ITAB-CONNID = '4574'.
APPEND ITAB.

DELETE SPFLI FROM TABLE ITAB.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Manipulando tabelas do BD
COMMIT WORK

Efetiva as operações realizadas nas tabelas para o SAP.


Enquanto o COMMIT não é executado, o SAP trabalha em uma área separada. Só carrega as
modificações para o banco, quando o comando é executado.

ROLLBACK WORK

Desfaz as modificações efetuadas pelo programa, antes de ser executado o COMMIT.


Após a execução do COMMIT, o ROLLBACK não mais consegue desfazer as modificações.
Primeira gravação.
Exemplos:

COMMIT WORK. Deleta registros da tabela.

<instruções>

DELETE FROM bkpf WHERE … Insere registros na tabela.

<intruções>

INSERT zteste_001 from zteste_001.
Se ocorrer erro na inserção, desfaz tudo
IF sy-subrc <> 0. o que foi feito após o primeiro COMMIT.
ROLLBACK WORK.
continue.
ELSE. Efetiva operações realizadas até este
COMMIT WORK. COMMIT.
ENDIF.
Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
O que é o Módulo de função?

 Os Módulos de Função são unidades de modularização com nomes específicos


que podem ser chamados a partir de qualquer programa em todo o sistema de R/3.
Eles armazenam o código que é utilizado por mais de um programa.

 Cada módulo de função pertence a um grupo de função. Um grupo de função é


uma coleção de programas que tem uma estrutura pré-definida. Todos os nomes de
programas dentro do grupo contêm o ID do grupo de função de quatro caracteres.

 Os módulos de função em um grupo de função têm uma idéia principal em comum.


Por exemplo, todos os módulos de função em grupo de função SCAL executam
cálculos de data.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Exemplos Função
 MONTH_NAMES_GET : Retorna uma tabela interna com o nome dos meses.

Tabela interna com o resultado


passado pela função

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Exemplos Função

Resultado dentro da
tabela interna

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Exemplos Função

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Exemplos Função
POPUP_TO_CONFIRM_STEP – Cria um BOX de mensagem com confirmação.

Pop-up executado na
transação SE37.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
RFC
Para chamadas externas (sistemas legados) uma função pode ser
classificada como uma RFC.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
BDC SESSION
 ABAP/4 tem uma técnica de programação para a colocação de
dados
dentro do SAP conhecida como Batch Data Communication Session
(BDC
Session).
Passos para criação de uma BDC Session:

• Identificar as telas que a transação processará;


• Escrever o programa em ABAP para gerar a tabela de BDC que
submeterá os dados na transação;
• Submeter a tabela de BDC para o sistema em modo batch Input ou
através do comando CALL TRANSACTION;

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
BDC SESSION
Não realizar atualização direta dos dados
externos
Sistema Externo nas tabelas da base de dados SAP.
(Legado)

Sessão de
BATCH INPUT

Programa

Banco de Dados
SAP

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
BDC SESSION

Dados
Externos

Programa
ABAP/4

Batch Call
BAPI
Input Transaction

SAP
Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
BDC SESSION
Modo de execução

Visível Mostra Passo a Passo a transação

Exibir Apenas Erro Mostra apenas a transação quando der erro

Background Não mostra nada

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
BDC SESSION

Função OKCODE
Sai da transação corrente, marca como incorreta /n
Apaga o dado corrente na transação /bdel
Sai da transação e marca como incorreta /bend
Muda de “Display Error...” para “Foreground” /bda
Muda de “Foreground” para “Display Errors...” /bde

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
BDC SESSION

Batch Input Call Transaction

Código de Retorno Não Sim

Log de Erro Sim Não

Processamento 2 Fases Imediato

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Transação SHDB

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Transação SHDB

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Transação SHDB

Aperte ENTER

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Transação SHDB

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Transação SHDB

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Mapeamento de tela
Programa Tela Início Nome do CampoValor do Campo
<Programa> <Número 1> X

<Campo 01> <Valor 01>

<Campo 05> <Valor 05>

<Programa> <Número 7> X

<Campo 11> <Valor 11>

<Campo 02> <Valor 02>

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Mapeamento de tela

DATA t_bdc TYPE TABLE OF bdcdata.

* Mapeia tela inicial


PERFORM z_insere_bdc USING: 'X' 'SAPMF02B' '0100',
' ' 'BDC_CURSOR' 'BNKA-BANKL',
' ' 'BDC_OKCODE' '/00',
' ' 'BNKA-BANKS' wa_banco-banks,
' ' 'BNKA-BANKL' wa_banco-bankl.

* Mapeia dados e comando Salvar


PERFORM z_insere_bdc USING: 'X' 'SAPMF02B' '0110',
' ' 'BDC_CURSOR' 'BNKA-BRNCH',
' ' 'BDC_OKCODE' '=UPDA',
' ' 'BNKA-BANKA' wa_banco-banka,
' ' 'BNKA-PROVZ' wa_banco-provz,
' ' 'BNKA-STRAS' wa_banco-stras,
' ' 'BNKA-ORT01' wa_banco-ort01,
' ' 'BNKA-BRNCH' wa_banco-brnch.
Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Mapeamento de tela

FORM z_insere_bdc USING p_dynbegin


p_field
p_value.

DATA: wa_bdc TYPE bdcdata.


CLEAR wa_bdc.

IF p_dynbegin EQ 'X'.
wa_bdc-dynbegin = 'X'.
wa_bdc-program = p_field.
wa_bdc-dynpro = p_value.
ELSE.
wa_bdc-fnam = p_field.
wa_bdc-fval = p_value.
ENDIF.

APPEND wa_bdc TO t_bdc.


ENDFORM. " Z_INSERE_BDC
Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
CALL TRANSACTION

Call Transaction <Código da Transação>

USING <Tabela BDC>


MODE <Modo de Visualização>
UPDATE <Modo de Atualização>
MESSAGES INTO <Tabela de Mensagem>

Modo de Visualização
A - Visualiza Tudo <default>
E - Visualiza apenas se der erro
N - Não Visualiza nada
Modo de Atualização
S - Modo Síncrono (Espera terminar)
A - Modo Assíncrono <default>

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
CALL TRANSACTION
SY-SUBRC

0 - Sucesso
<1000 - Erro no Programa do SAP
>1000 - Erro no Processamento
(Ver campos de Sistema)

Campos de Sistema
SY-MSGID - Classe da Mensagem
SY-MSGTY - Tipo da Mensagem (E, I, W, S, A)
SY-MSGNO - Número da Mensagem
SY-MSGV1 - Variável de Mensagem 1
SY-MSGV2 - Variável de Mensagem 2
SY-MSGV3 - Variável de Mensagem 3
SY-MSGV4 - Variável de Mensagem 4

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
BATCH INPUT

ABRIR SESSÃO DE BATCH INPUT

INSERIR DADOS DA TRANSAÇÃO

FECHAR SESSÃO DE BATCH INPUT

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
BATCH INPUT

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
BATCH INPUT

CALL FUNCTION ‘BDC_OPEN_GROUP’


EXPORTING
Client * = <Client> (Sy-Mandt)
Group * = <Nome da Sessão>
Holddate = <Data>
Keep * = Flag de Deleção
User * = <Usuário BDC> (Sy-Uname)
EXCEPTIONS

* - Parâmetros Obrigatórios

* - Default = ‘ ’ (apagar a sessão)

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
BATCH INPUT

CALL FUNCTION ‘BDC_INSERT’


EXPORTING
Tcode = <Código da Transação>

TABLES

Dynprotab = <Tabela BDC>

EXCEPTIONS

Internal_Erro =1
Not_Open =2
Queue_Error =3
Tcode_Invalid =4

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Transação SM35

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Transação SM35

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
BAPI

O que é BAPI?

• Business Application Program Interface.


• BAPI – Módulo de Função(RFC)

BAPI – Atualização de dados nas tabelas

X
Batch-Input – Atualização de dados via transação

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
BAPI
CALL FUNCTION 'BAPI_BANK_CREATE'
EXPORTING
bank_ctry = v_bank_ctry
bank_key = v_bank_key
bank_address = wa_address
IMPORTING
return = wa_return.

IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait ='X'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
CLEAR: wa_banco, v_bank_ctry, v_bank_key, wa_address.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Transação BAPI

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Debugger

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 69
Ativando a Depuração de Programas
Entrar em Sistema >
Utilitários > depuração ABAP/4

Digitar /H para iniciar


o processo de
Debugger

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 70
Botões de Navegação

F5 F6 F7 F8

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 71
Configurando o debugger
• Você pode alternar as versões do debugger durante a execução. Para isso
acesse o menu “Depuração – Mudança para ABAP debugger novo / antigo”

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 72
Configurando o debugger
• Para parametrizar como default o
novo debugger no seu usuário,
acesse qualquer programa pela
transação SE38 e siga o seguinte
caminho: Utilitários – Configurações.

• Selecione a aba “Editor ABAP” e


“Depuração” e marque a opção
“Debugger Novo”.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 73
Funcionalidade do debugger

• Clicando na área em destaque ou com o botão é possível definir e


remover novos pontos de parada durante a depuração.
*Observação: caso queira que os novos pontos seja utilizados ao reiniciar a depuração é necessário
os pontos de parada.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Funcionalidade do debugger

• Na aba DESKTOP 1 é possível visualizar todas as variáveis, estruturas,


tabelas e seus valores existentes na memória para programa em execução.
• Nas abas VARIABLES 1 e 2 é possível informar um variável, estrutura e
tabela do seu programa em execução para consultar e manipular o seu valor.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Funcionalidade do debugger

• Clicando em Locais ou Globais é possível consultar respectivamente


todas as variáveis, estruturas, tabelas e seus valores geradas na
memória para o programa em execução.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Funcionalidade do debugger

• Na aba EXIBS.DETHS. é possível visualizar as características de uma


variável.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Funcionalidade do debugger

• Na aba STANDARD é possível verificar todas as rotinas executadas até o


momento.
• Para navegar basta clicar duas vezes nas rotinas.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Funcionalidade do debugger

• Com dois cliques no é possível modificar um valor em tempo de


execução.
*Observação: Esta funcionalidade é dependente da permissão do usuário SAP.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Funcionalidade do debugger

• Também é possível manipular os dados de uma tabela interna (inserir,


modificar e eliminar registros em tempo de execução) apertando o botão
direito do mouse.
Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Funcionalidade do debugger
O WATCHPOINT monitora as variáveis em tempo de execução do programa
interrompendo a execução (ponto de parada) assim que o valor for modificado.

• Para criar um WATCHPOINT basta clicar no botão , informar a


variável e o valor que pretende localizar.
• Após definir um WATCHPOINT, basta executar o programa e aguardar se a
variável vai ser alimentada com o valor esperado.
Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Funcionalidade do debugger

• Apertando SHIFT+F9 é possível definir pontos de parada através de


comandos ABAP, métodos, módulos de função, FORMs...

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Funcionalidade do debugger

SHIFT+F12
Cursor

• Colocando o cursor na linha do código já executado e apertando SHIFT+F12


o debug permite reprocessa-lo.
*Observação: No reprocessamento as variáveis e tabelas são mantidas com os dados atuais, isto é, os
valores não retornam para os valores inicias antes do processamento.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Funcionalidade do debugger

• Na aba PTOS.PAR/WATCHPTS é possível visualizar e administrar todos os


pontos de paradas e WATCHPOINTS criados.
Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Como Procurar?
• Mensagens

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 85
Procurar mensagens

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Tipo de mensagens

Tipo Significado Comportamento


A Abort O processamento é finalizado. o usuário deve reiniciar a
operação desde o seu início
X Exit Como uma mensagem de abortar, mas com um DUMP
tipo MESSAGE_TYPE_X.
E Error Comportamento em tempo de execução depende do
contexto.
W Warning Comportamento em tempo de execução depende do
contexto.
I Information O processamento é interrompido, a mensagem é exibida
em uma caixa de diálogo e o programa continua quando
a mensagem for confirmado com ENTER.
S Set A mensagem aparece na barra de status na próxima tela.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar mensagens (Código da mensagem)

• Quando a mensagem for exibida na


barra de status aperte F1 ou duplo
clique para visualizar a documentação

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar mensagens (Código da mensagem)

• Acessar a transação SE91,


informar a classe de
mensagem e o nº da
mensagem.

• Marque a mensagem e
aperte o botão lista de
utilização para localizar todas
as possíveis chamadas da
mensagem.
Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar mensagens (Código da mensagem)

• Clicando duas vezes no programas listados serão informados todos os pontos de


chamada da mensagem.
Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar mensagens (Comando ABAP)
1. Acionar o debugger (/h).

2. Executar a transação (F8)

3. Clicar SHIFT+F9 e incluir a


instrução ABAP “MESSAGE” .

1. Executar a transação (F8)

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar mensagens (Comando ABAP)

• Verifique que foram definidos pontos de parada em todas as mensagens geradas


pelo comando “MESSAGE”.
• Execute até encontrar a mensagem a ser analisada.
Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar mensagens (WATCHPOINT)

Outra maneira de pesquisar uma mensagens é através da criação de um


WATCHPONIT para as variáveis de sistema abaixo:

• SY-MSGID: Classe de mensagem


• SY-MSGNO: Nº mensagem

As variáveis de sistema existem na memória em todo o tempo de execução da


aplicação, com isso é possível criar o WATCHPOINT no início do da execução
do cenário de teste.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar mensagens (WATCHPOINT)

Segue o exemplo:

Foi gerado uma mensagens informando que a


tabela solicitada não existe:

Classe de mensagem: E2 (SY-MSGID)


Nº da mensagem: 007 (SY-MSGNO)

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar mensagens (WATCHPOINT)

• Antes de executar o procedimento que gera a mensagem é necessário ativar


o debbuger através do comando /h:
• Após ativar o debbuger, execute uma ação e repare que será iniciado o modo
de depuração.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar mensagens (WATCHPOINT)

• Crie 2 WATCHPOINTS conforme imagens abaixo:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar mensagens (WATCHPOINT)

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar mensagens (WATCHPOINT)

• Na aba Ptos.par./watchpts é possível visualizar os dois WATCHPONITS


criados:

• Após a criação dos WATCHPONITS, execute o programa (F8)

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar mensagens (WATCHPOINT)

Observe que o WATCHPOINT foi obtido conforme os valores informados:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Como procurar?
• HARDCODE em todos o programas Z

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 100
Procurar um HARDCODE em todos o programas Z

Acesse o código de um programa através da transação SE38 e clique em .

Digite o termo a ser pesquisado,


selecione a opção GLOBAL PROGR
BÁSIC e clique no botão .

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar um HARDCODE em todos o programas Z

• Digite Z* e aperte ENTER. Todos os programas Z do ambiente serão listados

• Clique em procurar.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar um HARDCODE em todos o programas Z

• Serão listados todos os programas que possuem o HARDCODE


informado para analise.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Como procurar?
• Request

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 104
Procurar uma request (Objeto)

• Acessar a transação SE03 e clicar duas vezes na opção abaixo:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar uma request (Objeto)

• Selecionar o tipo de objeto, informar o nome e executar:


• No exemplo abaixo esta sendo localizado as Requests referente
ao formulário SAPSCRIPT:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar uma request (Objeto)

• Observe abaixo que foram listas as requeste e as tarefas com


suas respectivas datas de criação:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar uma request (Descrição)

• Acessar a transação SE03 e clicar duas vezes na opção abaixo:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar uma request (Descrição)

• Acessar o MACTHCODE e expandir todas as opções de seleção:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar uma request (Descrição)

• Selecionar todos os status de ordem.


• Informar o termo de pesquisa que compõe a descrição entre * e
executar:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar uma request (Descrição)

• As requests serão listadas conforme abaixo:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Como procurar?
• Exit / BADI

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 112
Procurar uma Exit (Componente de Ampliação)

 Segue abaixo um exemplo de como localizar uma exit através do


componente de aplicação:

• Acessar a transação ME31K;


• Clicar no menu Sistema->Status->programa tela e apertar (doubleclick) no
programa;
• Dentro do programa acessar o menu Ir Para->Caracteristicas e apertar
(doubleclick) em Classe de desenvolvimento;
• Anotar o nome do “componente de ampliação” (MM-PUR);
• Acessar a transação SMOD, apertar o MATCHCODE do campo
ampliação, informar o componente de ampliação e executar.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar uma Exit (Componente de Ampliação)

• Serão listadas diversas ampliações:

• Selecione a mais apropriada e clique no botão testar:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar uma Exit (Componente de Ampliação)

• Todas as EXITs que compõem esta ampliação serão listadas e o seu


status atual (Ativo ou inativo, implementada ou não implementada):

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar uma Exit (Debugger)

• Ativar o debugger (/H) no momento mais apropriado da transação para a


implementação da EXIT;
• No debugger apertar o comando SHIFT+F9;
• Na ABA Instr. ABAP digitar o comando CALL CUSTOMER-FUNCTION e
apertar OK;
• Aperte F8 para executar;

Caso seja encontrado uma chamada de uma EXIT o ponto de parada será
encontrado. Se a EXIT estivar ativa e implementada, basta prosseguir o
debugger com o F5 e analisar o código.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar uma BADI (Debugger)

• Acessar a transação SE24;


• Preencher o tipo de objeto com a classe CL_EXITHANDLER e exibir;
• Apertar (doubleclick) no método GET_INSTANCE;
• Colocar um break-point no trecho do código conforme abaixo:

• Quando uma transação for chamada, o programa para nesse método;


• O conteúdo da variável EXIT_NAME vai dar-nos o nome das BADI
disponíveis.
Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar uma Badi(Componente de Ampliação)

 Segue abaixo um exemplo de como localizar uma exit através do


componente de aplicação:

• Acessar a transação ME31K;


• Clicar no menu Sistema->Status->programa tela e apertar (doubleclick) no
programa;
• Dentro do programa acessar o menu Ir Para->Caracteristicas e apertar
(doubleclick) em Classe de desenvolvimento (Pacote);
• Anotar o nome do “componente de ampliação” (MM-PUR);
• Acessar a transação SE84, ir no menu ampliações->Business Add-Ins->
definições e informar o componente de ampliação ou/e pacote e executar.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar uma BADI (Componente de Ampliação)

• Serão listadas diversas BADIs:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar uma BADI

• Transações utéis para implementar BADIs


- SE18 – Business Add-in builder
- SE19 – Implementation of Badi
- SE24 – Class/Interface Builder
• - SE20 – Enhancements

• Tabelas úteis
- SXS_ATTRT – BAdi Definition list
- V_EXT_ACT – Active implementations of an exit
- V_EXT_ IMP – Implementation class for an interface+filter
- V_EXT_M – BAdi’s with filters

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Como procurar?
• Customizações (visões)

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 121
Procurar Customizações (visões)

Através de uma tabela é possível localizar uma visão.

• Acessar a transação SM30 -> informar a tabela -> apertar o botão


Procurar dialogo de atualização -> apertar o botão avançar:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar Customizações (visões)

Serão listadas as visões da tabela:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar Customizações (visões)

Para identificar a customização(IMG) basta clicar em customazing ->


continuar sem indicação de projeto::

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar Customizações (visões)

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Procurar Customizações (visões)

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Comparando customizações

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 127
Comparando customizações

Através da transação SCU0 é possível comparar a configuração que existe


em um ambiente com outro Ambiente (pode ser DES com QA, DES com
PRD ou QA com PRD).

• Para comparar a diferença de configuração da SPRO, basta acessar a


transação SCU0 e selecionar a opção IMG referência SAP.
• Clique no botão Criar:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Comparando customizações

• Selecione a opção conforme abaixo:

• Irá abrir a tela da SPRO para que seja selecionada a configuração a ser
comparada:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Comparando customizações

• Clique no botão para continuar com a comparação.


• Informar a descrição e a conexão R/3 para efetuar a comparação:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Comparando customizações

• Será mostrado o resultado da comparação

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Comparando customizações

• Para visualizar as diferenças selecione a configuração


• Clique no botão e será exibido as diferenças

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Comparando customizações

• Será mostrada a diferença onde ML é o registro no QAS e MR mostra o


registro em PRD. Os valores diferentes aparecerão em amarelo.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Comparando customizações

• Através da opção Lista Técnica Customizing\transporte na transação


SCU0 é possível comparar request´s de customização.

• Observação: A comparação sempre será feita baseada na configuração


existente no ambiente e não necessariamente com a request, isto é,
podendo ocorrer diferenças referente a outras requests.

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Analisar aplicação de nota SAP

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 135
Analisar aplicação de nota SAP

Inicialmente é necessário realizar o procedimento abaixo para verificar se a nota é


aplicável no ambiente do cliente. Caso não consiga identificar com o procedimento
abaixo, solicite um apoio técnico para olhar detalhadamente a ação da nota:

• Acessar a nota (service.sap.com/notes);


• Verificar o sintoma da nota e os pré-requisitos;

Identificando a possibilidade da nota solucionar o problema é necessário verificar


se esta nota é aplicável no ambiente:

• Acessar o ambiente do cliente, ir no menu sistema -> status -> informações dos
componentes:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Analisar aplicação de nota SAP

• Verificar nos releases afetados pela nota o componente e comparar com


o componente correspondente no SAP:

• Nota SAP:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Analisar aplicação de nota SAP

• Se a nota contém o realase do ambiente é necessário verificar a versão


do support package. Caso a versão do SP da nota seja superior ao
ambiente SAP do cliente esta nota é aplicavél.

• Outro passo é verificar se a nota não foi aplicada pela transação SNOTE.
• Acessar a transação SNOTE e clicar no botão .
• Informar o número da nota e executar.
• Se a nota não for localizada é que não foi feito o download, com isso, não
foi aplicada.
• No caso da nota ser exibida é necessário verificar o estado da
implementação para identificar se a nota já foi aplicada ou não:

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Dúvidas?

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno. 139
Exercícios

Hora de Praticar!

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.
Fim
Treinamento ABAP para
Consultores Funcionais
Desenvolvido por: Thiago Carmo

Todos os Direitos Reservados © Valores Corporativos Softtek S.A. de C.V. 2011. Interno.

Você também pode gostar