ZCL MONITORING UTILITIES

Aus SAP Wiki ツ


Mit dieser in Freizeit erstellen Z-Klasse können z.B. Dumps oder IDocs überwacht werden. Mit den verschiedenen Instanzmethoden können die Einträge auf der GUI ausgegeben, via E-Mail gesendet, auf den Applikationsserver gespeichert oder die Einträge als interne Tabelle zurückgegeben werden.

CONSTRUCTOR

Bei Objekterzeugung wird mitgegeben, welcher Modus d.h. wozu ein Monitoring stattfinden soll und die entsprechenden relevanten Parameter.

Die jeweilen Monitoreinträge z.B. Dumps werden anhand bestimmter Funktionsbausteine oder direkt durch Select Abfragen ermittelt. Anschließend wird die interne Tabelle des jeweiligen Modus in eine Referenz gespeichert und damit weitergearbeitet.

Je Modus gibt es eine private Instanzmethode, die diese Übermittlung übernimmt. Generell wird bei einem Fehler eine Exception ausgelöst. Zuvor werden die jeweiligen Fehlermeldungen abgespeichert. Die Fehler-, aber auch Erfolgsmeldungen, können mit der Methode "GET_MESSAGES" geholt werden.

Beispiel für Dumps

DATA(go_dumps) = NEW zcl_monitoring_utilities( iv_set_monitoring = zcl_monitoring_utilities=>gcs_mode_is-dump
                                               iv_dumps_date = sy-datum ).

Beispiel für SLG1

DATA(go_slg1) = NEW zcl_monitoring_utilities( iv_set_monitoring = zcl_monitoring_utilities=>gcs_mode_is- slg1
                                              iv_slg1_object = '/UIF/LREP'
                                              iv_slg1_date_from = '20210113'
                                              iv_slg1_date_to = '20210113'
                                              iv_slg1_time_from = '130000'
                                              iv_slg1_time_to = '150000' ).

Beispiel für IDoc:

SELECT-OPTIONS so_sta FOR edids-status. 
TYPES: tt_range_idoc_status TYPE RANGE OF edids-status.
DATA: lt_range_status TYPE tt_range_idoc_status.
APPEND LINES OF so_sta TO lt_range_status.

DATA lv_date TYPE EDI_LOGDAT .
lv_date = sy-datum - 7.

DATA(go_idoc) = NEW zcl_monitoring_utilities( iv_set_monitoring = zcl_monitoring_utilities=>gcs_mode_is-idoc
                                              iv_idoc_logdate_ge = lv_date
                                              it_idoc_status_range = lt_range_status ).

RETURN_AS_ITAB

Diese Instanzmethode gibt die jeweiligen Monitoreinträge als Referenz (TYPE REF TO DATA) zurück.

DATA(itab) = go_dump/slg1/idoc->return_as_itab( ).

SHOW_ON_GUI

Diese Instanzmethode gibt die jeweiligen Monitoreinträge auf der GUI aus.

go_dump/slg1/idoc->show_on_gui( ).

SEND_VIA_EMAIL

Diese Instanzmethode sendet die jeweiligen Monitoreinträge als E-Mail.

go_dump/slg1/idoc->send_via_email( EXPORTING iv_distributionlist = 'TEST2' ).

SAVE_ON_APPLSERVER

Diese Instanzmethode speichert die jeweiligen Monitoreinträge mit einem zu übergebenden Trennzeichen in ein SAP-Verzeichnis ab.

Wird kein Trennzeichen übergeben, wird als Trennzeichen das Komma verwendet.

go_dump/slg1/idoc->save_on_applserver( EXPORTING iv_path_name_to_applserver = '/usr/sap/trans/test3.csv' ).