Você está na página 1de 16

Guia de padrões de nomenclatura para desenvolvimento/manutenção

de programas ABAP

Versão 1
Março/2015

Uso exclusivo Focus Têxtil e empresas associadas


Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

Conteúdo
1 Objetivo____________________________________________________________3
2 Requests___________________________________________________________3
2.1 Nomenclatura/Projeto Request:__________________________________________3
3 Tabela de referencia_________________________________________________11
3.1 Sistemas – Tabela I____________________________________________________11
3.2 Área funcional – Tabela II_______________________________________________11

653439470.docx Página 2 de 16
Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

1 Objetivo
Todos os programas a serem desenvolvidos para qualquer ambiente SAP da Focus, independente do
projeto, deve seguir os padrões descritos neste documento.
Qualquer dúvida deve ser direcionada ao departamento de TI antes de qualquer codificação.
Todos os padrões são verificados na liberação das requests pelo Code Inspector, sendo assim qualquer
exceção será bloqueada e não será possível transportar os objetos sem as devidas correções.
Este documento é apenas um guia rápido de referência para padrões de nomenclatura e organização do
código. Consultar também o Manual de Boas Práticas de Programação.

2 Requests

 Criar requests separadas (programa, módulos de função, objetos do dicionário, etc)


 Sempre que o programa for liberado para testes, liberar também a request, não deve permanecer
no sistema nenhuma request modificável que não esteja em construção.

2.1 Nomenclatura/Projeto Request:

W-ID-Iniciais_nome-Descrição breve
W = Constante
ID = Modulo + Chamado ( mesmo da EF )
Descrição breve = Descrição - Se possível inserir nome Objeto

Exemplos:
- ECDK938676 W-TM92546-WLJ-Ajuste Função ZECCTNF002 Programa ZTM004
- ECDK938678 C-FI93471-WLJ-Criação do novo centro

Sempre que criar a Request, inserir o projeto que está desenvolvendo.

Exemplos

653439470.docx Página 3 de 16
Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

3. Nomenclatura

NOMES DE OBJETOS
Objetos do Dicionário
Tabelas ZSSSMMMTNNNN SSS = Sistema (tabela I)
MMM = Área funcional (tabela II)
T = Constante (Tabela)
NNNN = Número seqüencial
Exemplos:
 R3: ZECCFIT0234
 CRM: ZCRMLEST0045
Visões ZSSSMMMVNNNN SSS = Sistema (tabela I)
MMM = Área funcional (tabela II)
V = Constante (Visão)
NNNN = Número seqüencial
Exemplos:
 R3: ZECCFIV0435
 CRM: ZCRMFATV0009

Search Help / ZSSSMMMHNNNN SSS = Sistema (tabela I)


Match Code MMM = Área funcional (tabela II)
H = Constante (Help)
NNNN = Número seqüencial
Exemplos:
 R3: ZECCFIH0435
 IPD: ZIPDSDH0009

Estruturas ZSSSMMMENNNN SSS = Sistema (tabela I)


MMM = Área funcional (tabela II)
E = Constante (Estrutura)
NNNN = Número seqüencial
Exemplos:
 R3: ZECCFIE0435
 IPD: ZIPDFATE0009

Categoria de ZSSSMMMCNNNN SSS = Sistema (tabela I)


tabelas MMM = Área funcional (tabela II)
C = Constante (Categoria)
NNNN = Número seqüencial
Exemplos:
 R3: ZECCFIC0435
 CRM: ZCRMFATC0009

Elemento de ZXXX Livre


dados

Domínio ZXXX Livre

Objeto de EZYYY EZ = Fixo.


bloqueio Exemplos:
 R3: EZECCFI0058
 CRM: EZCRMFIT0001

653439470.docx Página 4 de 16
Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

Grupo de Tipos ZXXX Livre

Índices ZNN NN = Número seqüencial


Na descrição do índice colocar os
campos. Não necessita de outra
descrição que não seja os campos que
compõem o índice.
Exemplos:
 Índice Z05, descrição: BLART +
FAEDN +VKONT.
 Índice Z01, descrição: BLART +
BUDAT +BELNR.

Programas
Programas do ZSSSMMMRNNNN SSS = Sistema (tabela I)
tipo 1 MMM = Área funcional (tabela II)
R = Constante (Report – não
necessariamente o programa é um
Relatório)
NNNN = Número seqüencial
Exemplos:
 R3: ZECCFIR0234
 BW: ZBWFIR0045

Programas do ZSSSMMMINNNN SSS = Sistema (tabela I)


tipo I MMM = Área funcional (tabela II)
I = Constante (Include)
NNNN = Número seqüencial
Exemplos:
 R3: ZECCFII0234
 CRM: ZCRMWMI0045

Module Pool Programa principal: SAPMZ = Constante (Indica que é um


SAPMZSSSMMMNN programa Module Pool – Programa
NN principal)
Módulo PBO:
MZOSSSMMMNNNN MZ = Constante (Indica que são de um
Módulo PAI: programa module pool – A seqüência deve
MZISSSMMMNNNN ser sempre a mesma do Programa principal
Módulo POV: SAPMZ)
MZVSSSMMMNNNN
Rotinas: SSS = Sistema (tabela I)
MZFSSSMMMNNNN MMM = Área funcional (tabela II)
Variáveis globais: 00000 = Número seqüencial
MZTOPSSSMMMNN
NN O = PBO
Classes: I = PAI
MZCSSSMMMNNNN V = POV (Search help)
Telas: F = Rotinas
100 TOP = Variáveis Globais
200 C = Classes
300 e assim sucessivamente.
SubTelas: Exemplos:
110
 R3: SAPMZECCFI0343
120
 CRM: SAPMZCRMFI0032

653439470.docx Página 5 de 16
Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

210 e assim sucessivamente.


Title GUI:
001
002 e assim sucessivamente.
Status GUI:
001
002
003 e assim sucessivamente.
Funções
Módulos de ZSSSMMMFNNNN SSS = Sistema (tabela I)
função MMM = Área funcional (tabela II)
F = Constante (Função)
NNNN = Número seqüencial
Exemplos:
 R3: ZECCFIF0234
 CRM: ZCRMSDF0045

Grupos de ZSSSMMMGNNNN SSS = Sistema (tabela I)


funções (exceção MMM = Área funcional (tabela II)
G = Constante (Grupo)
SM30) NNNN = Número seqüencial
Exemplos:
 R3: ZECCFIG0234
 CRM: ZCRMACCG0045

Grupos de Mesmo nome da tabela Grupo de funções para diálogos de


funções (SM30) atualização devem ter o mesmo nome da
tabela e na descrição colocar: “SM30
para tabela X”.

Classes
Classes ZSSSMMMCLNNNN SSS = Sistema (tabela I)
MMM_ = Área funcional (tabela I)
CL = Constante (Classe)
NNNN = Número seqüencial
Exemplos:
 R3: ZECCFICL0001
 CRM: ZCRMFICL0001

Interface ZSSSMMMIFNNNN SSS = Sistema (tabela I)


MMM_ = Área funcional (tabela I)
IF = Interface da Classe
NNNN = Número seqüencial

Exemplos:

 R3: ZECCFIIF0001
 CRM: ZCRMFIIF0001

Autorização

653439470.docx Página 6 de 16
Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

Classe de objetos ZMMM MMM_ = Área funcional (tabela I)


de autorização Exemplos:
 R3: ZFI
 CRM: ZFI
Obs: Somente criar uma nova classe para
uma determinada área funcional se a
mesma já não estiver criada no sistema.
Objetos de ZSSSMMMNNN SSS = Sistema (tabela I)
autorização MMM_ = Área funcional (tabela I)
NNN = Número seqüencial
Exemplos:
 R3: ZECCFI001
 CRM: ZCRMSD045
Obs.: Antes de criar um novo objeto
verifique senão tem um standard ou outro
Z já criado que atenda a necessidade.
Grupos de ZMMMNNNN MMM_ = Área funcional (tabela I)
autorização NNNN = Número seqüencial
Exemplos:
 R3: ZFI0012
 CRM: ZSD0034
Outros Objetos
Transação ZMMMNNN MMM = Área funcional (tabela I)
NNN = Número seqüencial
Exemplos:
 R3: ZFI012
 CCS: ZSD034
Projetos de ZMMMNNNN MMM = Área funcional (tabela I)
Ampliação CMOD NNNN = Número seqüencial
Exemplos:
 R3: ZFI0037
 CRM: ZSD0343
Classes de ZMMM MMM = Área funcional (tabela I)
mensagens Exemplos:
 R3: ZFI
 CRM: ZSD
Obs: Somente criar para uma determinada
área funcional se a mesma já não estiver
criada no sistema.
BADI ZXXX Livre
(Implementações ) Usar o bom senso e definir nomes
intuitivos.

Enhancement Point ZXXX Livre


Usar o bom senso e definir nomes
intuitivos.
Objeto de texto ZSSSMMMXNNN SSS = Sistema (tabela I)
MMM_ = Área funcional (tabela I)
X = Constante (TXT)
NNN = Número seqüencial
Exemplos:
 R3: ZECCBCX001
 CRM: ZCRMBCX001

653439470.docx Página 7 de 16
Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

Objeto de ZSSSMMMMNNN SSS = Sistema (tabela I)


Modificação MMM_ = Área funcional (tabela I)
M = Objeto de Modificação
NNN = Número seqüencial
Exemplos:
 R3: ZECCBCM001
 CRM: ZCRMBCM001
Formulários
Formulário ZSSSMMMS00000 SSS = Sistema (tabela I)
(Sapscript / S = Constante (Sapscript/Smartform)
MMM_ = Área funcional (tabela I)
Smartform) Exemplos:
 R3: ZECCFIS0012
 CRM: ZCRMFIS0034
Estilo Zformulario MESMO NOME DO FORMULARIO
Módulo de texto ZMMMTX00000 MMM = Área funcional (tabela I)
TX = Constante (TeXto)
00000 = Número seqüencial
Exemplos:
 R3: ZFITX00012
 CRM: ZCRMSDTX00034
Classe de ZSSSMMM SSS = Sistema (tabela I)
desenvolvimento MMM = Área funcional (tabela I)
Exemplos:
 R3: ZECCFI
 CRM: ZCRMSD
Obs: Somente criar para uma determinada
área funcional se a mesma já não estiver
criada no sistema.
Nomenclatura Interna dos Programas.
Forms XXX Livre – aconselha-se a colocar nomes
intuitivos.
Exemplos:
 PEGAR_CNPJ
 SELECIONAR_DADOS
 CALCULAR_ICMS
Variáveis/Tabelas GV_XXX GV_ = Variável Global
globais (declaradas GT_XXX GT_ = Tabela Global
GS_XXX GS_ = Estrutura Global
no inicio do programa
ou em um include
TOP de um module
pool)

Variáveis LV_XXX LV_ = Variável Local


Locais/Tabelas LT_XXX LT_ = Tabela Local
LS_XXX LS_ = Estrutura Local
(declaradas dentro de
um FORM ou no
corpo de uma função,
dentro de métodos)
Tipos TY_TABELA TABELA = Tabela ou estrutura do
dicionário ou tabela criada no programa.

653439470.docx Página 8 de 16
Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

TY_ = Constante
Exemplos:
 TY_MARA
 TY_BSIK
Constantes GC_XXX GC_ = Constante
XXX – Livre
Exemplos:
 GC_TIPO_DOCUMENTO
 GC_MOEDA
Parâmetros de Telas P_XXX P_ = Constante (Parameter)
de Seleção S_XXX S_ = Constante (Select-Options)
XXX – Livre
Exemplos:
 P_ARQUIVO
 S_BUKRS
Obs.: RadioButtons, CheckBox, etc..
Seguem a mesma regra do Parameter.
Parâmetros de Variáveis: E_ = Variável ou tabela exportação
funções E_XXX (Função -> Programa)
I_XXX I_ = Variável ou tabela Importação
Tabelas: (Função <- Programa)
T_XXX T_ = Tabela (TABLES)
XXX – Livre
Ranges R_XXX R_ = Constante (Ranges)

XXX – Livre

Exemplos:
 R_BUKRS
 R_BLART
FIELD-SYMBOLS <XXX> <> - Obrigatório
XXX – Livre

Usar o bom senso. Colocar entre <>


simplesmente o nome da tabela ou do
campo.

Exemplos:
 <ERDK>
 <MARA>

Business Object ZXXX (cópia do standard) XXX – Livre. Para copia de objetos
ZSSSMMMONNNN standard aconselha se a simplesmente
(objetos novos) colocar um Z na frente do nome original.

SSS = Sistema (tabela I)


MMM = Área funcional (tabela II)
NNNN = Número seqüencial
O – Constante (Business Object)

Exemplos:
 Cópia do Standard:

653439470.docx Página 9 de 16
Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

 ZBUS1001006
 Objeto novo:
 ZECCFIO0010
Qualquer Tarefa de XXX Livre.
Workflow (TS, WS) Usar o bom senso. Pois a sigla é a melhor
maneira de encontrar as tarefas.
Programa do Mesmo nome do Business Mesmo nome do Business Object
Business Object Object correspondente. correspondente.
WORKFLOW
.

653439470.docx Página 10 de 16
Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

3 Tabela de referencia

3.1 Sistemas – Tabela I


Sistemas CPFL
ECC SAP ECC – R3
NPI Process Integration (PI)
CRM Customer Relationship Management
BI Business Intelligence
PTO Portal
IPD IPAD
Sistemas CPFL
O sistema esta relacionado a MAQUINA em que o desenvolvimento esta sendo feito, ou seja, se esta
sendo feito no servidor de PI, então o sistema é NPI, se esta sendo feito no servidor ECC, então é ECC. A
exceção à regra é somente IPD que pode estar em qualquer servidor.

3.2 Área funcional – Tabela II


R3
AA Contabilidade do Imobilizado
AP Contas a Pagar
AR Contas a Receber
CFM Corporate Finance Management
CO Controladoria
CRM Customer Relationship Management
DV Despesas Viagem
EC Consolidação / USGAAP
FI Finanças e controle financeiro
FM Administração de Orçamento
GL Contabilidade Geral
HR Recursos Humanos
IM Administração de Investimentos
MM Materiais
BC Tudo que não é especifico de processos (BASIS, ABAP, ETC)
PM Manutenção
PS Projetos
QM Administração de qualidade.
SD Vendas e Distribuição
SPL Ledgers Especiais
TR Tesouraria

653439470.docx Página 11 de 16
Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

ORGANIZAÇÃO DO CÓDIGO
Tipos 1, I, T, J, e K.
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* FOCUS TEXTIL *
*----------------------------------------------------------------------*
* Projeto : XXXXXXXX *
* Transação : ZXXXXX *
* Descrição breve : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
* Autor : XXXXXXXXXXXXXXXXXX *
*----------------------------------------------------------------------*
* Histórico de Alterações: *
*----------------------------------------------------------------------*
* Data | Autor |Alteração *
*----------------------------------------------------------------------*
* dd/mm/aaaa | Codificador2 |É obrigatório colocar aqui de forma *
* |resumida, simples e inteligível as *
* |alterações, caso não seja colocado *
* |a liberação da request será bloqueada *
* |pelo Code Inspector *
*----------------------------------------------------------------------*
REPORT zxxx.
*----------------------------------------------------------------------*
* Tipos: POOLS
*----------------------------------------------------------------------*
TYPE-POOLS: slis,
icon.
*----------------------------------------------------------------------*
* Includes
*----------------------------------------------------------------------*
INCLUDE: XXXX.
*----------------------------------------------------------------------*
* Tabelas/Estruturas do Dicionário
*----------------------------------------------------------------------*
TABLES: zccsacct0075.
*----------------------------------------------------------------------*
* Types
*----------------------------------------------------------------------*
TYPES: BEGIN OF ty_arq,
line(1000),
END OF ty_arq,
BEGIN OF ty_job,
jobname TYPE tbtco-jobname,
END OF ty_job.
*----------------------------------------------------------------------*
* Tabelas internas
*----------------------------------------------------------------------*
DATA: gt_header TYPE slis_t_listheader.
*-----------------------------------------------------------------------
* Definição de Ponteiros
*-----------------------------------------------------------------------
FIELD-SYMBOLS: ...
*----------------------------------------------------------------------*
* Variaveis globais / Estruturas
*----------------------------------------------------------------------*
DATA: gv_file TYPE string,
gv_log(80),
gs_header TYPE slis_t_listheader.

653439470.docx Página 12 de 16
Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

*----------------------------------------------------------------------*
* Ranges
*----------------------------------------------------------------------*
RANGES: r_bukrs FOR mara-bukrs.
*----------------------------------------------------------------------*
* Constantes
*----------------------------------------------------------------------*
CONSTANTS: c_empresa(4) VALUE 'T100'.
*---------------------------------------------------------------------*
* Definição da Tela de Seleções
*---------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_bukrs FOR zccsacct0075-zzbukrs NO INTERVALS,
s_faedn FOR zccsacct0075-zzfaedn NO-EXTENSION,
s_exbel FOR zccsacct0075-zzexbel.
SELECTION-SCREEN END OF BLOCK b1.
*---------------------------------------------------------------------*
* Eventos
*---------------------------------------------------------------------*
TOP-OF-PAGE.
* PERFORM top_of_page.
AT SELECTION-SCREEN OUTPUT.
PERFORM screen_output.
AT SELECTION-SCREEN ON s_faedn.
PERFORM valida_faedn.
*---------------------------------------------------------------------*
* Principal
*---------------------------------------------------------------------*
START-OF-SELECTION.
* Os comentários devem ser colocados desta forma. O código deve ser como este
* exemplo, observar as sessões e como são separadas. Qualquer coisa diferente,
* esta errado e será bloqueado e o programador orientado a seguir o padrão.
…..
…..
…..
END-OF-SELECTION.
*&--------------------------------------------------------------------*
*& Form select_processamento
*&--------------------------------------------------------------------*
* Selecionar dados
*---------------------------------------------------------------------*
FORM select_processamento.
...
...

653439470.docx Página 13 de 16
Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

Tipo M – Module pool


Para module pool é a mesma coisa, a única diferença é que o cabeçalho deve ser
colocado somente no programa Básico, nos outros includes não há necessidade do
cabeçalho, porem as sessões devem ser exatamente como no exemplo para programas
tipo 1.
*----------------------------------------------------------------------*
* FOCUS TEXTIL *
*----------------------------------------------------------------------*
* Projeto : XXXXXXXX *
* Transação : ZXXXXX *
* Descrição breve : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *
* Autor : XXXXXXXXXXXXXXXXXX *
*----------------------------------------------------------------------*
* Histórico de Alterações: *
*----------------------------------------------------------------------*
* Data | Autor |Alteração *
*----------------------------------------------------------------------*
* dd/mm/aaaa | Codificador2 |É obrigatório colocar aqui de forma *
* |resumida, simples e inteligível as *
* |alterações, caso não seja colocado *
* |a liberação da request será bloqueada *
* |pelo Code Inspector *
*----------------------------------------------------------------------*
INCLUDE mztopecccfi0325 . " global Data
INCLUDE mzoecccfi0325 . " PBO-Modules
INCLUDE mziecccfi0325 . " PAI-Modules
INCLUDE mzfecccfi0325 . " FORM-Routines
INCLUDE mzvecccfi0325 . " POV-Modules

Tipo M – Module pool

653439470.docx Página 14 de 16
Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

Funções
Para funções tambem é a mesma regra seguida para programas do tipo 1, a única
diferença é que o cabeçalho deve ser colocado somente no programa Básico e cada
função deve possuir uma descrição breve própria.
*---------------------------------------------------------------------*
* Grupo de funções : ZXXXXXXXX *
* Projeto : XXXXX *
* Módulo : FI *
*---------------------------------------------------------------------*
*---------------------------------------------------------------------*
* FIELD_EXIT_AD_FLOOR
*---------------------------------------------------------------------*
* Função criada para validar o CNPJ e não permitir duplicidades
*---------------------------------------------------------------------*
* ZCRMSDF00010
*---------------------------------------------------------------------*
* Funcão criada para validar a conta contrato no faturamento e é
* utilizada no evento 453
*---------------------------------------------------------------------*
* Histórico de Alterações: *
*---------------------------------------------------------------------*
* Data | Autor |Alteração *
*---------------------------------------------------------------------*
* dd/mm/aaaa | Codificador2 |Função: FIELD_EXIT_AD_FLOOR *
* |Feito correção no calculo do digito *
* |verificador *
* |------------------------------------ *
* dd/mm/aaaa | Codificador2 |Função: ZCCSACCF00010 *
* |XXX YYYY *
*---------------------------------------------------------------------*
*******************************************************************
* System-defined Include-files. *
*******************************************************************
INCLUDE LZAD_FLOORTOP. " Global Data
INCLUDE LZAD_FLOORUXX. " Function Modules
*******************************************************************
* User-defined Include-files (if necessary). *
*******************************************************************
* INCLUDE LZAD_FLOORF... " Subprograms
* INCLUDE LZAD_FLOORO... " PBO-Modules
* INCLUDE LZAD_FLOORI... " PAI-Modules

Funções
Classes

653439470.docx Página 15 de 16
Guia de padrões de nomenclatura para
desenvolvimento/manutenção de programas ABAP

Classes
Para classes, colocar as sessões conforme necessário e incluir as informações de modificação em cada método
alterado.
method IF_CI_TEST~NAVIGATE .
*---------------------------------------------------------------------*
* Histórico de Alterações: *
*---------------------------------------------------------------------*
* Data | Autor |Alteração *
*---------------------------------------------------------------------*
* dd/mm/aaaa | Codificador2 |Função: FIELD_EXIT_AD_FLOOR *
* |Feito correção no calculo do digito *
* |verificador *
* |------------------------------------ *
* dd/mm/aaaa | Codificador2 |Função: ZCCSACCF00010 *
* |XXX YYYY *
*---------------------------------------------------------------------*
*---------------------------------------------------------------------*
* Definição de Variaveis/Estruturas
*---------------------------------------------------------------------*
DATA: g_bukrs TYPE bukrs.
*-----------------------------------------------------------------------
* Definição de Ponteiros
*-----------------------------------------------------------------------
FIELD-SYMBOLS: <erdk> TYPE erdk.
……………..
……..
……..
endmethod.

Classes

653439470.docx Página 16 de 16

Você também pode gostar