SD_18_Userexits
-
Upload
luciano-marwell -
Category
Documents
-
view
484 -
download
7
description
Transcript of SD_18_Userexits
![Page 2: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/2.jpg)
Modificações
![Page 3: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/3.jpg)
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
![Page 4: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/4.jpg)
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
![Page 5: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/5.jpg)
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
![Page 6: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/6.jpg)
ModificaçõesCriação de programa complementar - Exemplo: É necessário incluir a organização de vendas na tela de seleção da transação VKM4
![Page 7: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/7.jpg)
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
![Page 8: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/8.jpg)
Enhancements
![Page 9: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/9.jpg)
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.
![Page 10: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/10.jpg)
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
![Page 11: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/11.jpg)
Enhancements - Customer exit
![Page 12: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/12.jpg)
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
![Page 13: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/13.jpg)
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.
![Page 14: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/14.jpg)
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
![Page 15: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/15.jpg)
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 -
![Page 16: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/16.jpg)
Enhancement
Documentação SAP
Nota: A documentação somente aparece se você fez o login no idioma inglês.
Enhancements - Customer exitTransação CMOD -
![Page 17: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/17.jpg)
Componentes(Function exits)
Enhancements - Customer exitTransação CMOD -
![Page 18: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/18.jpg)
Como procurar um customer exit para um programa standard ?
1 - Procurar nome do programa
Exemplo: ME22
Enhancements - Customer exit
![Page 19: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/19.jpg)
2 - Procurar ampliações (enhancements) para este programa
CMOD
Enhancements - Customer exitComo procurar um customer exit para um programa standard ?
![Page 20: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/20.jpg)
2 - Procurar enhancements (ampliações) para este programa
Nome do programa entre “*”
(asterisco)
Enhancements - Customer exitComo procurar um customer exit para um programa standard ?
![Page 21: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/21.jpg)
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 ?
![Page 22: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/22.jpg)
Enhancements - User exit
![Page 23: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/23.jpg)
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
![Page 24: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/24.jpg)
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
![Page 25: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/25.jpg)
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
![Page 26: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/26.jpg)
Enhancements - Field exit
![Page 27: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/27.jpg)
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
![Page 28: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/28.jpg)
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
![Page 29: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/29.jpg)
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 ?
![Page 30: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/30.jpg)
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
![Page 31: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/31.jpg)
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
![Page 32: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/32.jpg)
Enhancements - Field exit
Como localizar um field-exit já criado ?
2 - Saltar para tela de field-exits
CMOD
![Page 33: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/33.jpg)
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.
![Page 34: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/34.jpg)
Enhancements - Table enhancement
![Page 35: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/35.jpg)
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”
![Page 36: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/36.jpg)
Enhancements - Table enhancements
Exemplo de uma ampliação na tabela VBAK
Estrutura anexada com a
opção .APPEND
![Page 37: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/37.jpg)
Enhancements - Text enhancement
![Page 38: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/38.jpg)
Enhancements - Text enhancementsText enhancement - Permite alterar a descrição de campos (ou sua documentação - F1) nas transações SAP.
![Page 39: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/39.jpg)
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
![Page 40: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/40.jpg)
Enhancements - Text enhancements
Text enhancement - Alteração de descrição de campos
![Page 41: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/41.jpg)
Enhancements - Text enhancements
Text enhancement - Consulta de textos já alterados
![Page 42: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/42.jpg)
Enhancements - Text enhancements
Text enhancement - Consulta de textos já alterados
![Page 43: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/43.jpg)
Enhancements - Text enhancements
Posicionar no campo
Alterna entre texto original SAP e texto
modificado
![Page 44: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/44.jpg)
Enhancements - Fórmulas, Requerimentos, Controle de Cópias
![Page 45: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/45.jpg)
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.
![Page 46: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/46.jpg)
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
![Page 47: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/47.jpg)
Enhancements - Fórmulas, requerimentos ...
Fórmulas e requerimentos - Exemplo 2, Pricing (MM/SD)
Condição de preço
Valor da condição
![Page 48: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/48.jpg)
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
![Page 49: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/49.jpg)
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
![Page 50: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/50.jpg)
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.
![Page 51: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/51.jpg)
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
![Page 52: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/52.jpg)
Enhancements - BTE
![Page 53: SD_18_Userexits](https://reader033.fdocumentos.com/reader033/viewer/2022051015/5571f98749795991698fc7cf/html5/thumbnails/53.jpg)
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