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
|
||||
Background debugger auxiliary
|
||||
# ZCL_BGD_DEBUGGER
|
||||
|
||||
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