You are on page 1of 53

Desenvolvimentos e modificações em ABAP

Instrutor: Aparecido Pereira Borges

Aparecidoborges@uol.com.br
Modificações
Modificações
Alterações no sistema SAP:
Customizing
Customizing

Buscar
Buscarsolução
soluçãoOSS
OSS

Enhancements
Enhancements(Ampliações)
(Ampliações)

Desenvolvimento
Desenvolvimentode
de programa
programapara
paracomplementar
complementaroostandard
standard

Solicitação
Solicitaçãode
deum
umnovo
novoenhancement
enhancementpara
paraSAP
SAP

Copia
Copiade
deprograma
programastandard
standard

Alteração
Alteraçãode
deprograma
programastandard
standard
Modificações
Cópia de programa standard - Considerações
1 - Por ser uma cópia, as alterações não irão afetar os outros
países.
2 - Não terá as correções de OSS ou Hot Packages
3 - Durante a aplicação dos Hot Packages, pode haver a
necessidade de refazer a cópia. (Com certeza, terá que ser
analisada / testada)
4 - Durante o upgrade, a cópia deverá ser refeita, para adaptar-se
às mudanças da nova versão. Dependendo das mudanças do
upgrade, a alteração pode não ser mais aplicável
5 - A SAP não se responsabiliza por cópias de programas.
Portanto, perde-se o suporte da SAP para este programa.
6- Deve ser considerado como último recurso
Modificações
Alteração de programa standard - Considerações
1 - Deverá passar por avaliação e aprovação dos Process e
Development experts.
2 - As alterações irão afetar os outros países.
3 - Durante a aplicação dos Hot Packages, há a possibilidade da
SAP apagar esta alteração (sobreposição de programa). Neste
caso, será necessário refazer a alteração. Independente disso, ela
terá que ser analisada / testada
4 - Durante o upgrade, a alteração deverá ser refeita, para adaptar-
se às mudanças da nova versão. Dependendo das mudanças do
upgrade, a alteração pode não ser mais aplicável.
5 - A SAP não se responsabiliza por programas alterados.
Portanto, perde-se o suporte da SAP para este programa.
6- Não deve ser considerado como opção de solução
Modificações
Criação de programa complementar - Exemplo: É necessário
incluir a organização de vendas na tela de seleção da transação VKM4
Modificações
Criação de programa complementar - Solução do exemplo: Foi criado
um programa ABAP que busca todos os pedidos de uma org. vendas e
transporta os seus números para a VKM4 no campo “Documento SD”
VKM4
Programa ABAP

Número de
documentos

Pedidos
Enhancements
Enhancements
Enhancements (Ampliações), são aberturas do sistema disponibilizadas
pela SAP para fazer customização nos programas, telas, menus e tabelas.

1 - Se desenvolvida corretamente, as alterações não irão afetar os


outros países.
2 - A aplicação de Hot Packages não irá apagar as alterações
3 - Durante o upgrade, a alteração não será apagada pela SAP,
porém será necessário analisa-la / testa-la.
4 - A alteração é feita em uma área permitida pela SAP. Portanto,
o suporte SAP para o programa está mantido.
Enhancements
Tipos de enhancements -
1 - Customer exit
•Function module exit
•Screen exit
•Menu exit
•Include tables
2 - User exit (SD)
3 - Field exit
4 - Table enhancements
5 - Text enhancements
6 - Fórmulas, requerimentos, controle de cópias (SD, MM, LIS, SOP)
7 - BTE - Business Transaction Events (FI)
Enhancements - Customer exit
Enhancements - Customer exit
Function module exit- São function modules criadas pela SAP, onde pode ser
implementada a rotina adicional necessária.
Programa : SAPLL03A
Função: EXIT_SAPLL03A_001
Instrução
Instrução11
Instrução
Instrução22 Rotina
Rotinado
doCliente
Cliente
Call
CallCustomer-Function
Customer-Function'001'
'001'
Exporting ...
Exporting ...
Importing
Importing......
Instrução
Instrução33
......
Instrução Função: EXIT_SAPLL03A_002
Instrução800
800
Call Vazio
CallCustomer
CustomerFunction
Function'002'
'002' Vazio
Exporting ...
Exporting ...
Importing
Importing......
Enhancements - Customer exit

Screen exit - Permite incluir campos na tela de um programa.

Menú exit - Permite incluir um menú do Cliente em um menú standard.

Include table - Permite incluir campos em tabelas. Esta opção somente


pode ser usada se for disponibilizada pela SAP.
Enhancements - Customer exit
Transação CMOD -
Criado Criado por SAP
por ?????
Ativação/ Documentação Programas
desativação SAP
Componente
ComponenteAA Function-exit
Enhancement
EnhancementAA
Componente
ComponenteBB Function-exit
Projeto
ProjetoAA
Componente
ComponenteCC Function-exit
Enhancement
EnhancementBB Componente
CMOD
CMOD ComponenteDD Screen-exit
Componente
ComponenteEE Include table

Projeto
ProjetoBB Enhancement
EnhancementCC Componente
ComponenteFF Function-exit
Enhancements - Customer exit
Transação CMOD -

Ativa/desativa
o projeto
Nome do
projeto
Importante: Se o
projeto estiver
Enhancement desativado, nenhum
de seus componentes
serão processados.
Documentação
criada pelo
Cliente
Enhancements - Customer exit
Transação CMOD -

Documentação
SAP

Nota: A documentação
somente aparece se
Enhancement você fez o login no
idioma inglês.
Enhancements - Customer exit
Transação CMOD -

Componentes
(Function exits)
Enhancements - Customer exit
Como procurar um customer exit para um programa standard ?
1 - Procurar nome do programa

Exemplo: ME22
Enhancements - Customer exit
Como procurar um customer exit para um programa standard ?
2 - Procurar ampliações (enhancements) para este programa
CMOD
Enhancements - Customer exit
Como procurar um customer exit para um programa standard ?
2 - Procurar enhancements (ampliações) para este programa

Nome do
programa entre “*”
(asterisco)
Enhancements - Customer exit
Como procurar um customer exit para um programa standard ?
3 - Verificar na documentação de cada enhancement (ampliação) se ele atende a
necessidade.

Consultar a documentação de
cada ampliação.
Lembrete: Fazer login em inglês

Ampliações
disponíveis Passar o nome da ampliação escolhida
para o desenvolvedor.

Algumas documentações do SAP já


informam este nome
Enhancements - User exit
Enhancements - User exit
User exit - Está disponível somente para o módulo de SD. Possui a mesma
finalidade do customer exit, porém utiliza um método mais antigo. As alterações
são feitas diretamente em “Includes” disponibilizados pela SAP. Neste caso
não se usa a transação CMOD. Obs.: O módulo SD também possui customer-
exits.
Include: MV45AFZB
Programa: SAPMV45A
Form
Formuserexit_check_vbak.
userexit_check_vbak.
Instrução
Instrução11
Instrução
Instrução22 Rotina_Cliente.
Rotina_Cliente.
Perform
Performuserexit_check_vbak.
userexit_check_vbak. Endform.
Endform.
Instrução
Instrução33 Include: MV45AFZZ
......
Instrução Form
Formuserexit_save_document.
Instrução800
800 userexit_save_document.

Perform Endform.
Performuserexit_save_document.
userexit_save_document. Endform.
Enhancements - User exit
User exit - Como procurar um user-exit ?
1 - Pesquisar todos os programas que pertencem à classe de desenvolvimento “VMOD”

SE80

Includes
que contém
user-exits
Enhancements - User exit
User exit - Como procurar um user-exit ?
2 - Cada include possui várias rotinas de user-exit. Cada rotina possui uma breve
descrição de sua finalidade. Existe pouca documentação SAP para este tipo de user-
exit.
Include MV45AFZZ
Enhancements - Field exit
Enhancements - Field exit
Field exit - Rotina disponibilizada para fazer tratamento em um campo
específico da tela.
•Está disponível para todos os campos de qualquer tela (Module Pools)
com referência a um elemento de dados (ver F1/F9).
•Campos protegidos para digitação não possuem field-exit.

FIELD-EXIT
FIELD-EXIT PROGRAMA
PROGRAMA
Enhancements - Field exit
O que pode ser feito ? - sugestões
1 - Obrigar digitação de um campo
2 - Consistir campos
3 - Alterar o conteúdo digitado
•Adicionar máscara (99.999.999/9999-99, 99999-999 ...)
•Converter para maiúsculas / minúsculas
•Completar com zeros
•Alinhar para esquerda / direita, centralizar
•Converter código para nome
•Etc.
4 - Definir valor default
5 - Verificar se o conteúdo digitado existe em uma tabela
6 - Verificar autorizações
Enhancements - Field exit
O que NÃO pode ser feito ?

1 - Exibir mensagens “I” (informação) ou “W” (advertência). Somente


é permitido usar mensagens “E” (erro).
2 - Chamar outra tela, matchcode ou tela de aviso/confirmação.
3 - Mudar atributo de campo obrigatório para opcional.
Enhancements - Field exit
Field-exit x User-exit/Customer exit

Campo A
Field-exit Programa
Field-exit
Mensagem
Campos
Início
Início
Campo B
Field-exit Instrução
Instrução11
Mensagem Field-exit Instrução
Instrução22
User-exit
User-exit
Perform
Performxxxxx
xxxxx
Instrução
Instrução33
Customer
Customer
Call
Callcustomer
customer exit
exit
Enhancements - Field exit
Como localizar um field-exit já criado ?
1 - Identificar o elemento de dados do campo e o nome do programa/ nr. tela
Exemplo: ME21
Enhancements - Field exit
Como localizar um field-exit já criado ?
2 - Saltar para tela de field-exits

CMOD
Enhancements - Field exit
Como localizar um field-exit já criado ?
3 - Marcar o elemento de dados desejado e visualizar o programa.

Visualiza o
programa do
Field-exit

Nesta tela estão todos os field exits já


criados para o Ambiente do cliente.
Marcar Outros field-exits poderão ser
acrescentados.
Enhancements - Table enhancement
Enhancements - Table enhancements
Table enhancement - Permite adicionar campos em tabelas/estruturas
standard.

A adição não é feita diretamente na tabela standard. É necessário criar uma


estrutura e então anexá-la a tabela. O SAP anexa esta estrutura com a opção
“.APPEND”
Enhancements - Table enhancements
Exemplo de uma ampliação na tabela VBAK

Estrutura
anexada com a
opção .APPEND
Enhancements - Text enhancement
Enhancements - Text enhancements
Text enhancement - Permite alterar a descrição de campos (ou sua
documentação - F1) nas transações SAP.
Enhancements - Text enhancements
Text enhancement - Alteração de descrição de campos
1 - Obter o nome do elemento de dados do campo (F1/F9)
2 - Utilizar a transação CMOD
Digitar o Idioma e
elemento de
dados do campo
Enhancements - Text enhancements
Text enhancement - Alteração de descrição de campos
Enhancements - Text enhancements
Text enhancement - Consulta de textos já alterados
Enhancements - Text enhancements
Text enhancement - Consulta de textos já alterados
Enhancements - Text enhancements

Alterna entre texto


original SAP e texto
modificado

Posicionar
no campo
Enhancements - Fórmulas,
Requerimentos, Controle de Cópias
Enhancements - Fórmulas, requerimentos ...
São rotinas ABAP que complementam as configurações (customizing) de:

•Esquemas de determinação de preço (pricing SD/MM)


•Regras de atualização de dados reais em estruturas LIS (Logistic Information
System) ou SOP (Sales & Operations Planning)

Fórmula - Rotina para calcular/converter valores ou quantidades.


Requerimento - Definição de pré-requisitos para a execução de uma rotina
subsequente.
Controle de cópia - Determinação de regras para cópia de dados entre documentos
Na criação de um documento com referência a outro,
pode-se modificar o conteúdo de alguns campos durante
a cópia.
Enhancements - Fórmulas, requerimentos ...
Fórmulas e requerimentos - Exemplo 1, atualização de uma estrutura SOP /
LIS
Update rules (Regras de atualização)

Atualizar
Atualizarestrutura
estrutura
S701 Req
Req11 S701
Form
Form11
VF01 Atualizar
VF01 Fatura Atualizarestrutura
estrutura
(Criação
(Criaçãode Req
de S702 Req22 S702
faturas)
faturas)
Atualizar
Atualizarestrutura
estrutura
S703 S703
Form
Form11
Req
Reqxx = Requerimento
Form
Formxx = Fórmula
Enhancements - Fórmulas, requerimentos ...
Fórmulas e requerimentos - Exemplo 2, Pricing (MM/SD)

Valor da
Condição
condição
de preço
Enhancements - Fórmulas, requerimentos ...
Fórmulas e requerimentos - Exemplo 2, Pricing (MM/SD)
Rotina de Pricing (Determinação de preço)
Tela de Pricing
Criar
ZBPR Req
Req11
Criar ZBPR 123.456,78
condição ZBPR 123.456,78
condição
INDX Criar
Criar
condição Form
Form
1
1 INDX
INDX
456,78
456,78
VF01 condição
VF01
ou ZENC Criar
ou Criar ZENC 0,00
condição ZENC 0,00
ME21 condição
ME21
Criar
ICMI Req
Req22
Criar
condição Form 2 ICMI 3.456,78
condição Form 2 ICMI 3.456,78
Criar
FOBX Req
Req33
Criar
condição
condição
Enhancements - Fórmulas, requerimentos ...
Controle de cópia - Exemplo 1, Criação de fatura

VF01 (Criação de fatura)


Fatura

Cabeçalho Copiar
Copiar Controle cópia 1 Cabeçalho
dados Controle cópia 1 Cabeçalho
dados
Copiar
Item 1 Req
Req11 Copiar Item 1
dados Item 1
dados
Remessa
Copiar
Req Copiar Item 2
Item 2 Req11 dados
dados Item 2
Copiar
Req Copiar
Item 3 Req11 dados
dados
Enhancements - Fórmulas, requerimentos ...
Transação VOFM - Transação para consulta e criação de novas rotinas.
(Controle de cópia e Requerimentos/Fórmulas para pricing).

Requerimento
para controle Controle
Fórmula
de cópia de cópia Requerimentos
s

1 - A SAP já disponibiliza várias rotinas


prontas.
2 - Novas rotinas devem ser criadas com
numeração de 900 a 999.
Enhancements - Fórmulas, requerimentos ...
Transação MC1B/MC1D - Transações para consulta e criação de novas
rotinas para Update Rules (LIS / SOP)
MC1B MC1D

Requerimentos Fórmulas

1 - A SAP já disponibiliza várias rotinas


prontas.
2 - Novas rotinas devem ser criadas com
numeração de 900 a 999.
Enhancements - BTE
Enhancements - BTE
BTE - (Business Transaction Events) Enhancement criado pela SAP principalmente
para o módulo de FI. Permite processar rotinas do Cliente quando um evento é
disparado.
A tabela TBE01 contém alguns eventos pre-determinados pela SAP.

Exemplo de
Número Function Module
do evento de para tratar
este evento

You might also like