Lire et examiner la documentation Automation Anywhere

Automation 360

Fermer les contenus

Contenus

Ouvrir les contenus

Ajouter un itérateur dans un package personnalisé pour Boucle action

  • Mis à jour le : 2022/05/20

    Ajouter un itérateur dans un package personnalisé pour Boucle action

    Ajoutez un itérateur dans votre paquetage pour Boucleaction.

    Ajouter un itérateur à une action de boucle

    • Pour créer un itérateur, définissez commandType de la propriété BotCommand avec la valeur Iterator.
    • Il y a deux méthodes requises par l'itérateur, et elles sont définies par HasNextet Suivant .
    @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;
        }
    }
    Envoyer le commentaire