Cet exemple montre comment affecter à l'aide d'un programme un fichier partitionné doté d'un ensemble particulier de caractéristiques de fichier.
Cliquez avec le bouton droit de la souris sur le sous-système de fichiers MVS correspondant à la connexion voulue, puis sélectionnez l'action Actions de l'échantillon d'API > Affecter un fichier PDS.

Un exemple de fichier partitionné est alloué. Son nom est codé en dur dans l'action en tant que constante DATASET_NAME.

Si le fichier existe déjà, il est supprimé, puis réalloué. Les messages ci-après sont envoyés à la sortie système.

La méthode run utilisée dans l'exemple vérifie dans un premier temps que le fichier qui est sur le point d'être créé n'existe pas déjà. Elle récupère d'abord le ZOSCatalog du système de fichiers MVS grâce à un appel getCatalog pour la référence ISystemReference sélectionnée.
ZOSCatalog catalog = getCatalog((ZOSSystemReference)selectedItem);
Une fois le ZOSCatalog obtenu, la méthode findMember est utilisée pour vérifier si un fichier partitionné du nom spécifié existe déjà. Si tel est le cas, la méthode delete est utilisée pour tenter de supprimer le fichier existant. Il est important de récupérer l'exception OperationFailedException en cas d'incident lors de la suppression.
ZOSPartitionedDataSet newPDS = null;
......
newPDS = (ZOSPartitionedDataSet)
catalog.findMember(DATASET_NAME);
if(newPDS != null){
try {
......
newPDS.delete(true, null);
} catch (OperationFailedException ofe) {
System.err.println("Allocate PDS Action - PDS ("
+ DATASET_NAME +
") already exists and could not be deleted.");
return;
}
}
IPhysicalResourceFactory physicalFactory =
PhysicalResourceFactoryFactory.getFactory(
ZOSCatalog.class, ZOSDataSet.class);
......
ZOSDataSet res = (ZOSDataSet)physicalFactory.getPhysicalResource(catalog,ZOSPartitionedDataSet.class,DATASET_NAME);
res.setCharacteristics(getCharacteristics());
try {
res.allocate(null);
} catch (OperationFailedException e) {
System.out.println("Allocate PDS Action - PDS allocation failed" + e.getMessage());
}