Di seguito è riportata una riga di comando di esempio per l'esecuzione dell'utility Outline Load con l'utilizzo del file myprop_relational.properties
(illustrato più avanti) come input.
OutlineLoad /CP:c:/myprop_relational.properties
Il file consentirà di importare i membri conto dall'applicazione PS2ORAU
, indicata nei parametri di connessione JDBC, in un'applicazione denominata Test_300
. Il file delle proprietà può contenere diverse query relazionali. Il parametro /RIQ
determina quale query sarà eseguita dall'utility Outline Load.
Per una descrizione del parametro /RIQ
, fare riferimento alla sezione Parametri della riga di comando per la utility Outline Load.
Esempio 5-1 Esempio: il file 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
Nell'esempio seguente è presente una dimensione attributo, utilizzata sia nell'applicazione di origine che in quella target, il cui nome contiene più di 30 caratteri, Size012345678901234567890123456789, e che pertanto supera il limite per l'intestazione di colonna di Oracle. La query nell'esempio seguente consente di creare un set di risultati dell'origine che deve essere importato nell'applicazione target. Alla colonna con il nome della dimensione troppo lungo verrà assegnato l'alias O.OBJECT_NAME per consentire a OLU di utilizzare questa colonna come nome della dimensione attributo.
Esempio 5-2 Esempio: file delle proprietà per l'importazione da un'origine dati relazionale in un'applicazione Planning
/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
Esempio 5-3 Esempio: file delle proprietà per l'importazione con alias da un'origine dati relazionale in un'applicazione Planning
/A:expe /U:admin /IRA /D:Entity /C2A:(Member as Entity,anotherReallyLongAliasForAColumnNameItsForEntityThisTimeDifferentFromExport), (Parent, anotherAliasForParent) /RIQ:select anotherReallyLongAliasForAColumnNameItsForEntityThisTimeDifferentFromExport, Parent from test
Considerare le condizioni riportate di seguito in relazione all'esempio precedente.
La tabella "Test" contiene due colonne, Member e Parent, e una voce:
Nella dimensione entità è presente un membro, e1
, sotto la radice (Entity).
Dopo aver eseguito la query precedente, nella dimensione entità viene aggiunto o aggiornato il membro Ex.
Durante l'importazione, gli alias delle colonne vengono gestiti come una semplice sostituzione di stringa, motivo per il quale la clausola "as" in questo caso può funzionare. Se il nome della colonna Member fosse stato Entity, la clausola "Member as" sarebbe stata superflua.
Esempio 5-4 Esempio: utilizzo del parametro /C2A
per l'importazione di alias in una tabella di alias
/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)
Nota:
Nell'esempio precedente, sia l'applicazione Oracle Hyperion Planning target che l'origine contengono un nome di tabella di alias lungo.
Esempio 5-5 Esempio: utilizzo del parametro /C2A
per mappare i nomi di colonna sui nomi di proprietà
/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))