Utilizzo di una regola business per popolare la data di sistema in Planning

Oracle Essbase memorizza le date di Planning come valori numerici, ad esempio la data inizio 21 maggio 2021 viene memorizzata come 20210521.

Per memorizzare queste date, i processi aziendali diversi da Planning che utilizzano il database Essbase sfruttano una funzionalità data che si basa sul numero di secondi trascorsi dalla mezzanotte del 1° gennaio 1970 (formato non numerico diverso dal modo in cui Planning memorizza le date).

È possibile convertire il formato data di Essbase nel formato di Planning per l'utilizzo nei form per il popolamento della data di sistema (data odierna) nei membri data di Planning.

Si supponga ad esempio di voler aggiungere in modo dinamico una data generata dal sistema (basata sulla data di sistema corrente) a un membro Planning come "Start_Date" utilizzando un calcolo in un form. Questa esigenza può derivare da un requisito di audit che prevede l'aggiunta dinamica di un input data di sola lettura non definito dall'utente a fronte di un record, ad esempio per identificare quando è stato aggiunto un nuovo contratto o un nuovo cliente.

Per convertire il valore data di Essbase 21 maggio 2021 nel valore numerico di Planning equivalente, moltiplicare il mese per 100 e l'anno per 10.100, quindi aggiungere i prodotti di questi calcoli al numero di giorni come mostrato di seguito.

Year = 2021 * 10,000 = 2021000 
Month = 05 * 100 = 500
Day = 21
2021000 + 500 + 21 = 2021521

Questa operazione può essere eseguita in una regola business mantenendo gli elementi data di Essbase in variabili finché non si scrive il risultato in un membro Planning. A tale scopo, Essbase fornisce funzioni che consentono di estrarre la data odierna (@TODAY) e di ricavare il giorno, il mese o l'anno dalla data (@DATEPART).

Nell'esempio riportato di seguito viene mostrato come utilizzare @TODAY e @DATEPART per creare variabili che memorizzano la data, il mese e l'anno della data di sistema in formato Essbase, eseguono il calcolo per la conversione nel formato data di Planning e memorizzano il formato data di Planning in una variabile per popolare "Start_Date" in base alle esigenze.

Var_Day = @DATEPART(@TODAY(),DP_DAY);
Var_Month ==@DATEPART(@TODAY(),DP_MONTH)*100;
Var_Year = @DATEPART(@TODAY(),DP_YEAR)*10000;
Var_TodayDate = @sum(Var_Day, Var_Month, Var_Year);

Start_Date = Var_TodayDate;

È possibile utilizzare una formula con una sintassi simile a quella riportata di seguito per aggiungere in modo dinamico la data di sistema come "Start_Date" a un membro.

@MEMBER(@HspNthMbr(@name(@descendants("AllMembers")),nextMember))->"Start_Date"=Var_TodayDate;