Introduzione

Questa esercitazione descrive come chiamare un'API Rest esterna da uno script Groovy in Oracle EPM Cloud Planning. Vengono fornite istruzioni anche per creare un menu azioni attivabili con un pulsante destro del mouse con una voce di menu per richiamare lo script e per associare tale menu a un form di dati.

Presupposto

Il modello a oggetti Groovy EPM offre un modo per chiamare API REST interne (cross-POD o altri Oracle Cloud Services) ed esterne. In questo esempio, è possibile creare ed eseguire una regola Groovy per chiamare un'API REST Google Places esterna per aggiungere o aggiornare le informazioni sull'indirizzo dei dipendenti nel modulo ManageEmployees.

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.
  • Prima di poter iniziare a utilizzare le API di Google Maps Platform che includono l'API REST Places utilizzata in questa esercitazione, è necessario registrarsi e creare un account di fatturazione per acquisire una chiave API. Per ulteriori informazioni, vedere Introduzione a Google Maps Platform.

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.

Caricamento delle variabili di calcolo pianificazione

In questa sezione è possibile caricare variabili di calcolo da un file XML da utilizzare nello script Groovy.

  1. Fare clic con il pulsante destro del mouse sul collegamento HP4_Plan2_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 Plan2 e selezionare Importa.
  3. In Dettagli importazione file, cercare di selezionare HP4_Plan2_Variables.xml dall'unità locale.
  4. In Dettagli ubicazione effettuare le selezioni riportate di seguito.
    • Tipo di applicazione: EPM Cloud
    • Applicazione: HP4
    • Cubo: Plan2
  5. In Opzioni di importazione selezionare Sostituisci oggetti esistenti.
  6. Importa variabili
  7. Fare clic su Importa. Esaminare i risultati dell'importazione, quindi fare clic su OK.
    Risultati dell'importazione
  8. Fare clic su Annulla per chiudere la finestra di dialogo Importa.

Creazione di una connessione denominata in Planning

In questa sezione è possibile modificare una connessione esistente in modo da includere la chiave API REST Places (Risorse).

  1. Passare a Connessioni (in Strumenti) e selezionare la connessione Luoghi.
  2. connessioni
  3. Modificare la connessione immettendo la chiave API nel parametro chiave. Salvare e chiudere la connessione.
  4. Parametro chiave API

Creazione di uno copione Groovy

In questa sezione è possibile implementare uno script Groovy per aggiornare l'indirizzo di un dipendente. Lavoreremo con il modulo predefinito ManageEmployees.

Gestisci dipendenti
  1. In Gestione calcoli creare una regola denominata Aggiungi o aggiorna indirizzo dipendente Groovy nel cubo Plan2.
  2. Nuova regola
  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: {Employee} {EmployeeAddress} {Scenario} {Year} {Period} {Entity} {Version}*/ 
    Member employee = rtps.Employee.member  
    
    // Get the complete address using the Google maps REST API. Use the original if Google maps can't find the address
    def address = rtps.EmployeeAddress  
    HttpResponse<String> jsonResponse = operation.application.getConnection("Places")
    .get()
    .queryParam("input", rtps.EmployeeAddress.enteredValue)
    .asString()  
    println(jsonResponse.body)  
    ReadContext ctx = JsonPath.parse(jsonResponse.body) 
    if(ctx.read('$.status') == "OK") 
    	address = getTextCellId(ctx.read('$.candidates[0].formatted_address') as String, true) 
    
    // Generate the calc script to save the employee address
    """SET CREATENONMISSINGBLK ON;
    FIX(${fixValues(rtps.Scenario, rtps.Year, rtps.Period, rtps.Entity, rtps.Version, employee)}, "USD")
        "Employee Address" = $address;
    ENDFIX;"""   
    

    Definire tutti i prompt runtime (RTP) utilizzati da questa regola nella prima riga.

    Recupera l'oggetto membro per employee specificato dall'RTP dipendente.

    Assegnare il testo immesso nell'RTP EmployeeAddress come valore predefinito per address.

    Ottenere la connessione Places per eseguire la richiesta HTTP GET su questa risorsa e passare il testo immesso nell'RTP EmployeeAddress come valore per il parametro di query input.

    Nota

    L'oggetto di connessione Places è un collegamento di comunicazione tra lo script Groovy e la risorsa API REST di Google Places.

    Registrare la risposta API REST di Google Maps a scopo di debug.

    Analizza la risposta JSON ricevuta dall'API utilizzando la libreria JsonPath. Se lo stato == OK, leggere il campo formatted_address dall'oggetto del primo candidato nell'array restituito, ottenere l'ID della cella di testo per formatted_address e assegnarlo all'indirizzo.

    Generare lo script di calcolo per salvare l'indirizzo del dipendente.

  7. Nella barra degli strumenti, fare clic su Salvare (Salva) per salvare lo script.
  8. Nota

    Se si salva lo script, le variabili vengono visualizzate nella scheda Variabili.
  9. Si desidera che gli utenti immettano solo valori per EmployeeAddress. Nella scheda Variabili selezionare Nascosto per Dipendente, Entità, Periodo, Scenario, Versione e Anno.
  10. Variabili nascoste

    Nota

    Quando gli utenti eseguono lo script dal form, a queste variabili nascoste vengono assegnati valori dal contesto del form.
  11. Salvare di nuovo lo script.
  12. Fare clic su Convalida e distribuisci (Convalida e distribuisci). Immettere i valori RTP per la convalida:
    • Dipendente: Full Time Employees
    • Entità: No Entity
    • Periodo: Jan
    • Scenario: Current
    • Versione: BU_Version_1
    • Anno: FY16
    Opzioni editor regole
  13. Selezionare Applica valori alla regola per salvare questi valori come valori predefiniti ai fini della convalida, quindi fare clic su OK.
  14. Nota

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

Creazione di menu azione Planning per eseguire gli script Groovy

In questa sezione è possibile creare un menu azioni denominato Gestisci dipendenti, con una voce del menu azioni con il pulsante destro del mouse che esegue lo script Groovy.

  1. In alto a sinistra, fare clic su Icona Navigator Navigator e andare a Menu azioni (situati in Crea e gestisci) e creare un menu azioni denominato Gestisci dipendenti.
  2. Menu azione Crea gestione dipendenti
  3. Modificare il menu azioni Gestisci dipendenti e aggiungere una voce di menu figlio denominata Aggiorna indirizzo dipendente. Immettere o selezionare le seguenti opzioni per definire la voce di menu:
  4. Campo opzione Valore da inserire o selezionare
    Voce di menu Aggiorna indirizzo dipendente
    Etichetta Aggiorna indirizzo dipendente
    Type Regola business
    Parametri obbligatori Dipendenti
    Cubo Plan2
    Regola business Groovy Aggiungi o aggiorna indirizzo dipendente

    Aggiorna voce menu indirizzo dipendente

  5. Fare clic su Salva, quindi su OK per salvare la voce di menu. Infine, fare clic su Salva per salvare il menu delle azioni.
  6. Menu azione Gestisci dipendenti completato

Associazione dei menu delle azioni di Planning ai form

In questo passo è possibile associare il menu delle azioni al modulo ManageEmployees ed eseguire il test dello script.

  1. Passare a Form (situato in Crea e gestisci) e modificare il form ManageEmployees.
  2. Modifica form Gestisci dipendenti
  3. Nella scheda Altre opzioni, aggiungere il menu di scelta rapida Gestisci dipendenti all'elenco Menu selezionati.
  4. Aggiungi il menu di scelta rapida Gestisci dipendenti
  5. Fare clic su Fine per salvare le modifiche apportate al form.
  6. Chiudere il form manager e tornare alla Home page.

Test dello script Groovy

In questo passo, si esegue il test dello script. La procedura di test include l'immissione di un posto valido per l'RTP EmployeeAddress per recuperare l'indirizzo completo del luogo.

  1. In alto a sinistra, fare clic su Icona Navigator Navigator e fare clic su Dati per visualizzare l'elenco dei form di immissione dati, quindi fare clic su ManageEmployees per aprire il form Gestisci dipendenti.
  2. Elenco di form di immissione dati
  3. Per eseguire il test dello script Groovy, fare clic con il pulsante destro del mouse su Dipendente 1 e selezionare la voce di menu Aggiorna indirizzo dipendente.
  4. Finestra di dialogo Aggiungi dipendente con e-mail e nome non validi
  5. Nel prompt Indirizzo dipendente digitare Oracle, San Jose, quindi fare clic su Avvia.
  6. Messaggio di errore nome dipendente non valido

    Al lancio di successo, dovresti vedere l'indirizzo completo di Oracle, San Jose salvato come indirizzo completo per il dipendente 1.

    Messaggio di errore e-mail dipendente non valido
  7. Salvare e chiudere il form. Passare a Job (in Applicazione) per aprire la Console job.
  8. Console job
  9. Fare clic su Aggiungi e aggiorna indirizzo dipendente Groovy per visualizzare i dettagli della mansione. Fare clic sullo stato Completato per visualizzare i messaggi di log stampati dallo script Groovy.
  10. Messaggi di log script Groovy

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.