Introduzione

Questa esercitazione mostra diversi modi per generare script di calcolo mirati in Oracle EPM Cloud Planning per calcolare solo i dati modificati invece dell'intero form d'inserimento dati.

Presupposto

Il modello a oggetti Groovy EPM consente di determinare quali celle di una griglia di immissione dati sono state modificate e quindi di generare un calcolo Essbase mirato per calcolare solo i membri interessati dall'immissione dei dati.

In questa esercitazione viene utilizzato un dashboard Analisi volume prodotto. Il formato superiore, Volume prodotto, acquisisce il volume di vari prodotti in periodi mensili. Nel modulo inferiore, Fatturato prodotto, vengono visualizzati i ricavi per i vari prodotti. Quando si modifica il form superiore, si desidera che i ricavi vengano calcolati nel form inferiore solo per i prodotti modificati.

Dashboard analisi volume prodotto

Questo tutorial è in tre parti e copre tre diversi modi per calcolare i prodotti modificati:

  1. Generazione ed esecuzione di uno script di calcolo con stato attivo
  2. Creazione di uno script Groovy che esegua un job di calcolo esistente
  3. Generazione ed esecuzione di uno script di calcolo con focus, quindi ritorno allo script Groovy per un'ulteriore valutazione

Prerequisiti

Le esercitazioni pratiche su Cloud EPM potrebbero richiedere l'importazione di uno snapshot nell'istanza di Cloud EPM Enterprise Service. Prima di poter importare uno snapshot dell'esercitazione, è necessario richiedere un'altra istanza di Cloud EPM Enterprise Service o rimuovere l'applicazione e il processo aziendale correnti. Lo snapshot dell'esercitazione non verrà importato nell'applicazione o nel processo aziendale esistente, né sostituirà o ripristinerà automaticamente l'applicazione o il processo aziendale in uso.

Prima di iniziare questo tutorial, è necessario:

  • Consente all'amministratore dei servizi di accedere a un'istanza di Cloud EPM Enterprise Service.
  • Caricare e importare questo snapshot nell'istanza di Planning. Se lo snapshot è stato caricato in precedenza per un'altra esercitazione Groovy, è possibile continuare a utilizzare la stessa istantanea.

Nota

Se si verificano errori di migrazione durante l'importazione dello snapshot, eseguire di nuovo la migrazione escludendo il componente HSS-Shared Services e gli artifact delle preferenze di sicurezza e utente nel componente Core. Per ulteriori informazioni sul caricamento e l'importazione degli snapshot, fare riferimento alla documentazione Amministrazione della migrazione per Oracle Enterprise Performance Management Cloud.

Suggerimento

Gli script necessari per questa esercitazione sono collegati come file di testo all'interno di ciascuna sezione.

Impostazione dell'ambiente di pianificazione

Impostazione delle variabili utente in Planning

In primo luogo, è necessario impostare le variabili utente necessarie per utilizzare il dashboard Analisi volume prodotto.

  1. Nella Home page, fare clic su Strumenti, quindi selezionare Preferenze utente.
  2. Preferenze utente
  3. Selezionare la scheda Variabili utente.
  4. Immettere le seguenti definizioni di variabile:
  5. Variabile utente Membri
    Valuta di reporting USD
    Valuta USD
    Entità Vendite USA
    Scenario OEP_Plan
    Version OEP_Working

    Variabili utente selezionate

  6. Fare clic su Salva. Nel messaggio di conferma fare clic su OK, quindi tornare alla home page.

Importazione delle variabili per i prompt runtime in Planning

Successivamente, si importano le variabili di calcolo nel cubo OEP_FS per supportare i prompt runtime (RTP) utilizzati in seguito in questa esercitazione.

  1. Fare clic con il pulsante destro del mouse sul collegamento HP4_OEP_FS_Variables.xml e salvare il file nell'unità locale.
  2. In alto a sinistra, fare clic su Icona Navigator Navigator e passare a Regole (in Crea e gestisci) per aprire Gestione calcoli. Nella Vista sistema espandere EPM Cloud > HP4. Fare clic con il pulsante destro del mouse su OEP_FS e selezionare Importa.
  3. In Dettagli importazione file, individuare e selezionare HP4_OEP_FS_Variables.xml dall'unità locale.
  4. In Dettagli ubicazione effettuare le selezioni riportate di seguito.
    • Tipo di applicazione: EPM Cloud
    • Applicazione: HP4
    • Cubo: OEP_FS
  5. In Opzioni di importazione selezionare Sostituisci oggetti esistenti.
    Importa variabili
  6. Fare clic su Importa. Rivedere i risultati dell'importazione, ad esempio Aggiornato o Inserito, quindi fare clic su OK.
    Risultati dell'importazione
  7. Fare clic su Annulla per chiudere la finestra di dialogo Importa.

Generazione di uno script di calcolo con focus per i prodotti modificati

In questa sezione è possibile implementare uno script Groovy in Planning per calcolare i ricavi prodotto per i prodotti modificati.

Creazione dello script Groovy

  1. In Calculation Manager, creare una regola denominata Groovy Calcola fatturato prodotto nel tipo di piano OEP_FS.
  2. Nuovo oggetto
  3. Nell'editor regole, modificare l'opzione Designer in Modifica script e impostare il tipo di script su Script Groovy.
  4. Opzioni editor regole
  5. Copiare lo script e incollarlo nell'editor:
  6. // Capture the edited periods and products
    Set<String> editedMembers = [] 
    operation.grid.dataCellIterator({DataCell cell -> cell.edited}, MemberNameType.ESSBASE_NAME).each {
    DataCell cell ->
            editedMembers << cell.periodName << cell.getMemberName("Product") 
        }
    
    if(editedMembers.size() == 0){ 
        println("No edited cells found!")
        return;
    }
    
    // Generate the calc script to calculate revenue for the products whose volume was edited
    String calcScript = """ 
    Fix(${cscParams(operation.grid.pov, editedMembers)})  
    "OFS_Calculated"
    (
       "OFS_Product Revenue" = "OFS_Volume" * "OFS_Avg Selling Price";
    )
    EndFix;""" 
    
    println("The following calc script was executed by $operation.user.fullName: \n $calcScript") 
    return calcScript.toString() 
    

    Definire una serie per acquisire membri modificati univoci.

    Acquisisce i membri modificati.

    Controlla se alcuni membri sono stati modificati. Se nessuno è stato modificato, non è richiesta alcuna ulteriore elaborazione, quindi tornare dallo script.

    Generare uno script di calcolo per calcolare il fatturato prodotto per le celle modificate fissando i membri POV e i membri modificati.

    Nota

    L'API cscParams() è una utility che restituisce un valore stringa con ciascuno degli elementi specificati appiattiti, racchiusi tra virgolette e separati da una virgola. La stringa restituita da questo metodo può essere collegata a un comando dello script di calcolo Essbase come parametri.

    Stampa un messaggio che indica l'utente che ha eseguito la regola e lo script di calcolo generato.

    Restituisce lo script di calcolo, che verrà quindi eseguito.

  7. Nella barra degli strumenti fare clic su Salvare (Salva) per salvare lo script, quindi fare clic su ValidateAndDeploy (Convalida e distribuisci) per convalidare e distribuire lo script. Quando richiesto, fare clic su OK. Lasciare aperta la finestra Gestione calcoli.

Aggiunta della regola a una maschera Planning

In questa sezione è possibile aggiungere la regola script Groovy al form Volume prodotto, da eseguire dopo il salvataggio.

  1. Selezionare la finestra Pianificazione e, dall'alto a sinistra, fare clic su Icona Navigator Navigator e passare a Form (in Crea e gestisci). Selezionare il form Volume prodotto.
  2. Form manager
  3. Modificare il modulo. Aggiungere la regola Calcola fatturato prodotto Groovy e impostarla su Esegui dopo il salvataggio. Salvare la maschera e chiudere la finestra Gestione maschera.
  4. Esegui dopo salvataggio

Test della regola di calcolo con stato attivo

In questa sezione è possibile eseguire il test della regola Groovy modificando i dati nel dashboard Analisi volume prodotto.

  1. Nella home page, fare clic su Dashboard. Aprire il dashboard Analisi volume prodotto.
  2. Dashboard analisi volume prodotto
  3. Per Envoy Standard Notebook, modificare il volume del prodotto per gennaio. Per Ultra notebook 13 in, modificare il volume del prodotto per marzo. Salvare il form (non il dashboard).
  4. Salvare il form Volume prodotto.
  5. Per chiudere il messaggio informativo, fare clic su OK. Le modifiche si riflettono nel modulo Ricavi prodotto.
  6. Le modifiche si riflettono nel form Fatturato prodotto.
  7. Chiudere il dashboard. Passare a OdL (in Applicazione) e selezionare il processo Calcola fatturato prodotto Groovy.
  8. Job visualizzati in Console job.
  9. Il messaggio di log per il job completato identifica l'utente che ha eseguito la regola e lo script di calcolo generato. Dopo aver visualizzato i dettagli del job, chiudere la finestra e tornare alla Home page.
  10. Messaggio log per il job.

Esecuzione di un job di calcolo con uno script Groovy

In questa sezione vengono creati due script Groovy: uno per calcolare il fatturato prodotto per i membri modificati in un form e un secondo per eseguire un job di calcolo che esegue il primo calcolo. Il secondo script viene allegato al form ed eseguito al salvataggio dei dati, mentre il primo script utilizza gli RTP per acquisire i membri modificati passati al form dal secondo script. L'offload del calcolo in una regola standalone richiamata da un'altra regola consente di gestire, testare e riutilizzare il codice in modo efficiente.

Creazione di uno script Groovy per i calcoli con stato attivo mediante prompt runtime

  1. Selezionare la finestra Gestione calcoli e creare una regola denominata RTP calcolo ricavi prodotto Groovy nel tipo di piano OEP_FS.
  2. Nuovo oggetto
  3. Nell'editor regole, modificare l'opzione Designer in Modifica script e impostare il tipo di script su Script Groovy.
  4. Opzioni editor regole
  5. Copiare lo script e incollarlo nell'editor:
  6. /*RTPS: {editedMembers}*/ 
    String calcScript = """Fix($rtps.editedMembers)
    "OFS_Calculated"
    (
       "OFS_Product Revenue" = "OFS_Volume" * "OFS_Avg Selling Price";
    ) 
    ENDFIX"""
    println("The following calc script was executed by $operation.user.fullName: \n $calcScript") 
    return calcScript 
    

    Definire un prompt runtime per accettare i membri modificati nella prima riga.

    Generare uno script di calcolo per calcolare il fatturato prodotto per le celle modificate fissando i membri modificati.

    Stampa un messaggio che indica l'utente che ha eseguito la regola e lo script di calcolo generato.

    Restituisce lo script di calcolo, che verrà quindi eseguito.

  7. Nella barra degli strumenti, fare clic su Salvare (Salva) per salvare lo script.
  8. Fare clic su Convalida e distribuisci (Convalida e distribuisci). Per l'RTP Membri modificati, immettere il valore Accessories a scopo di convalida, quindi fare clic su OK.
  9. Nota

    Durante questo passo, la regola non viene eseguita; tuttavia, è necessario inserire membri validi affinché il processo di convalida riesca.
  10. Quando richiesto, fare clic su OK.

Creazione di una regola Groovy per eseguire un job di calcolo

Ora si crea la seconda regola Groovy, che esegue un job di calcolo che passa le variabili alla regola Groovy Calcola ricavi prodotto RTP.

  1. In Calculation Manager, creare una regola denominata Groovy Calcola fatturato prodotto richiamando il job di esecuzione nel tipo di piano OEP_FS.
  2. Nuovo oggetto
  3. Nell'editor regole, modificare l'opzione Designer in Modifica script e impostare il tipo di script su Script Groovy.
  4. Opzioni editor regole
  5. Copiare lo script e incollarlo nell'editor:
  6. // Capture the edited periods and products
    Set<String> editedMembers = [] 
    operation.grid.dataCellIterator({DataCell cell -> cell.edited}, MemberNameType.ESSBASE_NAME).each { DataCell cell ->
            editedMembers << cell.periodName << cell.getMemberName("Product") 
        }
    
    if(editedMembers.size() == 0){ 
        println("No edited cells found!")
        return;
    }
    
    // Execute the job that calculates the product revenues
    JobFactory jf = operation.application.jobFactory 
    
    List<DataGrid.HeaderCell> povMemberCells = operation.grid.pov.findAll{ DataGrid.HeaderCell it -> it.dimName != 
    	"Plan Element" } 
    
    Job job = executeJob(jf.job("Groovy Calculate Product Revenue RTPs", "Rules", 
    	["editedMembers" : cscParams(povMemberCells, editedMembers)])) 
    

    Definire una serie per acquisire membri modificati univoci.

    Acquisisce i membri modificati.

    Controlla se ci sono stati membri modificati. Se nessuno è stato modificato, non è richiesta alcuna ulteriore elaborazione, quindi tornare dallo script.

    Ottieni la fabbrica del lavoro.

    Recupera un elenco di celle di intestazione membro POV per dimensioni diverse dall'elemento piano perché lo script dispone di un blocco membri in un membro dimensione Elemento piano.

    Eseguire la regola RTP calcolo fatturato prodotto Groovy passando il POV e i membri modificati come valori per il prompt runtime editedMembers.

  7. Nella barra degli strumenti fare clic su Salvare (Salva) per salvare lo script, quindi fare clic su ValidateAndDeploy (Convalida e distribuisci) per convalidare e distribuire lo script. Quando richiesto, fare clic su OK. Lasciare aperta la finestra Gestione calcoli.

Aggiunta della regola a una maschera Planning

In questa sezione è possibile aggiungere la regola script Groovy al form Volume prodotto, da eseguire dopo il salvataggio.

  1. Selezionare la finestra Pianificazione e dall'alto a sinistra fare clic su Icona Navigator Navigator e andare a Moduli (in Crea e gestisci). Selezionare il form Volume prodotto.
  2. Form manager
  3. Modificare il modulo. Rimuovere la regola Calcola ricavi prodotto Groovy dalle regole selezionate. Aggiungere la regola Ricalcola fatturato prodotto richiamando il job di esecuzione e impostarla su Esegui dopo il salvataggio. Salvare la maschera e chiudere la finestra Gestione maschera.
  4. Aggiungi regola di esecuzione job al form Volume prodotto

Test della regola Groovy per chiamare un job di calcolo

In questa sezione è possibile eseguire il test della regola Groovy modificando i dati nel dashboard Analisi volume prodotto.

  1. Nella home page, fare clic su Dashboard. Aprire il dashboard Analisi volume prodotto.
  2. Dashboard analisi volume prodotto
  3. Per Envoy Standard Notebook, modificare il volume del prodotto per gennaio. Per Ultra notebook 13 in, modificare il volume del prodotto per marzo. Salvare il form (non il dashboard).
  4. Salvare il form Volume prodotto.
  5. Per chiudere il messaggio informativo, fare clic su OK. Le modifiche si riflettono nel modulo Ricavi prodotto.
  6. Le modifiche si riflettono nel form Fatturato prodotto.
  7. Chiudere il dashboard. Passare a Job (in Applicazione) e selezionare il job Groovy Calcola fatturato prodotto chiamando il job di esecuzione.
  8. Job visualizzati in Console job.
  9. Nei dettagli della mansione, la regola RTP calcolo ricavi prodotto Groovy viene elencata come mansione figlio. Fare clic sul job figlio.
  10. Job figlio visualizzati nei dettagli del job.
  11. Nei dettagli della mansione figlio è possibile visualizzare l'elenco dei membri passati allo script per il prompt Membri modificati. Il messaggio di log per il job completato identifica l'utente che ha eseguito la regola e lo script di calcolo generato. Dopo aver visualizzato i dettagli del job, chiudere la finestra e tornare alla home page.
  12. Messaggio log per il job.

Generazione di uno script di calcolo in linea per i dati modificati con un'ulteriore elaborazione Groovy

Il modello a oggetti EPM consente di eseguire uno script di calcolo in linea e quindi tornare allo script Groovy per un'ulteriore valutazione. In questa sezione è possibile esplorare questo script di calcolo e l'integrazione Groovy implementando uno script Groovy per calcolare il fatturato prodotto per i prodotti modificati e contare il numero di celle calcolate.

Creazione dello script Groovy

  1. Selezionare la finestra Gestione calcoli e creare una regola denominata Script esecuzione calcolo Groovy nel tipo di piano OEP_FS.
  2. Nuovo oggetto
  3. Nell'editor regole, modificare l'opzione Designer in Modifica script e impostare il tipo di script su Script Groovy.
  4. Opzioni editor regole
  5. Copiare lo script e incollarlo nell'editor:
  6. // Capture the edited periods and products
    Set<String> editedMembers = [] 
    operation.grid.dataCellIterator({DataCell cell -> cell.edited}, MemberNameType.ESSBASE_NAME).each {
    DataCell cell ->
            editedMembers << cell.periodName << cell.getMemberName("Product") 
        }
    
    if(editedMembers.size() == 0){ 
        println("No edited cells found!")
        return;
    }
    
    // Generate the calc script to calculate revenue for the products whose volumes were edited and to count and return the number of cells calculated
    String calcScript = """
    VAR numCellsCalculated = 0;
    Fix(${cscParams(operation.grid.pov, editedMembers)}) 
    "OFS_Calculated" (
        "OFS_Product Revenue" = "OFS_Volume" * "OFS_Avg Selling Price";
        numCellsCalculated = numCellsCalculated + 1;
    )
    EndFix;
    Fix(${cscParams(operation.grid.pov, editedMembers)})
    "OFS_Calculated" (
        @RETURN(@HspNumToString(numCellsCalculated), ERROR);
    )
    EndFix;
    """
    Cube cube = operation.application.getCube("OEP_FS") 
    try {
        cube.executeCalcScript(calcScript) 
    } catch(CalcScriptException e) {
        println("The following calc script was executed by $operation.user.fullName: 
        \n $calcScript") 
        println("Total number of cells calculated: $e.atReturnMessage")  
    }          
    

    Definire una serie per acquisire membri modificati univoci.

    Acquisisce i membri modificati.

    Controlla se alcuni membri sono stati modificati. Se nessuno è stato modificato, non è richiesta alcuna ulteriore elaborazione, quindi tornare dallo script.

    Generare uno script di calcolo per calcolare il fatturato prodotto per le celle modificate fissando i membri POV e i membri modificati. Lo script di calcolo restituisce anche un conteggio del numero di celle calcolato tramite il comando @RETURN.

    Recupera il cubo OEP_FS.

    Eseguire lo script di calcolo a fronte del cubo.

    Stampa un messaggio che indica l'utente che ha eseguito la regola e lo script di calcolo generato.

    Stampa il numero totale di celle calcolate restituito dallo script di calcolo.

  7. Nella barra degli strumenti fare clic su Salvare (Salva) per salvare lo script, quindi fare clic su ValidateAndDeploy (Convalida e distribuisci) per convalidare e distribuire lo script. Quando richiesto, fare clic su OK. Chiudere Calculation Manager.

Aggiunta della regola a una maschera Planning

In questa sezione è possibile aggiungere la regola script Groovy al form Volume prodotto, da eseguire dopo il salvataggio.

  1. In alto a sinistra, fare clic su Icona Navigator Navigator e andare a Moduli (in Crea e gestisci). Selezionare il form Volume prodotto.
  2. Form manager
  3. Modificare il modulo. Rimuovere la regola Ricalcola fatturato prodotto richiamando il job di esecuzione dalle regole business selezionate. Aggiungere la regola Esegui script di calcolo Groovy e impostarla su Esegui dopo salvataggio. Salvare la maschera e chiudere la finestra Gestione maschera.
  4. Esegui dopo salvataggio

Test della regola Groovy per eseguire uno script di calcolo

In questa sezione è possibile eseguire il test della regola Groovy modificando i dati nel dashboard Analisi volume prodotto.

  1. Nella home page, fare clic su Dashboard. Aprire il dashboard Analisi volume prodotto.
  2. Dashboard analisi volume prodotto
  3. Per Envoy Standard Notebook, modificare il volume del prodotto per gennaio. Per Ultra notebook 13 in, modificare il volume del prodotto per marzo. Salvare il form (non il dashboard).
  4. Salvare il form Volume prodotto.
  5. Per chiudere il messaggio informativo, fare clic su OK. Le modifiche si riflettono nel modulo Ricavi prodotto.
  6. Le modifiche si riflettono nel form Fatturato prodotto.
  7. Chiudere il dashboard. Passare a Job e selezionare il job Esegui script di calcolo Groovy.
  8. Job visualizzati in Console job.
  9. Il messaggio di log per il job completato identifica l'utente che ha eseguito la regola e lo script di calcolo generato, nonché il conteggio delle celle calcolate.
  10. Messaggio log per il job.

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visita Oracle University per visualizzare le risorse di formazione disponibili.

Per la documentazione del prodotto, visitare Oracle Help Center.