Nachfolgend ist eine Beispielbefehlszeile für die Ausführung des Outline Load-Utilitys mit der Datei myprop_relational.properties
(Details dazu weiter unten) als Eingabe angegeben:
OutlineLoad /CP:c:/myprop_relational.properties
Mit der Datei werden Kontoelemente aus der Anwendung PS2ORAU
, die in den JDBC-Verbindungsparametern angegeben sind, in eine Anwendung mit dem Namen Test_300
importiert. Die Eigenschaftendatei kann mehrere relationale Abfragen enthalten. Der Parameter /RIQ
legt fest, welche Abfrage vom Outline Load-Utility ausgeführt wird.
Eine Beschreibung von /RIQ
finden Sie unter Befehlszeilenparameter für das Outline Load-Utility.
Beispiel 5-1 Beispiel: Die Datei myprop_relational.properties
/A:Test_300 /U:admin /RIQ: ACCOUNT_QUERY /D:Account # ACCOUNT_QUERY=SELECT O.OBJECT_NAME as Account, (select object_name from hsp_object where object_id = O.PARENT_ID) as Parent from HSP_ACCOUNT A, HSP_MEMBER M, HSP_OBJECT O LEFT OUTER JOIN HSP_STRINGS S ON O.DESCRIPTION = S.STRING_SEQ WHERE O.OBJECT_ID=M.MEMBER_ID AND M.MEMBER_ID = A.ACCOUNT_ID AND M.MEMBER_ID <> M.DIM_ID ORDER BY O.POSITION # ENTITY_QUERY=SELECT O.OBJECT_NAME as Entity, (select object_name from hsp_object where object_id = O.PARENT_ID) as Parent from HSP_ENTITY E, HSP_MEMBER M, HSP_OBJECT O LEFT OUTER JOIN HSP_STRINGS S ON O.DESCRIPTION = S.STRING_SEQ WHERE O.OBJECT_ID=M.MEMBER_ID AND M.MEMBER_ID = E.ENTITY_ID AND M.MEMBER_ID <> M.DIM_ID ORDER BY O.POSITION ## jdbc connection /RIC:PS2ORAU /RIR:jdbc:oracle:thin:@[scl34390]:1521:orcl /RID:oracle.jdbc.OracleDriver /RIU:PS2ORAU /RIP:password #end myprop_relational.properties file
Im folgenden Beispiel gibt es sowohl in der Quell- als auch in der Zielanwendung eine Attribute-Dimension, deren Name mehr als 30 Zeichen umfasst, Size012345678901234567890123456789, und damit die Oracle-Beschränkung für Spaltenheader überschreitet. Mit der Abfrage im folgenden Beispiel wird ein Ergebnissatz aus der Quelle erstellt, der in die Zielanwendung importiert wird. Für den langen Dimensionsnamen muss Spalte O.OBJECT_NAME als Aliasname verwendet werden, damit das Outline Load-Utility diese Spalte als Namen der Attribute-Dimension verwenden kann.
Beispiel 5-2 Beispiel: Eigenschaftendatei für den Import aus einer relationalen Datenquelle in eine Planning-Anwendung
/A:TARGET /U:admin /IR /DA:Size012345678901234567890123456789:Entity /C2A:(OBJECT_NAME,Size012345678901234567890123456789) ATTRIB_DIM_VAL_QUERY_ORACLE1=SELECT O.OBJECT_NAME, (select object_name from PS3ORA.hsp_object where object_id = O.PARENT_ID) as Parent from PS3ORA.HSP_OBJECT O WHERE O.OBJECT_ID IN (select AM.ATTR_MEM_ID from PS3ORA.hsp_attribute_member AM, PS3ORA.HSP_OBJECT O where AM.ATTR_ID =(select OBJECT_ID from PS3ORA.hsp_object where OBJECT_NAME='Size012345678901234567890123456789')) ORDER BY O.POSITION
Beispiel 5-3 Beispiel: Eigenschaftendatei für den Import mit Aliasnamen aus einer relationalen Datenquelle in eine Planning-Anwendung
/A:expe /U:admin /IRA /D:Entity /C2A:(Member as Entity,anotherReallyLongAliasForAColumnNameItsForEntityThisTimeDifferentFromExport), (Parent, anotherAliasForParent) /RIQ:select anotherReallyLongAliasForAColumnNameItsForEntityThisTimeDifferentFromExport, Parent from test
Nehmen Sie für das vorherige Beispiel Folgendes an:
Die Tabelle "Test" besitzt zwei Spalten: "Member" und "Parent", mit jeweils einem Eintrag:
Die Entity-Dimension besitzt ein Element, e1
, unter der Root (Entity).
Nach dem Ausführen der vorherigen Abfrage, wird das Element "Ex" der Entity-Dimension hinzugefügt, oder die Entity-Dimension wird damit aktualisiert.
Beim Import werden die Aliasnamen für Spalten wie einfache Zeichenfolgenersetzungen behandelt. Deshalb funktioniert die "As"-Klausel in diesem Fall. Würde die Spalte nicht "Member", sondern "Entity" heißen, würden Sie "Member as" weglassen.
Beispiel 5-4 Beispiel: Parameter /C2A
für den Import von Aliasnamen in eine Aliastabelle verwenden
/A:TARGET /U:admin /IR /D:Entity /RIQ:ENT_ALIAS_ASSIGNMENT_QUERY /C2A:(AliasTableName, Alias: LongAliasTableName012345678901234567890123) ENT_ALIAS_ASSIGNMENT_QUERY=SELECT O.OBJECT_NAME as Entity, (select object_name from hsp_object where OBJECT_ID=O.PARENT_ID) as Parent, (select OBJECT_NAME from HSP_OBJECT where OBJECT_ID = AL.ALIAS_ID) as AliasTableName from hsp_object O, HSP_ALIAS AL where (AL.ALIASTBL_ID = (select OBJECT_ID from HSP_OBJECT where OBJECT_NAME =' LongAliasTableName012345678901234567890123') AND O.OBJECT_ID=AL.MEMBER_ID)
Hinweis:
Im vorherigen Beispiel enthalten sowohl die Oracle Hyperion Planning-Zielanwendung als auch die Quelle einen langen Aliastabellennamen.
Beispiel 5-5 Beispiel: Parameter /C2A
für die Zuordnung von Spaltennamen zu Eigenschaftennamen verwenden
/RIQ:select c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13,c14,c15,c16,c17,c18,c19,c20,c21,c22,c23,c24,c25,c26,c27 from table28 /c2a:(c1, Account), \ (c2, Parent), \ (c3, Alias: Default), \ (c4, Valid For Consolidations), \ (c5, Data Storage), \ (c6, Two Pass Calculation), \ (c7, Description), \ (c8, Formula), \ (c9, UDA), \ (c10, Smart List), \ (c11, Data Type), \ (c12, Hierarchy Type), \ (c13, Enable for Dynamic Children), \ (c14, Number of Possible Dynamic Children), \ (c15, Access Granted to Member Creator), \ (c16, Account Type), \ (c17, Time Balance), \ (c18, Skip Value), \ (c19, Exchange Rate Type), \ (c20, Variance Reporting), \ (c21, Source Plan Type), \ (c22, Plan Type (Plan1)), \ (c23, Aggregation (Plan1)), \ (c24, Plan Type (Plan2)), \ (c25, Aggregation (Plan2)), \ (c26, Plan Type (Plan3)), \ (c27, Aggregation (Plan3))