Skip to content
This repository has been archived by the owner on Dec 17, 2023. It is now read-only.

Commit

Permalink
Merge pull request #41 from JohannesKonings/collector-jobs
Browse files Browse the repository at this point in the history
Collector jobs
  • Loading branch information
Goala committed Jan 4, 2021
2 parents 9c6ff13 + dc24af3 commit ae31b3a
Show file tree
Hide file tree
Showing 3 changed files with 101 additions and 0 deletions.
35 changes: 35 additions & 0 deletions docs/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,38 @@ Selects all runtime errors from the table SNAP for the current Day.
metrics = VALUE #( BASE metrics ( metric_key = 'runtime_errors' metric_value = number_of_runtime_errors ) )
```

## jobs (SM37)

zcl_amp_c_jobs

Selects all jobs for the current Day and create a metric for each status.

```ABAP
SELECT
COUNT(*) AS count,
status AS status
FROM v_op
INTO TABLE @DATA(jobs)
WHERE strtdate = @sy-datum
GROUP BY status.
LOOP AT jobs ASSIGNING FIELD-SYMBOL(<job>).
"status from include LBTCHDEF
status = SWITCH #( <job>-status
WHEN 'R' THEN 'running'
WHEN 'Y' THEN 'ready'
WHEN 'P' THEN 'scheduled'
WHEN 'P' THEN 'intercepted'
WHEN 'S' THEN 'released'
WHEN 'A' THEN 'aborted'
WHEN 'F' THEN 'finished'
WHEN 'Z' THEN 'put_active'
WHEN 'X' THEN 'unknown_state'
ELSE 'no status found' ).
metrics = VALUE #( BASE metrics ( metric_key = |jobs_{ status }| metric_value = <job>-count ) ).
ENDLOOP.
```
50 changes: 50 additions & 0 deletions src/amp_collector/zcl_amp_c_jobs.clas.abap
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
CLASS zcl_amp_c_jobs DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .

PUBLIC SECTION.

INTERFACES zif_amp_collector.

PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.



CLASS zcl_amp_c_jobs IMPLEMENTATION.
METHOD zif_amp_collector~get_metrics.

DATA status TYPE string.

SELECT
COUNT(*) AS count,
status AS status
FROM v_op
INTO TABLE @DATA(jobs)
WHERE strtdate = @sy-datum
GROUP BY status.

LOOP AT jobs ASSIGNING FIELD-SYMBOL(<job>).

"status from include LBTCHDEF
status = SWITCH #( <job>-status
WHEN 'R' THEN 'running'
WHEN 'Y' THEN 'ready'
WHEN 'P' THEN 'scheduled'
WHEN 'P' THEN 'intercepted'
WHEN 'S' THEN 'released'
WHEN 'A' THEN 'aborted'
WHEN 'F' THEN 'finished'
WHEN 'Z' THEN 'put_active'
WHEN 'X' THEN 'unknown_state'
ELSE 'no status found' ).

metrics = VALUE #( BASE metrics ( metric_key = |jobs_{ status }| metric_value = <job>-count ) ).

ENDLOOP.

ENDMETHOD.

ENDCLASS.
16 changes: 16 additions & 0 deletions src/amp_collector/zcl_amp_c_jobs.clas.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOCLASS>
<CLSNAME>ZCL_AMP_C_JOBS</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>amp collector jobs (SM37)</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

0 comments on commit ae31b3a

Please sign in to comment.