La commande STARTBR établit la position dans le fichier, mais ne récupère pas d’enregistrement.
Syntaxe:
Vous trouverez ci-dessous la syntaxe de la commande STARTBR.
EXEC CICS STARTBR
FILE('nom-fichier')
RIDFLD(zone-donnee) [GENERIC]
KEYLENGTH(valeur-donnee)
REQID(valeur-donnee)
SYSID(nom-systeme)
GTEQ/EQUAL
END-EXEC.
L’option UPDATE n’est pas autorisée et la commande de navigation dans les fichiers est strictement réservée aux opérations en lecture seule.
La signification des paramètres est identique à l’explication de l’opération READ. Lorsque vous souhaitez effectuer plusieurs navigations simultanément sur le même fichier, utilisez REQID. Le premier STARTBR peut être codé avec REQID(1) et le second STARTBR peut être codé avec REQID(2).
Une opération de navigation occupe une chaîne de VSAM. Si toutes les chaînes VSAM sont épuisées pour un fichier VSAM, les autres transactions devront attendre que l’une des chaînes se libère. Il n’est donc pas recommandé d’utiliser la navigation multiple. Au lieu de cela, une fois la navigation terminée, utilisez RESETBR pour définir la position à un autre endroit et commencer à naviguer. La syntaxe de RESETBR est la même que STARTBR.
Voyons les paramètres utilisés dans la commande STARTBR.
- FILE(nom-fichier)
Spécifie le nom du fichier auquel accéder. - RIDFLD(zone-donnee)
Spécifie le champ d’identification de l’enregistrement.Il porte le nom de la zone de données contenant la clé de l’enregistrement que l’on veut lire. - KEYLENGTH(valeur-donnee)
Spécifie la longueur (demi-mot binaire) de la clé qui a été spécifiée dans l’option RIDFLD, sauf lorsque RBA ou RRN est spécifié, auquel cas KEYLENGTH n’est pas valide.Cette option doit être spécifiée si GENERIC est spécifié, et elle peut être spécifiée chaque fois qu’une clé est spécifiée. Si la longueur spécifiée est différente de la longueur définie pour l’ensemble de données et que l’opération n’est pas générique, la condition INVREQ se produit. - EQUAL
Spécifie que la recherche n’est satisfaite que par un enregistrement ayant la même clé (complète ou générique) que celle spécifiée dans l’option RIDFLD.Cette option est le champ par défaut pour une navigation ESDS directe. - REQID(valeur-donnee)
Spécifie en tant que valeur binaire demi-mot un identificateur de requête unique pour un parcours, utilisé pour contrôler plusieurs opérations de parcours sur un fichier. Si cette option n’est pas spécifiée, une valeur par défaut de zéro est supposée. - SYSID(nom-systeme)
Spécifie le nom du système vers lequel la demande est dirigée. - GENERIC
Spécifie que la clé de recherche est une clé générique dont la longueur est spécifiée dans l’option KEYLENGTH. La recherche d’un enregistrement est satisfaite lorsqu’un enregistrement est trouvé qui a les mêmes caractères de début (clé générique) que ceux spécifiés. - GTEQ
Spécifie que, si la recherche d’un enregistrement qui a la même clé (complète ou générique) que celle spécifiée dans l’option RIDFLD échoue, le premier enregistrement qui a une clé plus grande satisfait la recherche. Cette option est la valeur par défaut pour parcourir directement un KSDS ou un RRDS. Il n’est pas valable pour parcourir directement une ESDS, bien qu’il soit valable pour parcourir une ESDS à l’aide d’un chemin.