Ir para o conteúdo

Objeto S_DEVELOP

📋 Visão Geral

S_DEVELOP controla acesso a objetos de desenvolvimento (programas, classes, tabelas, etc.) em SAP.


🔑 Campos do S_DEVELOP

S_DEVELOP - Development/Correction
  Campos:
    - DEVCLASS (Pacote)
    - OBJTYPE (Tipo de objeto)
    - OBJNAME (Nome do objeto)
    - P_GROUP (Grupo de permissões)
    - ACTVT (Atividade)

📊 Tipos de Objeto (OBJTYPE)

OBJTYPE Descrição
PROG Programas ABAP
CLAS Classes ABAP
FUGR Grupos de funções
TABL Tabelas/Estruturas
DTEL Elementos de dados
DOMA Domínios
TRAN Transações
DEVC Pacotes
DEBUG Debugging

🎯 Atividades (ACTVT)

ACTVT Descrição
01 Criar
02 Alterar
03 Visualizar
06 Deletar
70 Ler (SELECT)

💡 Exemplos Práticos

Criar Programa Z*

" No SE38/SE80
AUTHORITY-CHECK OBJECT 'S_DEVELOP'
  ID 'DEVCLASS' FIELD '$TMP'
  ID 'OBJTYPE'  FIELD 'PROG'
  ID 'OBJNAME'  FIELD 'Z*'
  ID 'P_GROUP'  FIELD '*'
  ID 'ACTVT'    FIELD '01'.  " Criar

IF sy-subrc <> 0.
  MESSAGE 'Sem autorização para criar programas' TYPE 'E'.
ENDIF.

Alterar Tabela Custom

AUTHORITY-CHECK OBJECT 'S_DEVELOP'
  ID 'DEVCLASS' FIELD 'ZPACKAGE'
  ID 'OBJTYPE'  FIELD 'TABL'
  ID 'OBJNAME'  FIELD 'Z*'
  ID 'P_GROUP'  FIELD '*'
  ID 'ACTVT'    FIELD '02'.  " Alterar

IF sy-subrc <> 0.
  MESSAGE 'Sem autorização para alterar tabelas' TYPE 'E'.
ENDIF.

Debug em Produção

AUTHORITY-CHECK OBJECT 'S_DEVELOP'
  ID 'DEVCLASS' FIELD '*'
  ID 'OBJTYPE'  FIELD 'DEBUG'
  ID 'OBJNAME'  FIELD '*'
  ID 'P_GROUP'  FIELD '*'
  ID 'ACTVT'    FIELD '03'.  " Executar debug

IF sy-subrc <> 0.
  MESSAGE 'Debug não permitido em produção' TYPE 'E'.
  LEAVE PROGRAM.
ENDIF.

🛡️ Proteger Objetos Custom

Role para Desenvolvedor Junior

Role: Z_DEV_JUNIOR

S_DEVELOP:
  DEVCLASS: Z*, $TMP
  OBJTYPE:  PROG, CLAS, FUGR
  OBJNAME:  Z*
  P_GROUP:  *
  ACTVT:    01, 02, 03 (Criar, Alterar, Visualizar)

Role para Desenvolvedor Senior

Role: Z_DEV_SENIOR

S_DEVELOP:
  DEVCLASS: Z*, $TMP, SAP*
  OBJTYPE:  * (Todos)
  OBJNAME:  Z*, Y*
  P_GROUP:  *
  ACTVT:    01, 02, 03, 06 (+ Deletar)

🚨 Debug em Produção

Restringir severamente!

Role: Z_PROD_SUPPORT

S_DEVELOP:
  OBJTYPE:  DEBUG
  ACTVT:    03

+ Condições:
  - Apenas emergency user
  - Logging de sessões debug
  - Aprovação obrigatória

⚡ Boas Práticas

✅ Fazer

1. Separar por ambiente
   DEV: S_DEVELOP com ACTVT 01, 02, 03, 06
   QAS: S_DEVELOP apenas 03 (visualizar)
   PRD: SEM S_DEVELOP (exceto suporte)

2. Limitar por namespace
   OBJNAME: Z*, Y* (apenas custom)

3. Debug controlado
   Apenas emergency user em produção

4. Logging
   Registrar criação/alteração de objetos

❌ Evitar

1. S_DEVELOP com * em produção  ❌
2. Debug liberado para todos  ❌
3. Deletar objetos SAP standard  ❌
4. Não auditar mudanças  ❌

🔗 Próximos Passos


Tags: #S_DEVELOP #Development-Security #Debug-Authorization