-
index secondaire vsam
Bonjour,
je cherche à accéder un cluster vsam par index secondaire. Ceci en assembleur. J'ai généré le cluster de base, défini un AIX ainsi qu'un Path.
j'accède mon vsam par la clé primaire sans problème. La question est : dois-je définir un RPL et ACB spécifique pour l'accès via le PATH.
un exemple serait utile. merci aux gentils contributeurs.
-
Ca ne va sans doute pas suffire comme réponse mais faire du VSAM en Assembleur n'est pas ce que l'on peut faire de plus évident et ca fait un moment que je n'ai pas donné.
1) l'ACB est le bloc de contrôle pour la gestion du fichier. Un peu comme le DCB en QSAM. Il te faut donc un ACB distinct pour le cluster de base et le path puisque tu prévoies de faire un OPEN sur l'un et sur l'autre l'autre.
2) le RPL est associé à l'ACB et est représentatif de la méthode d'accès sur le cluster. Donc un RPL par exemple pour les accès directs et un autre pour les accès séquentiels. Voilà pour la logique générale. Pour plus d'infos il me faudrait réviser un peu, j'avais développé dans le temps un module ASM d'accès à un VSAM quelconque, je vais essayer de retrouver pour ma raffraichir la mémoire, mais je ne malheureusement pas le poster comme exemple, il est je pense encore utilisé.
-
index secondaire
en fait le problème pour moi est de savoir, si l'acb que je vais décrire pour les accès secondaires est celui qui pointe sur le PATH
LECTDIR ACB DDNAME=LECTDIR,MACRF=(KEY,DIR,IN) avec le rpl :
DIRRPL RPL ACB=LECTDIR,ARG=ACCCLE,
AREA=ABUFVSM,AREALEN=4,
OPTCD=(KEY,DIR,SYN,NUP,LOC) et dans le jcl le ddname :
//LECTDIR DD DISP=SHR,DSN=RSX.UGXX.XJBT764.PATH
il semble que ça ne fonctionne pas.......je fais simplement un POINT et un GET
-
index secondaire
c'est finalement exactement ce que j'ai expliqué plus haut.
j'avais simplement oublié le mapping de la DSECT sur le record du cluster de base, et ça fonctionne.