sd_18_userexits
DESCRIPTION
Abap_FuncionalTRANSCRIPT
Modificações
Modificações
Alterações no sistema SAP:
Buscar solução OSSBuscar solução OSS
Enhancements (Ampliações)Enhancements (Ampliações)
Desenvolvimento de programa para complementar o standardDesenvolvimento de programa para complementar o standard
Solicitação de um novo enhancement para SAPSolicitação de um novo enhancement para SAP
Copia de programa standardCopia de programa standard
Alteração de programa standardAlteração de programa standard
CustomizingCustomizing
Cópia de programa standard - Considerações
Modificaçõ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çõesCriação de programa complementar - Exemplo: É necessário incluir a organização de vendas na tela de seleção da transação VKM4
ModificaçõesCriaçã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”
Programa ABAP
Pedidos
VKM4
Número de documentos
Enhancements
EnhancementsEnhancements (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.
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
Enhancements - Customer exit
Enhancements - Customer exitFunction module exit- São function modules criadas pela SAP, onde pode ser implementada a rotina adicional necessária.
Instrução 1Instrução 2
Call Customer-Function '001'Exporting ...Importing ...
Instrução 3...Instrução 800
Call Customer Function '002'Exporting ...Importing ...
Instrução 1Instrução 2
Call Customer-Function '001'Exporting ...Importing ...
Instrução 3...Instrução 800
Call Customer Function '002'Exporting ...Importing ...
Rotina do ClienteRotina do Cliente
Programa : SAPLL03AFunção: EXIT_SAPLL03A_001
VazioVazio
Função: EXIT_SAPLL03A_002
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.
Transação CMOD -
Enhancement AEnhancement A
Projeto AProjeto A
CMODCMOD
Componente AComponente A
Projeto BProjeto B
Enhancement BEnhancement B
Enhancement CEnhancement C
Componente BComponente B
Componente CComponente C
Componente DComponente D
Componente FComponente F
Function-exit
Function-exit
Function-exit
Screen-exit
Componente EComponente E Include table
Function-exit
Ativação/ desativação
Documentação SAP
Criado por SAPCriado por ?????
Programas
Enhancements - Customer exit
Nome do projeto
Ativa/desativa o projeto
Importante: Se o projeto estiver desativado, nenhum de seus componentes serão processados.
Enhancement
Documentação criada pelo
Cliente
Enhancements - Customer exitTransação CMOD -
Enhancement
Documentação SAP
Nota: A documentação somente aparece se você fez o login no idioma inglês.
Enhancements - Customer exitTransação CMOD -
Componentes(Function exits)
Enhancements - Customer exitTransação CMOD -
Como procurar um customer exit para um programa standard ?
1 - Procurar nome do programa
Exemplo: ME22
Enhancements - Customer exit
2 - Procurar ampliações (enhancements) para este programa
CMOD
Enhancements - Customer exitComo procurar um customer exit para um programa standard ?
2 - Procurar enhancements (ampliações) para este programa
Nome do programa entre “*”
(asterisco)
Enhancements - Customer exitComo procurar um customer exit para um programa standard ?
3 - Verificar na documentação de cada enhancement (ampliação) se ele atende a necessidade.
Ampliaçõesdisponíveis
Consultar a documentação de cada ampliação.
Lembrete: Fazer login em inglês
Passar o nome da ampliação escolhida para o desenvolvedor.
Algumas documentações do SAP já informam este nome
Enhancements - Customer exitComo procurar um customer exit para um programa standard ?
Enhancements - User exit
Enhancements - User exitUser 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.
Instrução 1Instrução 2
Perform userexit_check_vbak.
Instrução 3...Instrução 800
Perform userexit_save_document.
Instrução 1Instrução 2
Perform userexit_check_vbak.
Instrução 3...Instrução 800
Perform userexit_save_document.
Form userexit_check_vbak.
Rotina_Cliente.
Endform.
Form userexit_check_vbak.
Rotina_Cliente.
Endform.
Programa: SAPMV45AInclude: MV45AFZB
Form userexit_save_document.
Endform.
Form userexit_save_document.
Endform.
Include: MV45AFZZ
Enhancements - User exitUser 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 exitUser 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 exitField 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-EXITFIELD-EXITPROGRAMAPROGRAMA
Enhancements - Field exit
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
O que pode ser feito ? - sugestões
Enhancements - Field exit
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.
O que NÃO pode ser feito ?
Enhancements - Field exit
Field-exit x User-exit/Customer exit
Field-exitField-exit
Início
Instrução 1Instrução 2
Perform xxxxx
Instrução 3
Call customer
Início
Instrução 1Instrução 2
Perform xxxxx
Instrução 3
Call customer
Campo A
Field-exitField-exit
User-exitUser-exit
Customer exit
Customer exit
Campo B
Mensagem
Mensagem
Campos
Programa
Enhancements - Field exit
Como localizar um field-exit já criado ?
Exemplo: ME21
1 - Identificar o elemento de dados do campo e o nome do programa/ nr. tela
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
Marcar
Nesta tela estão todos os field exits já criados para o Ambiente do cliente. Outros field-exits poderão ser acrescentados.
Enhancements - Table enhancement
Enhancements - Table enhancementsTable 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 enhancementsText 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 CMODDigitar 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
Posicionar no campo
Alterna entre texto original SAP e texto
modificado
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
Req 1Req 1Atualizar estruturaAtualizar estrutura
Form 1Form 1 S701
Req 2Req 2Atualizar estruturaAtualizar estrutura
S702
Atualizar estruturaAtualizar estrutura
Form 1Form 1 S703
S701
S702
S703
VF01
(Criação de
faturas)
VF01
(Criação de
faturas)
Update rules (Regras de atualização)
Fatura
Req xReq x
Form xForm x
= Requerimento
= Fórmula
Enhancements - Fórmulas, requerimentos ...
Fórmulas e requerimentos - Exemplo 2, Pricing (MM/SD)
Condição de preço
Valor da condição
Enhancements - Fórmulas, requerimentos ...
Fórmulas e requerimentos - Exemplo 2, Pricing (MM/SD)
Req 1Req 1 Criar condição
Criar condição
ZBPR
INDX
ICMI
VF01
ou
ME21
VF01
ou
ME21
Rotina de Pricing (Determinação de preço)
Criar condição
Criar condição Form 1Form 1
Criar condição
Criar condição
Criar condição
Criar condição Form 2Form 2
Criar condição
Criar condição
Req 2Req 2
Req 3Req 3
ZENC
FOBX
ZBPRZBPR123.456,78123.456,78
INDXINDX456,78456,78
ZENCZENC0,000,00
ICMIICMI3.456,783.456,78
Tela de Pricing
Enhancements - Fórmulas, requerimentos ...
Controle de cópia - Exemplo 1, Criação de fatura
Copiardados
Copiardados
Req 1Req 1
Copiardados
Copiardados
Cabeçalho
VF01 (Criação de fatura)
Remessa
Item 1
Item 2 Req 1Req 1
Copiardados
Copiardados
Copiardados
CopiardadosItem 3 Req 1Req 1
Controle cópia 1Controle cópia 1 CabeçalhoCabeçalho
Item 1Item 1
Item 2Item 2
Fatura
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
de cópia
Controle de cópia 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 - Fórmulas, requerimentos ...
Transação MC1B/MC1D - Transações para consulta e criação de novas rotinas para Update Rules (LIS / SOP)
1 - A SAP já disponibiliza várias rotinas prontas.2 - Novas rotinas devem ser criadas com numeração de 900 a 999.
MC1B MC1D
Requerimentos Fórmulas
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.
Número do evento
Exemplo de Function Module
de para tratar este evento