Leggi e rivedi la documentazione di Automation Anywhere

Automation Anywhre Automation 360

Chiudi contenuti

Contenuti

Apri contenuti

Creazione di un iteratore tramite Package SDK

  • Aggiornato: 1/07/2021
    • Automation 360 v.x
    • Crea
    • Spazio di lavoro RPA

Creazione di un iteratore tramite Package SDK

In Automation 360, puoi creare un iteratore con il pacchetto SDK . Un iteratore viene utilizzato per eseguire il loop tra più oggetti di tipo simile e viene utilizzato con il Ciclo pacchetto. È costituito da due metodi, quindi e hasNext, che restituiscono l'oggetto effettivo e un valore booleano.

Annotazioni richieste

Quando viene utilizzato l'iteratore, il metodo successivo restituisce il successivo valore disponibile. Se non sono disponibili altri valori, viene visualizzata un'eccezione. Il metodo hasNext verifica la presenza di altri valori e restituisce false se non sono disponibili altri valori. In Automation 360, quando il loop viene eseguito, hasNext() viene chiamato per primo e next() viene chiamato solo se hasNext() restituisce un valore true.

Per creare un iteratore, sono necessarie le seguenti annotazioni.

Annotazione Utilizzo
ComandoBot Utilizza l'annotazione BotCommand con un iteratore come commandType. Questo garantisce che il vecchio oggetto Java (POJO) semplice sia idoneo per la creazione di un Automation 360 iteratore.
Pacchetto di comando Quando si crea un pacchetto, fornire un nome, un'etichetta e una descrizione all'annotazione.
Codice Annotare tutti i parametri e le variabili membro necessari e facilitare il controllo di convalida, oppure possono essere visualizzati nell'interfaccia per l'input. Fornire l'Idx e il tipo.
Pacchetto Annotare tutti i parametri e le variabili membro che verranno visualizzati nell'interfaccia. Questa annotazione verrà ignorata se non è accompagnata dall'Idx.
Prossimo Il metodo che deve essere chiamato per il test se l'iterazione ha più elementi (restituisce true se next() restituisce un elemento anziché generare un'eccezione). Deve restituire un valore booleano.

Se il metodo accetta i parametri, devono essere annotati con l'Idx. Il metodo hasNext lo verifica e restituisce false se non sono disponibili altri valori. Automation 360In, quando Ciclo viene eseguito, hasNext() viene chiamato per primo. next() viene chiamato solo se hasNext() restituisce un valore vero.

Successivo Il metodo restituisce il successivo valore disponibile nell'iterazione. Il tipo restituito è un valore. Se non sono disponibili altri valori, viene visualizzata un'eccezione.
Esempio di caso d'uso

Il caso d'uso di esempio esegue il loop attraverso il numero di volte, ad esempio, per il costrutto Java (int i=0; <n; i++I). Accetta il valore di n da Creatore di bot quando bot viene creato.

  1. Creare la classe POJO con la logica di business.

    Assicurati che il POJO abbia un metodo e restituisca un valore booleano. Questo fungerà da metodo di confronto.

    public class IteratorTypeDemo {
    
    	private Double times = 10 d;
    	private Double counter = 0 d;
    
    	public boolean hasNext() {
    		return counter < times;
    	}
    
    	public Value < Double > next() throws Exception {
    		if (counter >= times)
    			throw new Exception("Counter '" + counter + "' is exceed the times limit '" + times + "'");
    
    		counter++;
    		NumberValue result = new NumberValue();
    		result.set(counter);
    		return result;
    	}
    
    	public void setTimes(Double times) {
    		this.times = times;
    	}
    
    }
    
  2. Annotare la classe POJO per abilitarla per Automation 360 l'iteratore e creare un pacchetto.
    @BotCommand(commandType = CommandType.Iterator)
    @CommandPkg(return_label = "Return the value in variable", node_label = ": {{times}} times",
    	label = "Iterator demo", description = "Iterate number of times", name = "iteratorTypeDemo", return_type = DataType.NUMBER)
    public class IteratorTypeDemo {
    
    	private Double times = 10 d;
    	private Double counter = 0 d;
    
    	public boolean hasNext() {
    		return counter < times;
    	}
  3. Annotare il metodo hasNext() e next() in modo appropriato.
    @HasNext
    public boolean hasNext() {
    	return counter < times;
    }
    
    @Next
    public Value < Double > next() throws Exception {
    	if (counter >= times)
    		throw new Exception("Counter '" + counter + "' is exceed the times limit '" + times + "'");
    
    	counter++;
    	NumberValue result = new NumberValue();
    	result.set(counter);
    	return result;
    }

    I metodi sono denominati in modo semplice da usare e sono in parallelo con l'interfaccia iteratore Java. Non vi è alcuna restrizione dal lato SDK quando si assegnano nomi ai metodi.

    In un iteratore, non utilizzare metodi di parametro, ma utilizzare l'iniezione setter.

  4. Annotare le variabili con Idx e Pkg.

    Aggiungere @NotEmpty per assicurarsi che il valore non sia nullo e aggiungere @GreaterThanEqualTo per assicurarsi che il valore sia sempre maggiore di 0.

    @Idx(index = "1", type = AttributeType.NUMBER)
    @Pkg(label = "times", default_value = "10", default_value_type = DataType.NUMBER)
    @GreaterThanEqualTo("0")
    @NotEmpty
    @Inject
    private Double times = 10 d;

    Il numero del tipo di attributo restituisce un doppio.

Invia feedback