Lea y revise la documentación de Automation Anywhere

Automation Anywhere Automation 360

Cerrar contenidos

Contenidos

Abrir contenidos

Agregar un paquete iterador en un paquete personalizado para una acción de Loop

  • Actualizado: 2020/04/03
    • Automation 360 v.x
    • Crear
    • Espacio de trabajo de RPA

Agregar un paquete iterador en un paquete personalizado para una acción de Loop

Agregue un iterador en su paquete para crear una Loop action.

Agregar un iterador a una acción de Bucle

  • Para crear un iterador, establezca la propiedad commandType de la anotación BotCommand con el valor como Iterator.
  • El iterador utiliza dos métodos, definidos por las anotaciones HasNext y Next.
@BotCommand(commandType = BotCommand.CommandType.Iterator)
@CommandPkg(name = "loop.iterators.files",
        label = "For each file in folder",
        node_label = "for each file and assign file name and extension to {{returnTo}}",
        description = "Iterator for each file in folder.",
        return_type = DataType.DICTIONARY,
        return_sub_type = DataType.STRING,
        return_required = true,
        return_description = "Note: Access the 'name' key to access file name and 'extension' 
        key to access the file extension.",
        return_label = "Assign file name and extension to this variable")
public class FileLoop extends AbstractCommandFileIterator {
 
    @Idx(index = "1", type = AttributeType.TEXT)
    @Pkg(label = "Folder path")
    @Inject
    @NotEmpty
    private String folderPath;
 
    @HasNext
    public boolean hasNext() {
        return getFileIterator(folderPath).hasNext();
    }
 
    @Next
    public Value<?> next() {
        Map<String, Value> returnValueMap = new HashMap<>();
 
        FileIterator fileIterator = getFileIterator(folderPath);
        String fileName = fileIterator.getNext();
 
        returnValueMap.put(FILE_NAME, new StringValue(fileIterator.getFileName(fileName)));
        returnValueMap.put(EXTENSION, new StringValue(fileIterator.getExtension(fileName)));
 
        return new DictionaryValue(returnValueMap);
 
    }
 
    public void setFolderPath(String folderPath) {
        this.folderPath = folderPath;
    }
}
Enviar comentarios