====== SAP ABAP DB400 SQL Package Size Monitoring ====== This monitor supervises SQL package size on SAP ABAP systems running on DB400. It evaluates package size against configured thresholds and can generate alarms and metrics. ===== What Can Be Monitored ===== You can detect and alert on: * Oversized SQL packages in DB400 * SQL package growth over time (via metrics) This helps identify package bloat and potential database performance risks. ===== Monitored Data ===== The monitor calls RFC function to collect: * Package library name * Number of objects in package * Package size, converted to MB Only packages with size strictly greater than 0 MB are retained. ===== Prerequisites ===== * SAP backend database type must be DB400. * RFC function `ST04_DB4_GET_PKG_INFO` must be available and callable. ===== Configuration ===== ==== Monitoring Parameters ==== ^ Parameter ^ Type ^ Required ^ Default ^ Description ^ | Max packages | Integer | Yes | `100` | Maximum number of packages kept after collection/sorting. | ==== Surveillance Table ==== ^ Field ^ Required ^ Default ^ Description ^ | Active | Yes | `true` | Enables/disables this surveillance row. | | SQL Package name | Yes | `*` | Package name filter (wildcard matching supported). | | Threshold | Yes | `0` | Threshold expression used to evaluate package size (MB). | | Severity | Yes | `MAJOR` | Alarm severity applied when threshold is breached. | | Auto clear | Yes | `true` | Alarms generated by this row are clearable when condition recovers. | | Alarm tag | No | (empty) | Optional custom alarm tag/prefix. | | Alarm | No | `true` | Enables/disables alarm generation for this row. | | Metric | No | `false` | Enables/disables metric emission for this row. | ===== Alarm Conditions ===== For each active surveillance row: * Package name must match `SQL Package name` * Package size is evaluated against `Threshold` * If threshold evaluation is breached, an alarm is generated with configured `Severity` Alarm message format: * `The size of DB400 package is MB ( >= )` ===== Generated Metrics ===== If **Metric** is enabled on a row, the monitor emits: ^ Metric ^ Unit ^ Target ^ Description ^ | SAP database package size | MB | Package name | Current DB400 SQL package size in MB. | ===== Example ===== ^ Active ^ SQL Package name ^ Threshold ^ Severity ^ Auto clear ^ Alarm tag ^ Alarm ^ Metric ^ | true | `USR*` | `G2W:500` | 4 | true | `DB400,PKG` | true | true | | true | `JOB*` | `G2W:1000` | 3 | true | `DB400,JOB` | true | false |