Este ejemplo muestra cómo asignar programáticamente un conjunto de datos particionado con un conjunto determinado de características de conjunto de datos.
Pulse con el botón derecho sobre el subsistema de archivos MVS para obtener la conexión adecuada y seleccione la acción Acciones de ejemplo de API > Asignar PDS.

Se asigna un conjunto de datos particionado. El nombre del conjunto de datos particionado está codificado en la acción como la constante DATASET_NAME.

Si el conjunto de datos ya existe, se suprime y después se reasigna. Los mensajes siguientes se envían a la salida del sistema.

El método run del ejemplo empieza asegurándose de que el conjunto de datos que está a punto de crear no existe ya. Primero, obtiene el ZOSCatalog para el sistema de archivos MVS llamando a getCatalog para el ISystemReference seleccionado.
ZOSCatalog catalog = getCatalog((ZOSSystemReference)selectedItem);
Una vez obtenido ZOSCatalog, se invoca el método findMember correspondiente para ver si ya existe un conjunto de datos particionado con el nombre ya especificado. Si el conjunto de datos ya existe, el ejemplo intenta suprimir el conjunto de datos existente mediante el método delete. Es importante capturar OperationFailedException en caso de que algo vaya mal durante la supresión.
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());
}