Protokollierung der Ausführung von ABAP Reports

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

Protokollierung der Ausführung von ABAP Reports

Beitrag von simonretter (ForumUser / 25 / 0 / 0 ) »
Hallo,

wisst ihr ob SAP in irgendeiner Tabelle die Ausführung von ABAPs protokolliert?
Bzw. gibt es eine Stelle (Report) wo ich die letzte Ausführung eines Reports sehen kann?

Es geht darum:
Wir haben rund 1100 Abap-Reports, nun würden wir gerne wissen welche dieser Report noch aktiv genutzt werden.

(Ich habe keine Lust in jeden der 1100 Abaps einen "INSERT" einzufügen, der mir in eine eigendefinierte tabelle das Protokoll mitschreibt :D )

Danke.

Simon Retter

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Meines Wissens nach ist aber genau das, worauf du keine Lust hast, die einzige Möglichkeit.

Es gibt zumindest eine kleine Abhilfe:
Die Programme, die im Hintergrund/als Job laufen werden in den Tabellen TBTCO/TBTCP protokoliert. Aber da musst dich beeilen, da SAP in diese Tabellen meist nach ein paar Tagen diese Einträge schon archiviert/gelöscht hat.

Re: Protokollierung der Ausführung von ABAP Reports

Beitrag von Gast ( / / 0 / 3 ) »
simonretter hat geschrieben:wisst ihr ob SAP in irgendeiner Tabelle die Ausführung von ABAPs protokolliert?
Bzw. gibt es eine Stelle (Report) wo ich die letzte Ausführung eines Reports sehen kann?
Tabelle ist MONI. Maximal sind 2 Monate enthalten. Daten werden leider als RAW-Data abgelegt. Auswertungen sind mittels Transaktion ST03, ab 4.6C mit ST03N möglich. Es gibt auch einen FuBa der die Daten aufbereitet, den finde ich gerade nicht.

Gruß Hendrik

Beitrag von Dele (Specialist / 307 / 4 / 47 ) »
Hallo

Funktionsbaustein SAPWL_WORKLOAD_GET_STATISTIC liefert die Statistikdaten.

mfg dele

Re: Protokollierung der Ausführung von ABAP Reports

Beitrag von Gast ( / / 0 / 3 ) »
Anonymous hat geschrieben:
simonretter hat geschrieben:wisst ihr ob SAP in irgendeiner Tabelle die Ausführung von ABAPs protokolliert?
Bzw. gibt es eine Stelle (Report) wo ich die letzte Ausführung eines Reports sehen kann?
Tabelle ist MONI. Maximal sind 2 Monate enthalten. Daten werden leider als RAW-Data abgelegt. Auswertungen sind mittels Transaktion ST03, ab 4.6C mit ST03N möglich. Es gibt auch einen FuBa der die Daten aufbereitet, den finde ich gerade nicht.

Gruß Hendrik
Danke für den Tip. Habe die ST03 "gedebugged" und mir die relevanten Stellen kopiert.

Falls es jemand interessiert, hier mein relativ schlampiger, aber funktionierender, Quellcode:

Code: Alles auswählen.

*&---------------------------------------------------------------------*
*& Report  ZZSLO001
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  zzslo001.



TYPE-POOLS sapwl .


* Routine entnommen aus SAP System

*----------------------------------------------------------------------*
*                    Macro ADD_REC_TO_MAIN
*----------------------------------------------------------------------*
*           Add a record to the output part main of all_stats.         *
*----------------------------------------------------------------------*
*  --> &1   statistic record                                           *
*  --> &2   program/report name                                        *
*  --> &3   entry ID                                                   *
*----------------------------------------------------------------------*
DEFINE add_rec_to_main.

  catch system-exceptions arithmetic_errors = 1
                          conversion_errors = 2.
* us -> ms
    divide: &1-respti     by 1000,
            &1-cputi      by 1000,
            &1-queueti    by 1000,
            &1-rollinti   by 1000,
            &1-rolloutti  by 1000,
            &1-lockti     by 1000,
            &1-readdirti  by 1000,
            &1-readseqti  by 1000,
            &1-insti      by 1000,
            &1-updti      by 1000,
            &1-delti      by 1000,
            &1-committi   by 1000,
            &1-generateti by 1000,
            &1-reploadti  by 1000,
            &1-cualoadti  by 1000,
            &1-dynploadti by 1000,
            &1-queti      by 1000,
            &1-ddicti     by 1000,
            &1-dbprocti   by 1000.
* 6.30: MAXPAGE is number of new allocated pages in page memory.
*       Display amount of new allocated page memory in kBytes.
    multiply &1-maxpage    by 8.
* type for times in main is int => check if max value for int is reached
    perform: check_dec using &1-respti,
             check_dec using &1-cputi,
             check_dec using &1-queueti,
             check_dec using &1-rollinti,
             check_dec using &1-rolloutti,
             check_dec using &1-lockti,
             check_dec using &1-insti,
             check_dec using &1-updti,
             check_dec using &1-delti,
             check_dec using &1-committi,
             check_dec using &1-reploadti,
             check_dec using &1-cualoadti,
             check_dec using &1-dynploadti,
             check_dec using &1-queti,
             check_dec using &1-ddicti,
             check_dec using &1-rfcti,
             check_dec using &1-maxpage.

    move-corresponding &1 to wa_main.
* move 'not corresponding' data into wa_main
    wa_main-report = &2.
    if &3+64(1) = 'T'.
      wa_main-tcode = &3(40).
    endif.
    wa_main-endti      = &1-endtime.
    wa_main-date       = &1-enddate.
    dbcalls            = wa_main-readdircnt +
                         wa_main-readseqcnt +
                         wa_main-inscnt     +
                         wa_main-updcnt     +
                         wa_main-delcnt.
    perform check_dec using dbcalls.
    wa_main-dbcalls = dbcalls.
* 64-Bit-Umstellung Juni 2003 DK <
*  wa_main-maxmem     = &1-usedbytes +
*                       &1-privsum +
*                       &1-maxroll.
**                       &1-maxpage.
    wa_main-maxmem     = &1-usedbytes +
                         &1-privsum +
                         &1-maxroll / 1024.
* > 64-Bit-Umstellung Juni 2003 DK
    wa_main-restart    = &1-wprestart.

    wa_main-cpicti = &1-rfcti.
    wa_main-cpiccnt = &1-rfccnt.
* type conversion now unneccessary change jtc
*  translate: wa_main-tcode    using null_and_space,
*             wa_main-report   using null_and_space,
*             wa_main-dynpronr using null_and_space,
*             wa_main-sypfkey  using null_and_space,
*             wa_main-syucomm  using null_and_space.
  endcatch.

END-OF-DEFINITION.                     "Macro ADD_REC_TO_MAIN





DATA  entry_id              LIKE sapwluenti-entry_id.
DATA  program               LIKE sapwlpfnrm-report.

DATA  dbcalls               TYPE f.



DATA: moni TYPE STANDARD TABLE OF moni,
db_data TYPE STANDARD TABLE OF dbstatam.
* OPTIONAL
**"              DB_DATA STRUCTURE  DBSTATAM


DATA:  all_stats        TYPE sapwl_allstats.
* workareas (for tables without header lines)
DATA:  wa_all_stats     TYPE sapwl_statrec,
       wa_main          TYPE sapwl_stats,
       wa_record        TYPE sapwl_rec,
       wa_v2_record     TYPE sapwlpfnrm.        "for type conversion
* 11/99 copy-free loop:
FIELD-SYMBOLS:
       <all_stats>      TYPE sapwl_statrec,
       <main>           TYPE sapwl_stats.



START-OF-SELECTION.



  CALL FUNCTION 'SAPWL_READ_STATISTIC_FILES'
   EXPORTING
     read_client                 = '*'
     read_time                   = '240000'
*   READ_TIME_DELTA             = '000200'
*   READ_EXCLUDE_USERNAME       =
     read_start_date             = sy-datum
     read_start_time             = '000000'
     read_username               = '*'
     read_workprocess            = 'FFFF'
*   STATISTIC_FILE              = ' '
*   AS_STATISTIC_FILE           = ' '
*   NO_BUFFER_FLUSH             = ' '
     wait_factor                 = 150
*   INCLUDE_APPL_STAT           = ' '
* IMPORTING
*   PROBLEMS                    = '0'
*   TOTAL_RECS_READ             = '3374'
* TABLES
*   PROTOCOL                    =
*   RFC_RETURNS                 =
*   SERVER_LIST                 =
    CHANGING
      all_stats                   = all_stats
            .



  LOOP AT all_stats ASSIGNING <all_stats>.

    READ TABLE <all_stats>-main INTO wa_main INDEX 1.

    CLEAR wa_v2_record.

    MOVE-CORRESPONDING <all_stats>-record TO wa_v2_record.


    CALL FUNCTION 'SAPWL_STATREC_GET_ENTRY_ID'
      EXPORTING
        v2_record             = wa_v2_record
      IMPORTING
        entry_id              = entry_id
        converted_report_name = program.



    add_rec_to_main <all_stats>-record
    program
    entry_id.

* Nur Anzeige von REPORT deren Name mit ZZ beginnt:
    IF wa_main-report+0(2) = 'ZZ'.
      WRITE: / wa_main-report,
               wa_main-tcode,
               wa_main-date,
               wa_main-starttime,
               wa_main-account.
    ENDIF.

  ENDLOOP.



* FORM
FORM check_dec USING num.
  CONSTANTS max_int TYPE i VALUE 2147483647.

  IF num > max_int.
    num = max_int.
  ENDIF.
ENDFORM.                    "check_dec

Beitrag von simonretter (ForumUser / 25 / 0 / 0 ) »
ups, war nicht eingelogged und kann nun nicht editieren.

die zeilen (in der mitte):

Code: Alles auswählen.

DATA: moni TYPE STANDARD TABLE OF moni,
db_data TYPE STANDARD TABLE OF dbstatam.
* OPTIONAL
**"              DB_DATA STRUCTURE  DBSTATAM 
gehören nicht dazu. Die waren von einem anderen Versuch :-)

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1386
Views
Letzte Ausführung ABAP & Transaktion
von Matthias_L. » 22.03.2006 13:23 • Verfasst in Basis
7
Antw.
4908
Views
Reports zum Löschen unbenötigter Reports
von Tunoto » 28.02.2006 16:45 • Verfasst in ABAP® für Anfänger
1
Antw.
1729
Views
Protokollierung
von BabsiCSC » 23.07.2008 10:08 • Verfasst in ABAP® Core
1
Antw.
1421
Views
Protokollierung der Änderungen
von LeonBarthez » 06.08.2007 13:38 • Verfasst in Human Resources
4
Antw.
5678
Views
SE16n und Protokollierung
von ewx » 13.02.2007 11:40 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

line_exists evaluieren
vor 2 Tagen von Radinator gelöst 6 / 201
Was zum Knobeln....
vor 2 Tagen von a-dead-trousers 5 / 385

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

line_exists evaluieren
vor 2 Tagen von Radinator gelöst 6 / 201
Was zum Knobeln....
vor 2 Tagen von a-dead-trousers 5 / 385

Unbeantwortete Forenbeiträge

Erweiterung in ME51N/ME52N:
vor einer Woche von ABAPlerv 1 / 1592
Erweiterung in ME51N/ME52N:
vor einer Woche von ABAPlerv 1 / 1510