Une autre façon d'itérer est d'utiliser la fonction While. Cette fonction ne prend que deux arguments : le test et le corps. Ainsi, si vous souhaitez utiliser une variable de compteur, d'index ou d'indicateur dans l'un ou l'autre des arguments, vous devez les initialiser avant d'appeler la fonction While. JMP évalue le premier argument et l'interprète comme un résultat booléen afin de déterminer si l'itération doit continuer. Si le résultat est vrai, la fonction While poursuit l'itération. Si c'est faux, la fonction While termine l'itération et le script continue avec le code qui suit la fonction While. JMP évalue ensuite le deuxième argument. Ce code est généralement considéré comme le corps de l'itération et JMP évalue ce code à chaque fois. Comme il n'y a pas d'argument de mise à jour séparé, une partie de ce code doit mettre à jour le compteur, l'index ou la variable d'indicateur pour la prochaine itération. Prenons un exemple. Dans ce code, c est un compteur ou un index et il est initialement défini sur Not Done est la variable indicateur, qui est initialement définie sur true. Ainsi, dans la fonction While, JMP évalue d'abord not Done et l'interprète comme un résultat booléen. Si non Done est vrai, la fonction continue. Ensuite, le corps inclut le travail principal de l'itération - le lancement de la plate-forme de distribution - puis met également à jour la variable not Done en fonction d'une comparaison booléenne. Dans le code présenté ici, JMP compare le nombre de colonnes de la table de données à la valeur actuelle du compteur ET met à jour le compteur. La comparaison renvoie un s'il y a plus de colonnes dans la table de données et renvoie un zéro lorsque toutes les colonnes ont été évaluées. Ce résultat est stocké dans not Done, qui est évalué au début de la prochaine itération. Notez que l'opérateur Post Increment renvoie sa valeur actuelle avant l'incrémentation - de sorte que le dernier morceau de code pourrait être écrit N Col supérieur à c, point-virgule, c plus-plus, et il ferait exactement la même chose.