Ich möchte in diesem Blog einfach meine Erfahrungen zum Thema SAP Basis und Solution Manager niederschreiben! Ich arbeite mit Linux und Oracle
Montag, 27. Februar 2012
Programm zum generieren des Solution Manager Key
Solution Manager Key eingeben dann verwenden Sie einfach diesen Report und genrieren sich den Schlüssel auf einem beliebegen ABAP System.
*&———————————————————————*
*& Report ZSLMKEY
*&
*&———————————————————————*
*&
*&
*&———————————————————————*
REPORT ZSLMKEY.
types: begin of dswpclientkey,
INSTNO type num10,
DBID(3),
BUNDLE_ID(8),
SERVICE_KEY(40),
end of dswpclientkey.
*data: dswpclientkey_w type standard table of dswpclientkey.
DATA: P_VALUE(10),
P_INSTNO(10).
PARAMETERS: P_SID(3),
P_SYSNO(2),
P_SERVER(15).
START-OF-SELECTION.
PERFORM GET_SP_VALUE USING P_SID
P_SYSNO
P_SERVER
P_INSTNO
CHANGING P_VALUE.
END-OF-SELECTION.
WRITE P_VALUE.
*&———————————————————————*
*& Form get_sp_value
*&———————————————————————*
* text
*———————————————————————-*
* –>P_PF_SID text
* –>P_PF_SYSNO text
* –>P_PF_SERVER text
* <–P_PF_VALUE text
*———————————————————————-*
FORM get_sp_value USING P_PF_SID
P_PF_SYSNO
P_PF_SERVER
P_PF_INSTNO
CHANGING P_PF_VALUE.
CONSTANTS: lc_part_len TYPE i VALUE 5,
lc_pw_len TYPE i VALUE 10,
lc_allowed_chars(38) TYPE c VALUE '-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_'.
data: lf_string(20) type c,
lf_key type i,
ls_key type dswpclientkey,
lf_part(lc_part_len) type c,
lf_finalf(lc_pw_len) type c,
lf_finalx type xstring,
lf_xbuffer type xstring,
lf_opf(10) type c,
lf_langu like sy-langu,
lf_subrc like sy-subrc,
lf_len type i,
lo_conv_to_x TYPE REF TO cl_abap_conv_out_ce.
clear: lf_string, lf_finalx, lf_opf.
concatenate p_pf_sid p_pf_sysno p_pf_server into lf_string.
* Large letters only
translate lf_string to upper case.
lf_langu = sy-langu.
SET LOCALE LANGUAGE 'E'.
lo_conv_to_x = cl_abap_conv_out_ce=>create( encoding = '1100' ).
lf_len = STRLEN( lf_string ).
IF lf_string(lf_len) CN lc_allowed_chars.
else.
* Fold the input string to a lc_part_len long string
WHILE lf_len > 0.
lf_part = lf_string(lc_part_len).
SHIFT lf_string BY lc_part_len PLACES.
lf_len = STRLEN( lf_string ).
CALL METHOD lo_conv_to_x->reset.
CALL METHOD lo_conv_to_x->write( data = lf_part n = -1 ).
lf_xbuffer = lo_conv_to_x->get_buffer( ).
lf_finalx = lf_finalx BIT-XOR lf_xbuffer.
ENDWHILE.
lf_key = 12.
PERFORM scramble USING lf_finalx
lf_key
lc_part_len
CHANGING lf_finalf
lf_subrc.
if not lf_finalf is initial.
p_pf_value = lf_finalf.
ls_key-dbid = p_pf_sid.
ls_key-instno = p_pf_instno.
ls_key-bundle_id = 'SM_KEY'.
ls_key-service_key = lf_finalf.
if not p_pf_instno is initial.
* insert dswpclientkey_w from ls_key.
if sy-subrc <> 0.
* update dswpclientkey_w from ls_key.
endif.
endif.
else.
clear p_pf_value.
endif.
endif.
ENDFORM. " get_sp_value
*&———————————————————————*
*& Form scramble
*&———————————————————————*
* text
*———————————————————————-*
* –>P_LF_FINALX text
* –>P_LF_KEY text
* –>P_LC_PART_LEN text
* <–P_LF_finalf text
* <–P_LF_SUBRC text
*———————————————————————-*
FORM scramble USING iv_xstring TYPE xstring
iv_key TYPE i
iv_src_len TYPE i
CHANGING lf_finalf
lf_subrc LIKE sy-subrc.
CONSTANTS: lc_max_len TYPE i VALUE 20,
lc_mask(4) TYPE x VALUE '0000003F', lc_random(64) TYPE x VALUE
'F0ED53B83244F1F876C67959FD4F13A2' &
'C15195EC5483C234774943A27DE26596' &
'5E5398789A17A33CD383A8B829FBDCA5' &
'55D702778413ACDDF9B83116610E6DFA'.
DATA: lv_key_index(4) TYPE x,
lv_rand_index(4) TYPE x,
lv_xkey(4) TYPE x,
lv_xkey_shl_1(4) TYPE x,
lv_xkey_shr_5(4) TYPE x,
lv_scramble_byte TYPE x,
lv_dest(lc_max_len) TYPE x,
lv_index TYPE i,
lv_len TYPE i.
CLEAR lf_subrc.
IF iv_src_len EQ 0. EXIT. ENDIF.
lv_len = XSTRLEN( iv_xstring ).
IF iv_src_len GT lc_max_len OR
iv_src_len GT lv_len.
lf_subrc = 2.
EXIT.
ENDIF.
lv_xkey = iv_key.
lv_xkey_shl_1 = iv_key * 2.
lv_xkey_shr_5 = iv_key DIV 32.
lv_rand_index = lv_xkey BIT-XOR lv_xkey_shr_5 BIT-XOR lv_xkey_shl_1.
lv_rand_index = lv_rand_index BIT-AND lc_mask.
lv_index = 0.
DO iv_src_len TIMES.
CATCH SYSTEM-EXCEPTIONS compute_int_times_overflow = 1.
lv_key_index = ( iv_key * lv_index * lv_index ) - lv_index.
ENDCATCH.
IF sy-subrc <> 0.
lf_subrc = 1.
EXIT.
ENDIF.
lv_scramble_byte = lc_random+lv_rand_index(1) BIT-XOR
lv_key_index+3(1).
lv_dest+lv_index(1) = iv_xstring+lv_index(1) BIT-XOR
lv_scramble_byte.
lv_index = lv_index + 1.
lv_rand_index = lv_rand_index + 1.
lv_rand_index = lv_rand_index BIT-AND lc_mask.
ENDDO.
IF lf_subrc <> 0.
EXIT.
ENDIF.
WRITE lv_dest(iv_src_len) TO lf_finalf.
ENDFORM.
Freitag, 24. Februar 2012
Neue Connect-Methode des AS ABAP an Oracle per SSFS
Der OPS$-Remote-Connect (per TNS-Aliasnamen) wird von künftigen Oracle-Versionen nach Release 11g nicht mehr unterstützt. SAP führt deshalb ab Kernel-Release 7.20 eine neue Methode zur sicheren Speicherung des Datenbank-Paßwortes und für die Verbindung zur DB ein, den "Sicheren Speicher im Dateisystem" ("Secure Storage in File System", SSFS). Das verschlüsselte Paßwort für den SAP-Datenbankbenutzer wird dann nicht mehr in der Datenbank, sondern im Dateisystem gespeichert.
Mit der Übernahme des Kernels 7.20 (11/2011) als abwärtskompatibler Kernel (AKK für 7.x) steht die neue Methode auf allen 7.x-Systemen (ab SAP 7.00) zur Verfügung. SAP empfiehlt, aus Sicherheitsgründen die neue Methode zu verwenden.
Achtung:
Die neue Connect Methode (SSFS) steht derzeit nur für auf Unicode basierende 7.x-Systeme zur Verfügung. Nach aktueller Planung sollen Nicht-Unicode-7.x-Systeme bis Ende März 2012 ebenfalls den SSFS-Connect unterstützen.
Zwecks Rückwärtskompatibilität wird die herkömmliche Connect-Methode für alle SAP-Systeme mit Oracle bis Version 11.2 weiter unterstützt.
Alle SAP-Systeme ab Kernel 7.20, die zukünftige Oracle-Versionen nach 11g benutzen, können nur noch mit der neuen Methode betrieben werden.
Hinweis 1622837 - Neue Connect-Methode des AS ABAP an Oracle per SSFS
Oracle Index Komprimierung II
Weiters gibt es im SDN noch ein SQL Skript mit dem man die Indizes ermitteln kann
welche relevant für eine Komprimierung sind!
Link: SND
Index Compression Overview
Being able to compress indexes has many advantages:
Less space consumption on disk
Less space consumption in buffer pool
Less I/O activities
Better performance due to less disk reads and buffer gets
Less CPU consumption (because the small compression related CPU overhead is smaller than the CPU savings due to less disk reads and buffer gets)
The main problem of index compression is that an optimal amount of leading index columns (prefix) has to be found that can be compressed
An exact analysis (e.g. via VALIDATE STRUCTURE or provided PL/SQL scripts) needs to scan a lot of data and runs a long time
The following SQL command can be used to determine an acceptable index compression prefix and the expected minimum space gain quickly based on CBO statistics.
AnalysisSQL Command: Space_IndexCompression.txt
Purpose:
Conservative index compression analysis based on CBO statistics
Features:
Threshold value for minimum amount of saved data space
Analysis can be restricted to particularly large or I/O intensive segments (focus on space or performance)
Generation of Oracle or BRSPACE index rebuild command for compression activation possible
Restrictions:
Result can„t be 100 % precise because correlation of leading index columns is not visible in CBO statistics, script assumes worst case scenario of uncorrelated columns, in about 20 % of all indexes this can lead to a suggested prefix length that is smaller than the optimal prefix length
Prerequisites:
Regular BRCONNECT statistic run must be scheduled (recommendation: daily)
Freitag, 18. November 2011
Sie möchten Ausgabegeräte aus Transaktion SPAD löschen
Dabei hilft der Hinweis 1040456 - Verwendungsnachweis für Ausgabegeräte!
Der Report RSPO0040 ist ab 7.00 SP24 bzw. 7.01 SP09 im Standard verfügbar!
Sonst einfach über SNOTE einspielen...
Donnerstag, 20. Oktober 2011
Concurent User Vermessung eines ABAP Systems
Mit dem Report CCUINIT wird die Vermessung eingeplant - z.B. für einen Zeitraum von 30 Tagen!
Mit dem Report CCUEVAL kann man das Ergebnis auswerten.
Die Doku dazu gibt es im HW 157758.
Die Reports werden leider nicht mehr weiterentwickelt - Session mit HTTP werden z.B. nicht erfasst. Laut SAP wurde die Funktion der Concurent User in das CCMS übernommen - meines erachten stimmt das nicht da das CCMS doppelte User Anmeldunge auch mitzählt (gerade im BW gibt es für jeden BEX User eine Dialog Anmeldung und eine RFC Anmeldung.
Freitag, 15. Juli 2011
Transaktion ST13 - BACKGROUND_JOB_ANALYSIS
Heute möchte ich mal den Report BACKGROUND_JOB_ANALYSIS vorstellen.
Öfters stellt man sich die Frage bei einer neuen Anforderung für einen Batchjob wann soll bzw. kann ich diesen am besten laufen lassen.
Mit dem Report BACKGROUND_JOB_ANALYSIS hat man die Möglichkeit sich die Historie aller Jobs pro Applikationsserver anzusehen.
z.B. wann sind wieviele Jobs zugleich auf einem Applserver gelaufen und haben wieviel CPU verbraucht - somit kann man schon mal abschätzen das man in einer gewissen Zeit vielleicht keinen Job mehr einplanen sollte da alle Workpresse belegt sind.
Anbei ein Beispiel: ab 04:45 macht es keinen Sinn mehr auf diesem Applikationsserver
Batchjobs einzuplanen!
Freitag, 22. April 2011
Neues Berechtigungsobjekt S_TABU_NAM für Tabellenzugriffe
Sollte man sich auch ansehen:
Freitag, 25. März 2011
Zentrale Jobverwaltung über den Solution Manager
Sie suchen nach einer Möglichkeit Ihre Batchjobs Zentral zu verwalten und dokumentieren?!
Ja sowas gibt es im Solution Manager 7.01 (EHP1 Sp24) ohne das sie eine zusätzliche Software kaufen müssen....
Wenn es nur darum geht Jobs zu dokumentieren, monitoren und einplanen dann brauchen sie dazu keine cps lizenz kaufen - das geht auch ohne cps!
Beispiel für eine Jobdoku

Wenn der Job dokumentiert ist kann man diesen auch über den Solman im Zielsystem einplanen und dann via BPM monitioren.
Es gibt auch die Möglichkeit das die Keyuser Jobs über ein Webinterface beantragen können.
Dienstag, 30. November 2010
HOTNEWS: Hinweis 1529649 - Ende der Gültigkeit des Fabrikkalenders Ende 2010
Die von SAP gelieferten Fabrikkalender gelten standardmäßig bis 2010. Vor Ablauf der Gültigkeit wird keine Fehlermeldung angezeigt. Dies kann zum Jahreswechsel in Anwendungen, die den Kalender verwenden, zu Folgefehlern führen.
Weitere BegriffeDie Gültigkeit der Kalender endet 2010.
Ursache und VoraussetzungenAlle SAP-Standardsysteme werden bei der Erstinstallation mit dem oben genannten Gültigkeitsdatum bereitgestellt.
LösungPrüfen Sie die Gültigkeit des Fabrikkalenders im System mithilfe von Transaktion SCAL. Verlängern Sie die Gültigkeit des Kalenders Ihren individuellen Anforderungen entsprechend manuell. Eine ausführliche Beschreibung zum Bearbeiten des Kalenders finden Sie im SAP-Hinweis 501670.
Der Fabrikkalender basiert auf dem Feiertagskalender. Aus diesem Grund muss zunächst die Gültigkeit des zugrunde liegenden Feiertagskalenders verlängert werden, bevor Sie die Gültigkeit des Fabrikkalenders verlängern. Nach dem Ändern der Einstellungen muss der Kalenderpuffer aktualisiert werden.
Im Allgemeinen empfiehlt SAP, in Produktivsystemen keine Änderungen am Fabrikkalender vorzunehmen. Alle Kalenderdaten sollten in einem Customizing-System verwaltet werden. Updates erfolgen über Transporte aus dem Customizing-System. Als Sonderfall kann ein Customizing-Mandant im Produktivsystem eingerichtet werden. Änderungen am Customizing-Mandanten betreffen dann direkt das Produktivsystem, da die Daten mandantenunabhängig sind.
Mittwoch, 3. November 2010
Index-Komprimierung im SAP-Umfeld
Index-Komprimierung lohnt sich besonders dann, wenn es führende Index-Spalten gibt, die wenige Ausprägungen haben und für einen relativ großen Anteil der gesamten Index-Spalten-Länge verantwortlich sind. Die optimale Anzahl der zu komprimierenden Spalten kann standardmäßig gemäß Hinweis 1109743 ermittelt werden. Dieser Ansatz hat den Vorteil, dass er auf CBO-Statistiken basiert und daher ziemlich schnell ist und keine Sperren erfordert.
Alternativ kann in bestimmten Situationen auch ANALYZE INDEX VALIDATE STRUCTURE wie im folgenden beschrieben verwendet werden. Beachten Sie aber, dass VALIDATE STRUCTURE zu Sperren führt und daher nicht parallel zum Produktivbetrieb durchgeführt werden sollte. Außerdem kann diese Operation nicht parallelisiert werden, weshalb es zu langen Laufzeiten kommen kann:
ANALYZE INDEX "
Anschließend kann der Tabelle INDEX_STATS die Komprierungsinformation entnommen werden, z.B.:
SELECT OPT_CMPR_COUNT, OPT_CMPR_PCTSAVE FROM INDEX_STATS;
OPT_CMPR_COUNT OPT_CMPR_PCTSAVE
-------------- ----------------
2 22
In diesem Fall schlägt Oracle eine Komprimierung der zwei führenden Indexspalten vor und erwartet dadurch eine Reduzierung der Netto-Indexdaten um 22 Prozent.
Mit aktuellen BRSPACE-Versionen können mit Hilfe der "-CBB"-Option ebenfalls INDEX REBUILDs mit integriertem COMPRESS durchgeführt werden. Beispiel für eine Komprimierung der ersten zwei Indexspalten:brspace -f idrebuild -i INDEXNAME -CBB 2
Mittwoch, 11. August 2010
Indexbeschädigung/falsche Ergebn. nach ONLINE-Indexneuaufbau
Betrifft alle die sich die Mühe genommen haben und Ihre Indizes ONLINE reorganisiert haben...
bzw. wenn folgendes gemacht wurde:
Wenn beim Online-Indexneuaufbau eine Änderung einer hohen Parallelverarbeitung in der Tabelle durchgeführt wird, KANN der Index durch fehlende Schlüssel beschädigt werden
sie SAP NOTE 1413928
Montag, 31. Mai 2010
Übersichtlicher Berechtigungstrace ST01
Den Code zum Report gibt es auf dem sdn.sap.com unter den Link:
http://wiki.sdn.sap.com/wiki/display/Snippets/Show+ST01+authorization+trace
Update: ist nun im Standard und lässt sich über die Transaktion STAUTHTRACE starten!
Donnerstag, 8. April 2010
SAP-Performanceoptimierung 6. Auflage
Diese 6. Auflage unseres Standardwerkes erläutert in bewährter Manier alles Wichtige zu Performanceanalyse und -optimierung. Sie lernen, welche Faktoren in den verschiedenen SAP-Komponenten die Performance beeinflussen, wie Sie die Systeme überwachen und was Sie tun können, wenn die Systemleistung nicht befriedigend ist. Zudem zeigt Ihnen der Autor sämtliche Werkzeuge und Verfahren zu Analyse und Tuning und gibt Ihnen praktische Tipps zur Performanceverbesserung.
Berücksichtigt werden dabei alle Aspekte von SAP-Software: Von performancekritischen Komponenten wie Datenbank, Hardware oder Betriebssystem über die serverinterne Verarbeitung (Workprozesse, Sperren, Lastverteilung etc.) bis hin zu Schnittstellen und Eigenentwicklungen wird jeder Bereich durchleuchtet, der Einfluss auf die Leistung Ihres Systems nehmen kann.
Neu in dieser Auflage sind Kapitel zu SAP NetWeaver BW zum BW Accelerator und zum TREX, zudem werden die Abschnitte zu den Datenbanken aktualisiert.