2006 Oct 05 8:45 PM
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.
2006 Oct 06 3:55 PM
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
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
2006 Oct 06 3:55 PM
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
2006 Oct 06 4:24 PM
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
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |