BEX Historie

Die BEx Historie für Merkmalsausprägungen scheint auf 20 Werte beschränkt zu sein. Die Ausprägungen selbst stehen in Tabelle RSVHSVALUESET zum jeweiligen Merkmal.

Die Klasse CL_RSMD_PERS bzw. die Methode IF_RSMD_PERS~SAVE_VHS_HISTORY_SET dient dem Schreiben der Historie und folgendes Statement scheint die Anzahl an Datensätzen zu steuern:

l_standard_count type value 20.

Wenn man die 20 z.B. in 40 ändert, sind auch 40 Werte in der Historie bzw. in der Tabelle im BW. Optimal ist eine Anpassung jedoch nicht, da man eine Änderung nur via Modifikation erreichen kann.

Der BEx bzw. Query-Designer schreibt jedoch immer nur die letzten/neuesten 20 Werte ins BW zurück, das scheint eine Einstellung im Query-Designer zu sein.

Die Methode IF_RSMD_PERS~GET_VHS_PERS_VALUE_SET dient dem Lesen der Historie aus BW und hier werden alle Werte gelesen, egal wie viele in der Datenbank stehen.

Wer sein Glück dennoch mit einer Modifikation versuchen möchte, könnte sich am User einen neuen Parameter ausdenken und via FM susr_user_parameters_get auslesen und die Variable l_standard_count damit User-abhängig aussteuern.

Testdaten in Cube erzeugen

Mittels Programm CUBE_SAMPLE_CREATE können Testdaten für einen Cube erzeugt werden. Möglich ist die Erzeugung anhand von Stammdaten, per Zufall (generierte Werte) und via ALV-Eingabe (man pflegt selbst die gewünschten Ausprägungen).

Weiterhin kann die Anzahl zu generierender Werte festgelegt werden, die Ausführung kann im Vordergrund oder Hintergrund erfolgen.

BI-IP: SAP Vorlage-Klassen Merkmalsbeziehungen, Datenscheiben, Pl.funkt.

Merkmalsbeziehungen: Die Exit-Klasse muss das Interface ‚IF_RSPLS_CR_EXIT‘ implementieren; in der Pflege werden nur solche Klassen zur Bearbeitung angeboten. Empfolen wird, die eigene Klasse von der Beispielklasse ‚CL_RSPLS_CR_EXIT_BASE‘ abzuleiten. Es müssen nur die Methoden ‚CHECK‘, ‚DERIVE‘ und ggf. ‚CREATE‘ implementiert werden. Die Klasse ‚CL_RSPLS_CR_EXIT_BASE‘ selbst ist direkt lauffähig, führt jedoch noch keine Aktion aus.

siehe http://help.sap.com/saphelp_nw70ehp2/helpdata/de/43/1c3d0f31b70701e10000000a422035/content.htm

Datenscheiben: Die Exit-Klasse muss das Interface ‚IF_RSPLS_DS_EXIT‘ implementieren; in der Pflege werden nur solche Klassen zur Bearbeitung angeboten. Empfolen wird, dass die Kundenklasse von der Vorlageklasse ‚CL_RSPLS_DS_EXIT_BASE‘ erbt. Die Vorlageklasse selbst ist direkt lauffähig, führt jedoch noch keine Aktion aus. Reimplementieren werden muss die Methode ‚IS_PROTECTED‘.

siehe http://help.sap.com/saphelp_nw70ehp2/helpdata/de/43/1c3d3f31b70701e10000000a422035/content.htm

Planungsfunktions(typen): IF_RSPLFA_SRVTYPE_IMP_EXEC IF_RSPLFA_SRVTYPE_IMP_EXEC_REF Das letztgenannte Interface ist relevant, wenn Referenzdaten benötigt werden. Die Implementierung der Methoden der genannten Interfaces ist optional, mit Ausnahme der Methode EXECUTE. Zusätzlich kann die Klasse spezifische Prüfmethoden implementieren, welche zur Laufzeit ausgeführt werden. Diesem Zweck dient das Interface IF_RSPLFA_SRVTYPE_IMP_CHECK.

siehe http://help.sap.com/saphelp_nw70ehp2/helpdata/de/43/332530c1b64866e10000000a1553f6/content.htm

Syntax-Fehler Formel Fox nach Upgrade

Syntax-Fehler Formel Fox nach Upgrade

Ab SAPKW73102 bzw. SAPKW73005 haben sich die Übergabe-Parameter für Formel-Fox-Formeln geändert und nach einem Upgrade auf diese bzw. höhere Package-Stände kann es somit in den generierten Programmen zu Syntax-Fehlern kommen.
Via Funktionsbaustein müssen die alten generierten Programme gelöscht werden. Erzeugt werden die Programme automatisch beim ersten Start.

Siehe: Hinweis 1716329 – Planungsfunktion Formel: Syntaxfehler in generierten Program

Löschen Sie die generierten FOX Programme
a) im Kontext ‚Integrierte Planung (IP)‘
Führen Sie mit der Transaktion SE37 den Funktionsbaustein RSPLR_GENREP_DELETE_ALL mit dem Importparameter I_APPLCLASS = ‚FUNC1‘ aus. Der Funktionsbaustein löscht alle generierten FOX Programme.

Alternativ können Sie auch die syntaktisch falschen Programme einzeln mit dem Funktionsbaustein RSPLSR_GENREP_DELETE löschen, indem der Funktionsbaustein mit den Importparametern I_APPLCLASS = ‚FUNC1‘ und I_REPORTNAME = ‚…‘ (Name des Programms mit Syntaxfehler) ausgeführt wird.

b) im Kontext ‚Business Planning and Simulation (BPS)‘
Führen Sie mit der Transaktion SE80 oder SE38 den Report UPC_GREPCATD aus. Der Report UPC_GREPCATD löscht alle generierten Programme vom BPS Reportkatalog und schreibt sie in die Tabelle UPC_GREPOBS der obsoleten Programme. Mit dem Report UPC_GREPOBSDEL können die obsoleten Programme anschließend physikalisch gelöscht werden.

 

wichtige Tabellen (tbc)

Tabelle Bezeichnung Inhalt Thema
RSPLF_SRV Planungs-Service Planungsfunktionen und deren InfoProvider/Typ BI-IP
RSPLF_SRV_COND Regelbedingung im Planungs-Service Planungsfunktionen Bedingungen BI-IP
RSPLF_SRV_CU Merkmalsverwendung Planungsfunktionen Merkmalsverwendungen BI-IP
RSPLF_SRV_P Parameterwert (elementarer Typ) Planungsfunktionen Parameterwerte/FormelFox Code BI-IP
RSPLF_SRV_PS Parameterwert (Typ Selektion) Planungsfunktionen Selektionen der Parameterwerte (auch welche Variable hinterlegt) BI-IP
RSPLF_SRVT Texttabelle für Planungs-Service Planungsfunktionen (Texte) BI-IP
RSPLF_SRVTYPE Definition Planungs-Servicetyp Planungsfunktionen vorhandene Typen BI-IP
RSPLF_SRVTYPE_D Dialoginformationen Planungsfunktionen vorhandene Typen (Parameter/Merkmalsverwendung) BI-IP
RSPLF_SRVTYPE_P Parameterdefinition für Planungs-Servicety Planungsfunktionen Parameterdefinition/Infoobjekte BI-IP
RSPLF_SRVTYPE_PT Texttabelle für Parameterdefinition Planungsfunktionen Parameterdefinition/Infoobjekte (Texte) BI-IP
RSPLF_SRVTYPET Texttabelle für Definition Planungs-Service Planungsfunktionen und deren InfoProvider/Typ BI-IP
RSPLPPM_ADD_SET Flags im PPM Planungsfunktionen vorhandene Typen (Texte) BI-IP
RSPLS_ALVL Planung: Primartabelle Aggregationsebenen Aggregationsebenen auf InfoProvidern BI-IP
RSPLS_ALVL_IOBJ Planung: Aggregationsebene InfoObjects Aggregationsebenen und deren InfoObjects BI-IP
RSPLS_ALVLT Planung: Texttabelle Aggregationsebenen Aggregationsebenen auf InfoProvidern (Texte) BI-IP
RSPLS_CHAS_LOCK Planung: Sperr-relevante Merkmale pro Info BI-IP
RSPLS_CR_HEAD Merkmalsbeziehungen: Kopftabelle BI-IP
RSPLS_CR_PROP Merkmalsbeziehungen: Einstellungen BI-IP
RSPLS_CR_RANGE Merkmalsbeziehung: Range (z.B. für DataSto BI-IP
RSPLS_CR_ROLE Merkmalsbeziehungen: Rollen der Merkmale BI-IP
RSPLS_CR_STEPS Relationen zwischen Merkmalen eines Basisp BI-IP
RSPLS_DS Datenscheiben BI-IP
RSPLS_DS_FIELD Datenscheiben: Infoobjekte mit Einschränkungen BI-IP
RSPLS_DS_HEAD Datenscheiben: Kopftabelle BI-IP
RSPLS_DS_RANGE Datenscheiben: Selektion BI-IP
RSPLS_DST Texttabelle: Datenscheiben BI-IP
RSPLS_J2EE_URL Planung: J2EE-Installation für den Modelle BI-IP
RSPLS_LOCK_METHS Aktive Sperr-Methode BI-IP
RSPLS_REPCAT Verzeichnis generierter Reports BI-IP
RSPLS_SEQUENCE Planungs-Sequenz Planungssequenzen BI-IP
RSPLS_SEQUENCE_S Planungs-Schritte Planungssequenzen und deren Schritte BI-IP
RSPLS_SEQUENCET Texte für Planungs-Sequenzen Planungssequenzen (Texte) BI-IP
RSPLF_FDIR Funktionsbausteine hinterlegen für Planungsfunktionen BI-IP
AGR_DEFINE Definition Rollen AUTH
AGR_PROF Profilname zur Rolle AUTH
AGR_USERS Zuordnung Rollen zu Benutzern AUTH
AGR_TEXTS Langtexte zu Rollen AUTH
AGR_1251 Berechtigungsdaten zur Aktivitäsgruppe AUTH
AGR_1252 Orgebenen zu den Berechtigungen AUTH
AGR_TIME Zeitstempel zur Rolle (Menü, Profil, Berechtigungen) AUTH
AGR_FLAGS Attribute an der Rolle AUTH
RSECVAL Berechtigungen Werte Zustand Ausprägungen Analyseberechtigungen AUTH
RSECVAL_CL Berechtigungen Werte Änderung (ChangeLog) Changelog Analyseberechtigungen AUTH
RSECHIE Berechtigungen Hierarchien Zustand Ausprägungen Analyseberechtigungen via Hierarchie AUTH
RSECUSERAUTH BI AS Berechtigungen: Zuordnung User Auth direkt zugeordnete Analyseberechtigungen zum User AUTH

Eliminierung von Nullwerten aus/im Infocube

Bei relationalen Infocubes hat man die Möglichkeit die Daten zu komprimieren. Hierbei werden „schlüsselgleiche“ Werte „aggregiert“ in die komprimierte Faktentabelle (E) geschrieben. Eine zusätzliche Option ist die Eliminierung von Nullwerten. Damit werden jedoch nur die Nullwerte gelöscht, die im Rahmen der Komprimierung entstehen.

So man auch alle anderen Nullwerte (auch aus den genutzten Aggregaten) löschen möchte, empfiehlt sich das Programm RSCDS_NULLELIM.

Weiterhin interessant und wichtig ist das Bereinigen der Dimensionstabellen des Infocubes, nachdem Nullwerte eliminiert wurden, da es dadurch mit Sicherheit alte/ungenutzte Dimensionseinträge geben wird. Dies kann mittels Transaktion RSRV (Bewegungsdaten – nicht verwendete Einträge in den Dimensionen eines InfoCubes) erfolgen. So man den Schritt automatisch im Rahmen einer Prozesskette laufen lassen möchte, empfiehlt sich ein kleines Programm, welches den Funktionsbaustein RSRDR_DIM_REMOVE_UNUSED implementiert. Theoretisch ist nur der gewünschte Infocube mitzugeben.