Rational Developer for System z

Affectation d'un fichier partitionné

Cet exemple montre comment affecter à l'aide d'un programme un fichier partitionné doté d'un ensemble particulier de caractéristiques de fichier.

Exemple de scénario

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.

graphique allocatePdsConsole

Exemple de structure de code

Vérification de l'existence d'un fichier sur le nouveau système de fichiers MVS

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;
		}
	}

Allocation du fichier de génération

 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());
	}

Conditions d'utilisation | Commentaires

Ce centre de documentation utilise la technologie Eclipse. (http://www.eclipse.org)