Documente Academic
Documente Profesional
Documente Cultură
ABAP
HISTÓRICO
Versão Data (dd/mm/aaaa) Descrição
1.0 04/01/2016 Versão inicial
SUMÁRIO
1 OBJETIVO DO DOCUMENTO........................................................................................3
2 HEADER PADRÃO .......................................................................................................3
2.1 PRODUTOS ITS GROUP ................................................................................................3
2.1.1 PROGRAMAS PRINCIPAIS ................................................................................................... 3
2.2 DEMAIS DESENVOLVIMENTOS ........................................................................................4
2.2.1 PROGRAMAS PRINCIPAIS ................................................................................................... 4
2.2.2 INCLUDES ....................................................................................................................... 5
2.2.3 EXIT’S / INCLUDES............................................................................................................ 6
3 CONVENÇÃO DA NOMENCLATURA DOS OBJETOS ABAP ..............................................6
3.1 TABELA RESUMO ........................................................................................................6
3.2 ABAP PROGRAM ..................................................................................................... 12
3.3 ABAP MODULE POOL ............................................................................................... 13
3.4 FUNCTION GROUP .................................................................................................... 14
3.5 FUNCTION MODULE - PARÂMETROS.............................................................................. 15
3.6 CLASSES ................................................................................................................. 15
3.7 CLASSES - PARÂMETROS ............................................................................................. 15
3.8 INTERFACES ............................................................................................................. 15
3.9 TRANSACTION CODE .................................................................................................. 16
3.10 SCREENS ............................................................................................................... 16
3.11 ÁREA MENU .......................................................................................................... 17
3.12 MESSAGE CLASSES .................................................................................................. 17
3.13 BATCH REQUESTS (JOBS) .......................................................................................... 18
3.14 ABAP VARIANTS ..................................................................................................... 19
3.15 TABLES (TRANSPARENT, POOL) .................................................................................. 20
3.16 STRUCTURES .......................................................................................................... 20
3.17 VIEWS.................................................................................................................. 21
3.18 DOMAINS ............................................................................................................. 21
3.19 DATA ELEMENTS..................................................................................................... 22
3.20 LOGICAL DATABASE ................................................................................................. 22
Padronização de Desenvolvimento
ABAP
1 OBJETIVO DO DOCUMENTO
2 HEADER PADRÃO
Produtos desenvolvidos pela ITS Group devem possuir um cabeçalho diferenciado. Assim
como as telas principais devem ter identidade visual padronizada .
*#######################################################################*
*# ___ _________________ #*
*# /__//___ ___ ___ \ #*
*# / / / / | | |_/ #*
*# / / / / \ \ #*
*# / / / / ___ | \ #*
*# / / / / / /__/ / #*
*# /__/ /__/ /________/ #*
*# #*
*#######################################################################*
*# Produto ITS Group – Direitos Reservados #*
*# GRC Recebimento Inbound #*
*# Monitor das operações logíticas , entrada de mercadorias, etc etc #*
*# descrição do produto etc, finalidades, funcionalidades #*
*# Parametrição Tipo de processos #*
*#######################################################################*
**---------------------------------------------------------------------**
** Programa : /ITSGRP/ZGRC_MON_LOGISTICO **
** Cliente : Produto ITS Group **
** Módulo : MM - Processo com GRC **
** Transação : /ITSGRP/ZMONLOG **
** Descrição : Monitor de Operações Logísticas **
** ABAP : Ubiratan Viana **
** Funcional : Éverton Esquia **
** Data : 03.03.2016 **
**---------------------------------------------------------------------**
** Histórico de Alterações: **
**---------------------------------------------------------------------**
** Data |Change # |Autor / Uname |Alteração **
**---------------------------------------------------------------------**
** 03.03.2016 |EH7K900651| ITS_UVIANA |Desenvolvimento Inicial **
** |Pacote Principal **
**---------------------------------------------------------------------**
** 08.03.2016 |EH7K900XXX| ITS_UVIANA |Relatório Analítico **
*-----------------------------------------------------------------------*
*-----------------------------------------------------------------------*
* ITS Group *
*-----------------------------------------------------------------------*
* Programa : ZMMP009_MON_LOG *
* Cliente : Produto ITS Group *
* Módulo : MM - Processo com GRC *
* Transação : ZMONLOG *
* Descrição : Monitor de Operações Logísticas *
* ABAP : Ubiratan Viana *
* Funcional : Éverton Esquia *
* Data : 03.03.2016 *
*-----------------------------------------------------------------------*
* Histórico de Alterações: *
*-----------------------------------------------------------------------*
* Data |Change # |Autor / Uname |Alteração *
*-----------------------------------------------------------------------*
* 03.03.2016 |EH7K900651| ITS_UVIANA |Desenvolvimento Inicial *
* |Pacote Principal *
*-----------------------------------------------------------------------*
* 08.03.2016 |EH7K900XXX| ITS_UVIANA |Relatório Analítico *
*-----------------------------------------------------------------------*
2.2.2 Includes
*-----------------------------------------------------------------------*
* ITS Group *
*-----------------------------------------------------------------------*
* Include : ZMMP009_MON_LOG_F01 *
* Programa Principal : ZMMP009_MON_LOG *
* Módulo : MM - Processo com GRC *
* Transação : ZMONLOG *
*-----------------------------------------------------------------------*
* Histórico de Alterações: *
*-----------------------------------------------------------------------*
* Data |Change # |Autor / Uname |Alteração *
*-----------------------------------------------------------------------*
* dd.mm.aaaa |EH7K900651| ITS_UVIANA |Desenvolvimento Inicial *
*-----------------------------------------------------------------------*
Padronização de Desenvolvimento
ABAP
Para a implementação de Exit’s e/ou includes para exit. Utilizar o cabeçalho a baixo, que
possui informações para facilitar a manutenção.
*-----------------------------------------------------------------------*
* ITS Group *
*-----------------------------------------------------------------------*
* Exit : EXIT_SAPLV02V_002 *
* Include : ZXLOFU01 *
* Programa : ZXLOFU01_Ajusta_Valor *
* Ampliação CMOD : *
* Ampliação SMOD : V02V0002 *
* Módulo : SD *
* Funcional : Alex Teixeira *
* Abap : Ubiratan Viana *
* Objetivo : No momento da criação da fatura. Trocar o valor total *
* pelo valor parcial *
*-----------------------------------------------------------------------*
* Histórico de Alterações: *
*-----------------------------------------------------------------------*
* Data |Change # |Autor / Uname |Alteração *
*-----------------------------------------------------------------------*
* dd.mm.aaaa | | |Desenvolvimento Inicial *
*-----------------------------------------------------------------------*
Como regra geral para criação, a inicial do nome de todos os objetos que deverão estar em
meio produtivo deverá ser “Z”.
A tabela resumo abaixo ilustra a convenção para nomenclatura dos objetos criados pela
equipe de desenvolvimento. Nos demais capítulos, alguns tipos de objetos descritos na
tabela resumo são explicados com mais detalhes.
Alguns tipos aparecem em inglês para facilitar sua identificação dentro do próprio SAP. Os
caracteres maiúsculos são fixos.
X: S , Sapscript, F smartforms
ZSSF...x
33 Estilo para Smartforms
x: Nome
Zaax...x
34 Relatório do Report PaIDDer/Writer aa: Identificação da aplicação
x...x: Nome
35 Grupo de relatório do Report PaIDDer/Writer Zaax...x
Padronização de Desenvolvimento
ABAP
Implementação de BADI:
Zaa_nome
42 Enhancements
aa: Módulo da Aplicação
Implementação de Enhancement
ZEHaa_nome
EH: Fixo
aa: Módulo da Aplicação
Zaabbbb_x...x
aa: Módulo da Aplicação
bbbb: É o código do gap conforme mensagem
Solman.
43 Parâmetros e opções de seleção na STVARV
Exemplo: Na mensa
SD_503C_D132_01: Interf.XML SP,
o código do gap é o D132
x...x: Nome
CheckBox cb_descrição
RadioButton rb_descrição
Select Options s_descrição
Parameter p_descrição
Variável Local lv_descrição
Variável Global gv_descrição
Constante Local lc_descrição
Constante Global gc_descrição
Tabela Interna Local lt_descrição
Tabela Interna Global gt_descrição
Estrutura Local ls_descrição
Estrutura Global gs_descrição
44 Parâmetros, Variáveis e Itens de Código
Tipo – Estrutura ts_descrição
Tipo – Tabela tt_descrição
Field-Symbol <fs_descrição>
Range local Utilizar a me
nomenclatura de ta
interna local
Range global Utilizar a me
nomenclatura de ta
interna global
Statics - Variável sv_descrição
Statics – Estrutura ss_descrição
Statics – Tabela st_descrição
Tipo Padrão
Programação Orientada à Objetos – Objetos
45 Definição de Classe lcl_descrição
Locais
Local
Padronização de Desenvolvimento
ABAP
Exemplo – SAPMZSD001 – Este seria um on-line para área de Vendas e Distribuição (SD).
1
Importante: Programas ABAP originais fornecidos pela SAP nunca devem ser alterados
Padronização de Desenvolvimento
ABAP
INCLUDE MZaannnIww Módulos “Process After Input (PAI)”, onde ww deve ser
incrementado de 10 a cada módulo.
INCLUDE MZaannnFww Subrotinas (FORM ... ENDFORM), onde ww deve ser
incrementado de 10 a cada módulo.
Portanto, alguns dos includes para nosso exemplo SAPMZSD001 seriam: MZSD001TOP,
MZSD001O10, MZSD001I10 e MZSD001F10.
Transação: SE80
O nome deve ser da forma Zaabnnn, o próximo caractere identifica o Módulo do objeto
onde o desenvolvimento teve origem, o seguinte identifica o tipo do desenvolvimento e
depois teremos um número sequencial.
Exemplo – ZSDG001 – Este seria um grupo para funções associado ao módulo de SD.
Considerações: “Function Groups” fornecidos pela SAP nunca devem ser utilizados para
definição de novos “Function Modules”. O desenvolvedor deve criar seus próprios grupos
antes da criação de novas funções.
Criar uma Atualização ampliada de tabelas para cada tabela, fazendo esta aplicação
independente de outras.
Padronização de Desenvolvimento
ABAP
Quando criar diversas tabelas para a mesma aplicação, manter todas as atualizações no
mesmo Grupo de Função.
Transação: SE80
Antes da descrição, os nomes dos parâmetros devem receber um prefixo que identifique o
tipo de parâmetro que está sendo utilizado. No parâmetro XY_DESCRIÇÃO, por exemplo,
temos o prefixo ‘XY’. A posição ‘X’ deve indicar se o parâmetro é do tipo ‘Importing’ (I),
‘Exporting’ (E) ou ‘Changing’ (C), enquanto a posição ‘Y’ deve indicar se o parâmetro é uma
variável (V), uma estrutura (S) ou uma tabela (T).
3.6 CLASSES
Exemplo – ZCL_CRIANF – Esta seria uma classe para executar a criação de Notas Fiscais.
Transação: SE24
Antes da descrição, os nomes dos parâmetros devem receber um prefixo que identifique o
tipo de parâmetro que está sendo utilizado. No parâmetro XY_DESCRIÇÃO, por exemplo,
temos o prefixo ‘XY’. A posição ‘X’ deve indicar se o parâmetro é do tipo ‘Importing’ (I),
‘Exporting’ (E), ‘Changing’ (C) ou ‘Returning’ (R), enquanto a posição ‘Y’ deve indicar se o
parâmetro é uma variável (V), uma estrutura (S), uma tabela (T) ou uma referência (R).
3.8 INTERFACES
Exemplo – ZIF_CRIANF – Esta seria uma interface usada na criação de Notas Fiscais.
Transação: SE24
Os códigos das transações criadas pelo usuário devem obedecer à seguinte regra de
formação: Zaannn, onde “aa” é a identificação da aplicação e “nnn” é um número
sequencial.
Transação: SE93
3.10 SCREENS
Considerações: Telas fornecidas pelo SAP nunca devem ser alteradas. Se alguma alteração
se fizer necessária, a tela original deve ser copiada de acordo com as regras de
nomenclatura e as alterações devem ser feitas na cópia.
Transação: SE51
Transação: SE43
Considerações: As mensagens definidas nas classes SAP standard só podem ser alteradas
mediante autorização da gerência.
Transação: SE91
A primeira letra deve ser um “Z” para identificar um batch request definido pelo usuário.
Padronização de Desenvolvimento
ABAP
Se alguma alteração se fizer necessária, deve haver uma discussão com a equipe de
desenvolvimento e integração.
Caso a alteração seja aprovada, uma cópia do batch original deve ser feita utilizando-se o
padrão de nomenclatura acima descrito.
As modificações devem ser feitas na cópia e o batch original deve ser mencionado na
documentação final.
Transação: SM36
Formato:
Zx.....x
Livre
Transação: SM38
O nome da tabela pode conter até 16 caracteres. O primeiro caractere para tabelas criadas
pela equipe de desenvolvimento e integração deve ser “Z”. O segundo deve identificar o
modulo e os seguintes devem ser o nome da tabela.
Considerações: Uma tabela pool contém várias tabelas lógicas numa única tabela física. O
SAP fornece uma série de tabelas pool, sendo que a mais utilizada é a tabela ATAB. Esta
tabela contém informações de controle do SAP. Não é recomendável adicionar novas
tabelas às tabelas pool já existentes, entretanto se houver necessidade para criação de
alguma tabela pool, as mesmas regras para nomenclatura de tabelas transparentes devem
ser utilizadas.
3.16 STRUCTURES
Transação: SE11
3.17 VIEWS
O tamanho máximo para o nome de uma view é 30 caracteres. O tamanho do nome variará
de acordo com o nome da tabela primária já que o nome de uma view deverá sempre
referenciar o nome da tabela primária. O primeiro caractere deverá ser “Z”, o segundo
representa o módulo da aplicação, o terceiro é sempre “V” representando uma View, e os
últimos correspondem à descrição.
Transação: SE11
3.18 DOMAINS
Formato:
ZZ xx...xx
Livre
Transação: SE11
Padronização de Desenvolvimento
ABAP
Formato:
Z xx...xx
Livre
Exemplo – ZSYSTEM
Transação: SE11
Exemplo – ZSDBD001 Banco de dados lógico para módulo SD. (sempre que possível,
identificar a finalidade, quais informações, etc.).
Em relação ao layout de relatório, seguir os mesmos critérios utilizados no R/3, para que
não ocorra uma desfiguração do produto. Padrão de layout, cores, drill-down (quando
necessário).
3.23 SMARTFORMS
Como mencionado anteriormente, objetos SAP Standard nunca devem ser modificados.
Sempre que possível, deve-se fazer uso de procedimentos de customização ou “exits” para
contornar as necessidades de alteração em objetos padrão. Se não for possível e a alteração
de standard for aprovada pela gerência do projeto, então colocar linhas antes e depois da
alteração e descrever a mesma no código como abaixo, utilizando o cabeçalho para
detalhar a alteração.
As regras acima não precisam ser utilizadas para aplicações de Notas OSS destinadas a
correções de erros no sistema. Porém o procedimento abaixo deve, também, ser utilizado
neste caso.
Padronização de Desenvolvimento
ABAP
Modo errado
FROM j_1bnfdoc
branch IN l_rag_branch.
Modo certo
* FROM j_1bnfdoc
* branch IN l_rag_branch.
FROM j_1bnfdoc
branch IN l_rag_branch.
Os arquivos de entrada ou de saída, tanto para Interfaces quanto para conversões, devem
seguir o seguinte padrão de nomenclatura: <Descrição>.<Timestamp><Extensão> ou
padrão de nomenclatura exigido pelo sistema legado.
O limite para o tamanho do nome do arquivo é determinado pelo sistema operacional onde
o arquivo é armazenado. No Unix o tamanho máximo é de 255 caracteres.
Exemplo – MM_Carga_Materiais_200804301455.csv
3.27 WORKFLOW
Para obter a nomenclatura dos objetos criados localmente em programas Abap, consultar
o item 44 da tabela resumo no capítulo 3.1.
Para obter a nomenclatura dos objetos criados localmente quando utilizar Programação
Orientada à Objetos, consultar o item 45 da tabela resumo no capítulo 3.1.