Update README.md
This commit is contained in:
parent
2b7bf905b4
commit
fd7e7da9f1
111
README.md
111
README.md
|
|
@ -1,2 +1,109 @@
|
||||||
# ABAP-ZBACKGROUND_DEBUGGER
|
# ZCL_BGD_DEBUGGER
|
||||||
Background debugger auxiliary
|
|
||||||
|
A classe `ZCL_BGD_DEBUGGER` é uma ferramenta para facilitar a depuração em segundo plano (background debugging) no SAP. Ela permite criar pontos de controle em processos executados em background e enviar notificações configuráveis aos responsáveis.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Definição da Classe
|
||||||
|
|
||||||
|
```abap
|
||||||
|
CLASS ZCL_BGD_DEBUGGER DEFINITION
|
||||||
|
PUBLIC
|
||||||
|
FINAL
|
||||||
|
CREATE PUBLIC.
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
CLASS-METHODS DEBUG
|
||||||
|
IMPORTING
|
||||||
|
!DESCRIPTION TYPE CLIKE OPTIONAL
|
||||||
|
!NOTIFIER TYPE SY-UNAME DEFAULT SY-UNAME
|
||||||
|
!TIMEOUT TYPE I DEFAULT 300.
|
||||||
|
PROTECTED SECTION.
|
||||||
|
PRIVATE SECTION.
|
||||||
|
ENDCLASS.
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Métodos Públicos
|
||||||
|
|
||||||
|
### DEBUG
|
||||||
|
|
||||||
|
O método `DEBUG` é o principal método da classe e realiza as seguintes tarefas:
|
||||||
|
|
||||||
|
- Obtém o call stack atual e identifica o ponto de execução.
|
||||||
|
- Verifica e registra informações em tabelas customizadas (`ZTBC_BGDEBUG_SP` e `ZTBC_BGDEBUG_SPT`).
|
||||||
|
- Envia notificações utilizando o sistema de correio interno do SAP (`SO_EXPRESS_FLAG_SET`).
|
||||||
|
- Implementa lógica de timeout para limitar a duração da execução.
|
||||||
|
|
||||||
|
#### Parâmetros de Entrada
|
||||||
|
|
||||||
|
| Parâmetro | Tipo | Padrão | Descrição |
|
||||||
|
|---------------|------------|------------|---------------------------------------------------------------------------------------------|
|
||||||
|
| `DESCRIPTION` | `CLIKE` | Opcional | Texto descritivo associado ao ponto de depuração. |
|
||||||
|
| `NOTIFIER` | `SY-UNAME` | `SY-UNAME` | Usuário que receberá a notificação. |
|
||||||
|
| `TIMEOUT` | `I` | `300` | Tempo máximo, em segundos, para execução da lógica de depuração. |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Lógica Interna
|
||||||
|
|
||||||
|
### Fluxo de Execução
|
||||||
|
|
||||||
|
1. Obtém informações do call stack com a função `SYSTEM_CALLSTACK`.
|
||||||
|
2. Determina a linha atual de execução.
|
||||||
|
3. Registra informações nas tabelas customizadas:
|
||||||
|
- `ZTBC_BGDEBUG_SP`: programa principal, include e linha de execução.
|
||||||
|
- `ZTBC_BGDEBUG_SPT`: descrição, se fornecida.
|
||||||
|
4. Envia notificações:
|
||||||
|
- Utiliza `SO_EXPRESS_FLAG_SET` para criar uma mensagem expressa.
|
||||||
|
5. Realiza verificações contínuas até que:
|
||||||
|
- O timeout seja atingido, ou
|
||||||
|
- Uma condição de saída seja satisfeita.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Dependências Externas
|
||||||
|
|
||||||
|
- **Funções de sistema SAP:**
|
||||||
|
- `SYSTEM_CALLSTACK`
|
||||||
|
- `TH_GET_OWN_WP_NO`
|
||||||
|
- `SO_EXPRESS_FLAG_SET`
|
||||||
|
- `CCU_TIMESTAMP_DIFFERENCE`
|
||||||
|
- **Tabelas customizadas:**
|
||||||
|
- `ZTBC_BGDEBUG_SP`
|
||||||
|
- `ZTBC_BGDEBUG_SPT`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Como Usar
|
||||||
|
|
||||||
|
1. Utilize o método estático `DEBUG` da classe `ZCL_BGD_DEBUGGER`.
|
||||||
|
2. Configure os parâmetros desejados:
|
||||||
|
- `DESCRIPTION`: Adicione um texto descritivo.
|
||||||
|
- `NOTIFIER`: Defina o destinatário da notificação.
|
||||||
|
- `TIMEOUT`: Especifique o tempo máximo de execução.
|
||||||
|
3. Execute o programa em modo background para capturar o ponto de depuração.
|
||||||
|
|
||||||
|
### Exemplo de Uso
|
||||||
|
|
||||||
|
```abap
|
||||||
|
zcl_bgd_debugger=>debug(
|
||||||
|
description = 'Ponto de depuração crítico'
|
||||||
|
notifier = 'USUARIO_RESPONSAVEL'
|
||||||
|
timeout = 600 ).
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Considerações
|
||||||
|
|
||||||
|
- **Manutenção das Tabelas:** Certifique-se de que as tabelas customizadas `ZTBC_BGDEBUG_SP` e `ZTBC_BGDEBUG_SPT` estão configuradas corretamente com os campos necessários.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Licença
|
||||||
|
|
||||||
|
Este código foi desenvolvido para uso interno no SAP e pode ser adaptado conforme necessário. Certifique-se de revisar as políticas de licença aplicáveis antes de utilizá-lo em outros contextos.
|
||||||
|
```
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue