Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Source tables for ST03 data - can only find structures!

Former Member
0 Likes
973

Does anyone know which tables feed the structures (e.g. STA1) for ST03? I've searched all over the place and all I can find are structures. I need to run a query against the source tables. Thanks for your help.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
637

Hi,

See whether ST03N will meet your needs?

For more options see SAP and SAP notes for MONI or TCOLL or ST03(N) (e.g. SAP notes 12103, 143550 and function module SAPWL_ACCNT_GET_SYSTEM_USAGE).

Cheers,

Julius

This coding also helps to understand it a bit:

*&---------------------------------------------------------------------*
*&      Form  TRANSLATE_TCODE_REPORT
*&---------------------------------------------------------------------*
*       Translate/repair report and tcode names of statistic records   *
*----------------------------------------------------------------------*
*  -->  TCODE     transaction code
*  -->  DYNPN     dynpro number
*  -->  ttype     task type
*  -->  USER      user name
*  -->  TERMNL    terminal ID
*  <->  REPO      report
*  <--  ENTID     entry ID
*----------------------------------------------------------------------*
FORM translate_tcode_report     USING
                                   tcode LIKE sapwlpfnrm-tcode
                                   dynpn LIKE sapwlpfnrm-dynpronr
                                   ttype LIKE sapwlpfnrm-tasktype
                                   user  LIKE sapwlpfnrm-account
                                   terml LIKE sapwlpfnrm-terminalid
                                   repo  LIKE sapwlpfnrm-report
                                   entid TYPE entry_id_type.


  CLEAR entid.
  entid-type = 'R'. "field TCODE_OR_REPORT contains a report name

  CASE ttype.
    WHEN tt_autoabap.
      entid-tcode_or_report = repo = 'AutoABAP'.
      EXIT.
    WHEN tt_bufref.
      entid-tcode_or_report = repo = 'Buf.Sync'.
      EXIT.

* 5.0 bei Tasktypen ALE, RFC, CPIC wird der TCODE mitgeliefert

    WHEN tt_ale.
      IF NOT ( tcode IS INITIAL ).
        entid-type   = 'T'.
        entid-tcode_or_report = tcode.
        repo = 'ALE'.
      ELSE.
        entid-type = 'R'.
        entid-tcode_or_report = repo = 'ALE'.
      ENDIF.
      EXIT.

    WHEN tt_rfc.
      IF NOT ( tcode IS INITIAL ).
        entid-type   = 'T'.
        entid-tcode_or_report = tcode.
        repo =  'RFC'.
      ELSE.
        entid-type = 'R'.
        entid-tcode_or_report = repo = 'RFC'.
      ENDIF.
      EXIT.

    WHEN tt_cpic.
      IF NOT ( tcode IS INITIAL ).
        entid-type   = 'T'.
        entid-tcode_or_report = tcode.
        repo = 'CPI-C'.
      ELSE.
        entid-type = 'R'.
        entid-tcode_or_report = repo = 'CPI-C'.
      ENDIF.
      EXIT.

  ENDCASE.

  CASE repo.
    WHEN 'SAPMSYST'.
      CASE dynpn.
        WHEN '0011'.
          entid-tcode_or_report = repo = 'Logoff'.          "#EC NOTEXT
        WHEN '0020'.
          entid-tcode_or_report = repo = 'Login_Pw'.        "#EC NOTEXT
        WHEN '0040'.
          entid-tcode_or_report = repo = 'MainMenu'.        "#EC NOTEXT
        WHEN '0010'.                   "nicht mehr R2 Lgout !!
*          entid-type            = 'T'.
*          entid-tcode_or_report = '/LON'.
*          repo                  = 'R2 Lgout'.
          entid-tcode_or_report = repo.
        WHEN '0050'.
          entid-type            = 'T'.
          entid-tcode_or_report = '/LON'.                   "#EC NOTEXT
          repo                  = 'R2 Login'.               "#EC NOTEXT
        WHEN '0200'.
          entid-tcode_or_report = repo = 'New Pswd'.        "#EC NOTEXT
        WHEN OTHERS.
          entid-tcode_or_report = repo.
      ENDCASE.
    WHEN 'SAPMSSY0'.                   "Logon and other system exits
      CASE dynpn.
        WHEN '0120'.
          IF tcode = 'SE38' OR tcode = 'SA38' OR tcode = 'SE80'.
            entid-tcode_or_report = repo = 'Rep_List'.
          ELSE.
            entid-tcode_or_report = repo = 'Login_Ok'.
          ENDIF.
        WHEN OTHERS.
          entid-tcode_or_report = repo.
      ENDCASE.
    WHEN 'SAPMSSY2'.                   "BTC Control
      CASE dynpn.
        WHEN '4004'.
          entid-tcode_or_report = repo = '(B)SCHDL'.
        WHEN '4005'.
          entid-tcode_or_report = repo = '(B)STRTR'.
        WHEN '4006'.
          entid-tcode_or_report = repo = '(B)ZOMBI'.
        WHEN '4007'.
          entid-tcode_or_report = repo = '(B)EVDRI'.
        WHEN '4008'.
          entid-tcode_or_report = repo = '(B)EXTSC'.
        WHEN '4009'.
          entid-tcode_or_report = repo = '(B)AUTOD'.
        WHEN '4010'.
          entid-tcode_or_report = repo = '(B)SWTCH'.
        WHEN OTHERS.
          entid-tcode_or_report = repo = '(B)OTHER'.
      ENDCASE.
    WHEN 'SAPMSSY3'.                   "ABAP Debugger
      entid-tcode_or_report = repo = 'Debugger'.            "#EC NOTEXT
    WHEN 'SAPMSSY4'.                   "Update control
      entid-tcode_or_report = repo = 'Upd Ctrl'.            "#EC NOTEXT
    WHEN 'SAPMSSY6' OR 'SAPMSSY8'.     "Auto ABAP (SAPMSSY8 since 4.5)
      entid-tcode_or_report = repo = 'AutoABAP'.            "#EC NOTEXT
    WHEN 'SAPMSSY7'.                                        "Scheduler
      entid-tcode_or_report = repo = 'Schedulr'.            "#EC NOTEXT
    WHEN 'SAPMSEDT'.                                        "Editor
      entid-tcode_or_report = repo = 'Rep_Edit'.            "#EC NOTEXT
    WHEN OTHERS.
      IF repo IS INITIAL.
        IF dynpn IS INITIAL.
          IF user = sapsys_user.
            IF terml IS INITIAL AND ttype NE tt_btc.
              entid-tcode_or_report = repo = 'System'.      "#EC NOTEXT
            ELSE.
              entid-tcode_or_report = repo = '?'.
            ENDIF.
          ELSE.
            entid-tcode_or_report = repo = 'Aborted'.       "#EC NOTEXT
          ENDIF.
        ELSE.
          entid-tcode_or_report = repo = '?'.
        ENDIF.
      ELSEIF tcode = 'SE38'   OR
             tcode = 'SA38'   OR
             tcode = 'SE80'   OR
             tcode = 'SARP'   OR       "SARP ausfiltern (Berichtsbaum)
             tcode = 'SART'   OR       "SART ausfiltern (Berichtsbaum)
             tcode = 'GR55'   OR       "GR55 ausfiltern (Berichtsbaum)
             ttype = tt_btc   OR
             tcode IS INITIAL.
        entid-tcode_or_report = repo.
      ELSE.
        entid-tcode_or_report = tcode.
        entid-type            = 'T'.
* removed in release 6.30
*        IF entid-tcode_or_report(3) CA space OR
*           entid-tcode_or_report    CA '!'.
*          entid-tcode_or_report = '!XYZ'.
*        ENDIF.
      ENDIF.
  ENDCASE.
ENDFORM.                               " TRANSLATE_TCODE_REPORT

2 REPLIES 2
Read only

Former Member
0 Likes
638

Hi,

See whether ST03N will meet your needs?

For more options see SAP and SAP notes for MONI or TCOLL or ST03(N) (e.g. SAP notes 12103, 143550 and function module SAPWL_ACCNT_GET_SYSTEM_USAGE).

Cheers,

Julius

This coding also helps to understand it a bit:

*&---------------------------------------------------------------------*
*&      Form  TRANSLATE_TCODE_REPORT
*&---------------------------------------------------------------------*
*       Translate/repair report and tcode names of statistic records   *
*----------------------------------------------------------------------*
*  -->  TCODE     transaction code
*  -->  DYNPN     dynpro number
*  -->  ttype     task type
*  -->  USER      user name
*  -->  TERMNL    terminal ID
*  <->  REPO      report
*  <--  ENTID     entry ID
*----------------------------------------------------------------------*
FORM translate_tcode_report     USING
                                   tcode LIKE sapwlpfnrm-tcode
                                   dynpn LIKE sapwlpfnrm-dynpronr
                                   ttype LIKE sapwlpfnrm-tasktype
                                   user  LIKE sapwlpfnrm-account
                                   terml LIKE sapwlpfnrm-terminalid
                                   repo  LIKE sapwlpfnrm-report
                                   entid TYPE entry_id_type.


  CLEAR entid.
  entid-type = 'R'. "field TCODE_OR_REPORT contains a report name

  CASE ttype.
    WHEN tt_autoabap.
      entid-tcode_or_report = repo = 'AutoABAP'.
      EXIT.
    WHEN tt_bufref.
      entid-tcode_or_report = repo = 'Buf.Sync'.
      EXIT.

* 5.0 bei Tasktypen ALE, RFC, CPIC wird der TCODE mitgeliefert

    WHEN tt_ale.
      IF NOT ( tcode IS INITIAL ).
        entid-type   = 'T'.
        entid-tcode_or_report = tcode.
        repo = 'ALE'.
      ELSE.
        entid-type = 'R'.
        entid-tcode_or_report = repo = 'ALE'.
      ENDIF.
      EXIT.

    WHEN tt_rfc.
      IF NOT ( tcode IS INITIAL ).
        entid-type   = 'T'.
        entid-tcode_or_report = tcode.
        repo =  'RFC'.
      ELSE.
        entid-type = 'R'.
        entid-tcode_or_report = repo = 'RFC'.
      ENDIF.
      EXIT.

    WHEN tt_cpic.
      IF NOT ( tcode IS INITIAL ).
        entid-type   = 'T'.
        entid-tcode_or_report = tcode.
        repo = 'CPI-C'.
      ELSE.
        entid-type = 'R'.
        entid-tcode_or_report = repo = 'CPI-C'.
      ENDIF.
      EXIT.

  ENDCASE.

  CASE repo.
    WHEN 'SAPMSYST'.
      CASE dynpn.
        WHEN '0011'.
          entid-tcode_or_report = repo = 'Logoff'.          "#EC NOTEXT
        WHEN '0020'.
          entid-tcode_or_report = repo = 'Login_Pw'.        "#EC NOTEXT
        WHEN '0040'.
          entid-tcode_or_report = repo = 'MainMenu'.        "#EC NOTEXT
        WHEN '0010'.                   "nicht mehr R2 Lgout !!
*          entid-type            = 'T'.
*          entid-tcode_or_report = '/LON'.
*          repo                  = 'R2 Lgout'.
          entid-tcode_or_report = repo.
        WHEN '0050'.
          entid-type            = 'T'.
          entid-tcode_or_report = '/LON'.                   "#EC NOTEXT
          repo                  = 'R2 Login'.               "#EC NOTEXT
        WHEN '0200'.
          entid-tcode_or_report = repo = 'New Pswd'.        "#EC NOTEXT
        WHEN OTHERS.
          entid-tcode_or_report = repo.
      ENDCASE.
    WHEN 'SAPMSSY0'.                   "Logon and other system exits
      CASE dynpn.
        WHEN '0120'.
          IF tcode = 'SE38' OR tcode = 'SA38' OR tcode = 'SE80'.
            entid-tcode_or_report = repo = 'Rep_List'.
          ELSE.
            entid-tcode_or_report = repo = 'Login_Ok'.
          ENDIF.
        WHEN OTHERS.
          entid-tcode_or_report = repo.
      ENDCASE.
    WHEN 'SAPMSSY2'.                   "BTC Control
      CASE dynpn.
        WHEN '4004'.
          entid-tcode_or_report = repo = '(B)SCHDL'.
        WHEN '4005'.
          entid-tcode_or_report = repo = '(B)STRTR'.
        WHEN '4006'.
          entid-tcode_or_report = repo = '(B)ZOMBI'.
        WHEN '4007'.
          entid-tcode_or_report = repo = '(B)EVDRI'.
        WHEN '4008'.
          entid-tcode_or_report = repo = '(B)EXTSC'.
        WHEN '4009'.
          entid-tcode_or_report = repo = '(B)AUTOD'.
        WHEN '4010'.
          entid-tcode_or_report = repo = '(B)SWTCH'.
        WHEN OTHERS.
          entid-tcode_or_report = repo = '(B)OTHER'.
      ENDCASE.
    WHEN 'SAPMSSY3'.                   "ABAP Debugger
      entid-tcode_or_report = repo = 'Debugger'.            "#EC NOTEXT
    WHEN 'SAPMSSY4'.                   "Update control
      entid-tcode_or_report = repo = 'Upd Ctrl'.            "#EC NOTEXT
    WHEN 'SAPMSSY6' OR 'SAPMSSY8'.     "Auto ABAP (SAPMSSY8 since 4.5)
      entid-tcode_or_report = repo = 'AutoABAP'.            "#EC NOTEXT
    WHEN 'SAPMSSY7'.                                        "Scheduler
      entid-tcode_or_report = repo = 'Schedulr'.            "#EC NOTEXT
    WHEN 'SAPMSEDT'.                                        "Editor
      entid-tcode_or_report = repo = 'Rep_Edit'.            "#EC NOTEXT
    WHEN OTHERS.
      IF repo IS INITIAL.
        IF dynpn IS INITIAL.
          IF user = sapsys_user.
            IF terml IS INITIAL AND ttype NE tt_btc.
              entid-tcode_or_report = repo = 'System'.      "#EC NOTEXT
            ELSE.
              entid-tcode_or_report = repo = '?'.
            ENDIF.
          ELSE.
            entid-tcode_or_report = repo = 'Aborted'.       "#EC NOTEXT
          ENDIF.
        ELSE.
          entid-tcode_or_report = repo = '?'.
        ENDIF.
      ELSEIF tcode = 'SE38'   OR
             tcode = 'SA38'   OR
             tcode = 'SE80'   OR
             tcode = 'SARP'   OR       "SARP ausfiltern (Berichtsbaum)
             tcode = 'SART'   OR       "SART ausfiltern (Berichtsbaum)
             tcode = 'GR55'   OR       "GR55 ausfiltern (Berichtsbaum)
             ttype = tt_btc   OR
             tcode IS INITIAL.
        entid-tcode_or_report = repo.
      ELSE.
        entid-tcode_or_report = tcode.
        entid-type            = 'T'.
* removed in release 6.30
*        IF entid-tcode_or_report(3) CA space OR
*           entid-tcode_or_report    CA '!'.
*          entid-tcode_or_report = '!XYZ'.
*        ENDIF.
      ENDIF.
  ENDCASE.
ENDFORM.                               " TRANSLATE_TCODE_REPORT

Read only

Frank_Buchholz
Product and Topic Expert
Product and Topic Expert
0 Likes
637

The statistic data are stored in files on every application server (and not in the database). The profile parameter stat/file defines the file name. The servers use buffers in the main memory which are regulary flushed.

The transactions access the statistical data using function SAPWL_READ_STATISTIC_FILES (but take care: this function is not a public interface and may be replaced or changed at any time).

Kind regards

Frank Buchholz