Dienstag, 30. Dezember 2014

ABAP Sonderzeichen entfernen

Ab und zu kommt es vor, dass das Quellsystem Sonderzeichen liefert, womit das Business Warehouse System nicht umgehen kann und der Ladeprozess abbricht.

Eine Lösung ist folgender ABAP Code

DATA: zeichen(1) TYPE c,
muster(2) TYPE c,
field TYPE c LENGTH 000060.
field = SOURCE_FIELDS-YYSTREET.
DO.
    IF field CO
        ' !"%&()*+,-./:;<=>?_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜßabcdefg' & & 'hijklmnopqrstuvwxyzäöü '.
        EXIT.
    ELSE.
        zeichen = field+sy-fdpos(1).
        muster+0(1) = zeichen.
        muster+1(1) = space.
        TRANSLATE field USING muster.
    ENDIF.
ENDDO.
RESULT = field.


Dieser Blog ist nun unter www.reyemsaibot.com erreichbar.

Dienstag, 23. Dezember 2014

Infoset wirft Dump während Überprüfen oder beim Aktivieren

Während der Überprüfung oder der Aktivierung eines Infosets generiert das BW System folgenden Dump:

"UNCAUGHT_EXCEPTION" CX_RS_INPUT_INVALID
"CL_RSQ_ISET_APPEND ============ CP"
"SPLIT_APPENDNM_FALIAS"

Lösung: Dies ist ein Programmierfehler und bitte Hinweis 1970282 einbauen, um dieses Problem zu beheben.

Montag, 22. Dezember 2014

Excel Minuszahlen aus SAP richtig darstellen

Leider stellt SAP Zahlen bei einem Export, die negativ sind folgendermaßen dar „Zahl-“:

Exceldarstellung Minuszahl aus SAP


Damit man aber mit den Zahlen vernünftig weiter arbeiten kann, müssen diese in das Format „-Zahl“ geändert werden. Dies kann man entweder per Hand erledigen, was bei einer großen Liste sehr aufwändig ist oder man nimmt dafür folgende Excelformel:


=MAX(C1;-WECHSELN(C1;"-";"")) 

Mittwoch, 17. Dezember 2014

Default Workbook in Analysis for Office festlegen

Es gibt zwei Wege um in Analysis for Office (AO) eine Standardarbeitsmappe festzulegen. Entweder jeder Benutzer legt selbstständig unter den Einstellungen fest, welche Arbeitsmappe (Workbook) man als Standardarbeitsmappe verwenden möchte oder die IT legt dies global für alle Benutzer fest. Der erste Weg ist sehr Zeit aufwändig, da man bei jedem AO-Benutzer per Hand die Standardarbeitsmappe festzulegen hat, der zweite Weg ist dabei sehr viel komfortabler.

EinstellungenEinstellungen Default Workbook


Dafür wird in dem Pfad “C:\Users\*Benutzer*\AppData\Roaming\SAP AG\SAP BusinessObjects Advanced Analysis\Settings\Document” eine XML-Datei mit dem Namen “DefaultWorkbookPath.xml” angelegt. 

Explorerpfad Default Workbook

Der Inhalt der Datei lautet folgendermaßen:

<?xml version="1.0"?><DefaultWorkbookPath scope="user" type="string" fullpath="/Settings/Document/DefaultWorkbookPath">Pfad</DefaultWorkbookPath>


Über die IT kann diese Datei global angelegt und verteilt werden.

Dieser Blog ist nun unter www.reyemsaibot.com erreichbar.

Dienstag, 16. Dezember 2014

Übersicht SAP BusinessObjects Tools und deren Einsatzmöglichkeiten

SAP BusinessObjects Web Intelligence 

SAP BusinessObjects Web Intelligence
  • Ideal für Bedürfnisse von Führungskräften des mittleren Managements, Business-Analysten und Mitarbeitern ohne Führungsverantwortung
  • Zugriff auf Daten aus unterschiedlichen Quellen ohne technischen Hintergrund
  • Mit SAP BusinessObjects Mobile können diese Funktionen auf Mobilgeräten genutzt werden



SAP Crystal Reports

    SAP Crystal Reports
  • Entwicklung interaktiver, gut formatierter Berichte
  • Richtet sich an diverse Empfänger wie Geschäftsführung, Controlling usw.
  • Erstellung durch technisch versierte Berichtsersteller
  • Ausgabe pixelgenau, egal welches Medium
  • Kunde möchte ein PDF-Produktdatenblatt aus dem Internet laden, Preis, Bild und Ausstattungskomponenten werden dabei immer aktuell aus der Datenbank ausgelesen





SAP BusinessObjects Dashboard

    SAP BusinessObjects Dashboard
  • Richtet sich an Vorstandsmitglieder und Führungskräfte der mittleren Managementebene
  • Erstellung interaktiver, echtzeitfähiger Dashboards 
  • Analysen auf Basis von Simulationen mit interaktiven Steuerelementen durchführbar 





SAP BusinessObjects Explorer
SAP BusinessObjects Explorer

  • Bestens für Vorstandsmitglieder geeignet
  • Durchsuchen der gesamten SAP BusinessObjects BI Plattform mit einfachen Suchbegriffen ala Google
  • Visualisierung der Suchergebnisse 
  • Mobile Anwendungen für iPhone und Ipad
  • Einbindung von Google Maps und Augmented-Reality-Funktionen

SAP BusinessObjects Analysis, Edition für Microsoft Office 
SAP BusinessObjects Analysis, Edition für Microsoft Office

  • Verwendung durch Führungskräften des mittleren Managements, Business-Analysten und Mitarbeitern ohne Führungsverantwortung 
  • Nutzung in Microsoft Office Anwendungen

SAP BusinessObjects Analysis, Edition für OLAP

  • Client für Business-Analysten
  • Intuitive, webbasierte Oberfläche zur Durchführung mutlidimensionaler Datenanalysen

SAP BusinessObjects Design Studio

SAP BusinessObjects Design Studio

  • Nachfolger von SAP BusinessObjects Dashboards
  • Intuitive “WYSIWYG” Entwicklungsumgebung
  • Optimierte Ausgabe für Web- und mobile Endgeräte
  • Unterstützt HANA-spezifische Services





Dieser Blog ist nun unter www.reyemsaibot.com erreichbar.

Donnerstag, 11. Dezember 2014

Kennzahlen von Infoprovidern ändern, wenn diese verwendet werden (SAP Hinweis)

Es gibt einen SAP Hinweis aus dem Jahr 2009 wie man Kennzahlen in einem InfoProvider ändert, obwohl diese verwendet werden. Die Hinweisnummer lautet 579342.


Dienstag, 9. Dezember 2014

Entsperren von InfoObjekten im Business Warehouse


  1. Transaktion rsa1 aufrufen oder die Transaktion rsdcube
  2. Menü >> Zusätze
  3. "InfoObjekte entsperren" auswählen
InfoObjects entsperren
InfoObjects entsperren


Hinweis: InfoObjects entsperren
Hinweis: InfoObjects entsperren

Freitag, 5. Dezember 2014

Fehler beim Herstellen einer Verbindung in Analysis for Office per VBA

Mit Hilfe folgendem Coding kann man eine Verbindung zu einem BW System herstellen. Dafür muss vorher in der Arbeitsmappe schon eine DataSource eingefügt worden sein. Bisher ist es nicht möglich eine Verbindung per VBA zu einem SAP System herzustellen wie dies unter 3.5 oder 7.0 der Fall war.

Sub test()

Dim lResult As Long

    lResult = Application.Run("SAPLogon", "DS_1", "MANDANT", "BENUTZER", "PASSWORT", "SPRACHE")


End Sub

Sobald man sich nun aber den Designbereich einblendet kommt es zu folgendem Fehler:


Der Designbereich zeigt auch keine Felder mehr an:



Abhilfe schafft folgendes Coding, welches den Datenprovider einmal ausführt bzw. auffrischt:

Sub test()

Dim lResult As Long

    lResult = Application.Run("SAPLogon", "DS_1", "MANDANT", "BENUTZER", "PASSWORT", "SPRACHE")
    lResult = Application.Run("SAPExecuteCommand", "Refresh", "DS_1")


End Sub


Dieser Blog ist nun unter www.reyemsaibot.com erreichbar.

Donnerstag, 4. Dezember 2014

Business Warehouse Datenbanksperre aufheben

Stürzt der BEx Query Designer beim Erstellen oder Ändern einer Query ab, sperrt der bearbeitende Benutzer diese Query. Um eine solche Sperre zu entfernen ruft man die Transaktion sm12 auf und löscht den gewünschten Eintrag.

  1. Transaktion sm12 aufrufen
  2. Auflisten klicken
  3. Gewünschten Eintrag auswählen
  4. Löschen klicken


Liste von Datenbanksperren
Liste von Datenbanksperren


Dieser Blog ist nun unter www.reyemsaibot.com erreichbar.



Mittwoch, 3. Dezember 2014

SAP BusinessObjects Analysis for Office Funktion Rückgängig

Es gibt eine Menge neuer Funktionen seit der 1.4 von Analysis for Office. Demnächst soll laut dem offiziellen Analysis Blog auch die Version 2.0 erscheinen.

Wie man jetzt schon sieht, ist die Rückgängig/Wiederherstellen Funktion von Analysis for Office um einiges umfangreicher als in der guten alten BEx Suite. Es ist nun möglich mehrere Schritte auf einmal zurückzugehen und diese durch Wiederherstellen zu widerrufen.


Viele Schritte Rückgängig machen

Der Punkt Wiederherstellen wird aber erst aktiv, wenn man einen Schritt rückgängig gemacht hat.

Montag, 1. Dezember 2014

SAP Business Warehouse DataSource replizieren

Ab und zu ist es notwendig DataSourcen aus anderen SAP Systemen erneut zu replizieren, z.B .wenn sich die DataSource im Quellsystem geändert hat. Um eine Datasource zu replizieren, ruft man die Transaktion rsa1 auf.

  1. Transaktion rsa1 aufrufen
  2. Gewünschte Infosource suchen
  3. Rechtsklick auf die Infosource und DataSource replizieren anklicken
  4. DataSource ändern und aktiveren
  5. DataSource erneut replizieren

Nun kann die DataSource als Quelle verwendet werden.

Dienstag, 25. November 2014

SAP Business Warehouse Query Lesemodus


Lesen aller Daten

Vorteile:

  • Query-Navigation nach Erstaufruf sehr schnell, da Daten komplett im OLAP-Cache vorliegen
Nachteile:

  • Erstaufruf langsam
  • Verwendung von Merkmalsaggregaten stark eingeschränkt
  • Großer Speicherbedarf im OLAP-Cache

Empfehlung:

  • Verwendung des Lesemodus nur bei kleinen InfoCubes
  • Verwendung des Lesemodus nur in Querys mit wenigen freien Merkmalen

Nachlesen der Daten

Vorteile:
  • Gute Trefferquote bei Merkmalsaggregaten
  • Schnelle Antwortzeiten bei kleinen Hierarchien 
Nachteile:

  • Wartezeit bei weiteren Aufrufen erforderlich, wenn Selektion nicht identisch mit Erstaufruf

Empfehlung:
  • Verwendung des Lesemodus bei kleinen Hierarchien
  • Verwendung des Lesemodus bei großen Ergebnismengen

Nachlesen der Daten beim Expandieren einer Hierarchie

Vorteile:
  • Erstaufruf der Query schnell, da nur die notwendigen Daten selektiert werden

Nachteile:
  • Selektiert die geringste Menge an Daten im Erstaufruf, deshalb Lesezugriff auf Datenbank bei geänderter Navigation erforderlich

Empfehlung:
  • Verwendung des Lesemodus bei Hierarchieaggregaten erforderlich

Dienstag, 18. November 2014

Öffnen einer BEx Arbeitsmappe

Möchte man automatisiert auf eine SAP BEx Arbeitsmappe zugreifen, so gibt es dafür sowohl in 7.0 als auch in 3.5 einen VBA Befehl.


In 7.0 lautet der Befehl für den BEx Analyzer


Application.Run "BExAnalyzer.xla!SAPBEXreadWorkbook", "7JKJM2XEH70HCSWDHEFB21RM5"

wobei 
"7JKJM2XEH70HCSWDHEFB21RM5" die ID des Workbooks ist. In 3.5 lautet der Befehl 

Application.Run "sapbex.xla!SAPBEXreadWorkbook", "7JKJM2XEH70HCSWDHEFB21RM5"








Samstag, 8. November 2014

Quellcode aus Textdatei laden


Möchte man Quellcode aus einer Textdatei als Makro importieren, gibt es dafür folgenden Quellcode.

Quellcode aus Textdatei laden

Donnerstag, 23. Oktober 2014

Prozesskette per VBA starten

Wenn man eine Prozesskette starten möchte und dies nicht im Business Warehouse erledigen möchte, kann man dies mit folgenden VBA-Code erledigen.

Private Sub PK_Start()

Dim FUBA_PK As Object                      'Variable für Funktionsbaustein
Dim T_I_Options As Object                  'Variable für rfc_read_table Optionen
Dim T_I_Fields As Object                   'Variable für rfc_read_table Felder
Dim T_E_Data As Object                     'Variable für rfc_read_table Daten
Dim retn As Boolean                        'Variable für Rückgabewert des Funktionsbausteins

'Funktionsbaustein Prozessketten starten
Set FUBA_PK = R3.Add("RSPC_CHAIN_START")
With FUBA_PK
    .exports("I_CHAIN") = "TECHNISCHER_NAME_DER_PROZESSKETTE" 'Auszuführende Prozesskette
End With

'Ausführen des Funktionsbausteins
retn = FUBA_PK.Call

Set T_E_Data = Nothing
Set T_I_Fields = Nothing
Set T_I_Options = Nothing

End Sub


Mittwoch, 22. Oktober 2014

Eigenen Funktionsbaustein in VBA verwenden

Wenn man einen eigenen Funktionsbaustein angelegt hat, kann man diesen mit folgendem VBA-Code verwenden. 

Sub Funktionsbaustein()

'Variablen Definition
Dim MyFunc As Object
Dim E_INSERTED As Object
Dim E_MODIFIED As Object
Dim DATA As Object

Set MyFunc = R3.Add("Z_RSDRI_UPDATE_LCP") 'Name des Funktionsbaustein im SAP BW
Set E_INSERTED = MyFunc.imports("E_INSERTED") 'Name der Insert-Funktion im SAP BW
Set E_MODIFIED = MyFunc.imports("E_MODIFIED") 'Name der Update-Function im SAP BW

Set DATA = MyFunc.tables("I_T_DATA") 'In dieser Tabelle werden die Daten gespeichert, die im Funktionsbaustein unter Imports stehen

'Daten Zuweisung
DATA.Rows.Add 'Neue Datenzeile einfügen
DATA.Value(1, 1) = Tabelle1.Cells(1, 10).Value 'Zuweisung der Zelle aus Excel auf das erste Datenobjekt laut Funktionsbaustein

'Ausführen der Insert und Modify Funktion
Result = MyFunc.CALL

'Rückmeldung an den Benutzer
If Result = True Then
    MsgBox "Eingefgte Sätze: " & E_INSERTED.Value & " Geänderte Sätze: " & E_MODIFIED.Value & " Ignorierte Sätze: " & ignoriert, vbInformation
Else
    MsgBox MyFunc.EXCEPTION 'Fehlermeldung
End If

End Sub


Montag, 15. September 2014

Benutzerliste nach Anmeldedatum

Ab und zu möchte man wissen, welche Benutzer auf einem Business Warehouse System angelegt sind und ob diese noch Zugriff haben bzw. sich durch Falscheingaben gesperrt haben. Dafür gibt es die Transaktion rsusr200, dort sieht man den letzten Login, Gültigkeit des Benutzers usw.


  1. Transaktion rsusr200 aufrufen
  2. Ausführen
  3. Liste von allen Benutzern nach Anmeldedatum erscheint



Dieser Blog ist nun unter www.reyemsaibot.com erreichbar.

Freitag, 12. September 2014

Berechtigungsprüfung


Möchte man die Rechte eines Benutzers prüfen, gibt es dafür die Transaktion su53. 
  1. Transaktion su53 aufrufen
  2. Benutzer auswählen
  3. Ausführen

Freitag, 5. September 2014

Alle inaktiven Transformationen aktivieren

Möchte man in einem SAP BW System mehr als eine Transformation aktivieren, gibt es dafür ein ABAP Programm namens "RSDG_TRFN_ACTIVATE".

  1. Transaktion se38 aufrufen
  2. Programm "RSDG_TRFN_ACTIVATE" ausführen 


Aufbau der Fakten- und Dimensionstabellen anzeigen

Möchte man den Aufbau eines InfoCubes sich näher anschauen, so gibt es verschiedene Wege im SAP BW. Ein möglicher Weg sich den Aufbau der Fakten und Dimensionstabellen anzeigen zu lassen, ist die Transaktion listschema.
  1. Transaktion listschema aufrufen
  2. Typ des InfoCubes auswählen
  3. InfoCube auswählen
  4. Ausführen