Tips que fuí aprendiendo sobre la marcha...

Creación de un volumen nuevo para nuestros programas.

Primero que nada vamos a averiguar que direcciones se encuentran libres para montar nuestro nuevo volumen. z/OS tiene por defecto muchas libres para usos variados.

Desde el menú principal del ispf vamos ingresando las siguientes opciones: M More -> 4 HCD -> Cambiamos si no aparece I/O... para que quede así.


For options 1 to 5, specify the name of the IODF to be used. 
                                                             
I/O definition file . . . 'SYS1.IODF99'    
     

El SYS1.IODF99 (dependiendo de la versión puede ser IODF01) lo sacamos de la primera linea de SYS1.IPLPARM(LOADDB).

Buscamos el 'LOADDB' porque en el HERCULES.CNF estamos usando 'LOADPARM 0A95DBM1 #4 DB2 & CICS'...

-> 1. Define, modify, or view configuration data -> 5. I/O devices

y llegamos al 'I/O Device List'.

          ----------Device-----
          / Number   Type +      
          _ 000C     2540        
          _ 000C     2540R-1     
          _ 000E,2   1403-N1     
          _ 0120     3380        
          _ 0121     3380        
          _ 0122     3380        
          _ 0123     3380        
          _ 0124     3380        
          _ 0125     3380        
          _ 0126     3380        
          _ 0127     3380        
          _ 0128,56  3380        
          _ 01C0,64  3390        
          _ 0240,32  3380        
          _ 0260,32  3390        
          _ 0300,25  3390                  
     

Vemos en la última linea 0300,25 3390 que significa que esta reservando para un dispositivo de tipo DASD (Direct Access Storage Device) la dirección 0300 y las 25 siguientes.

Abrimos el hercules.cnf y verificamos que ningún dispositivo ocupe esta dirección.

En el archivo >hercules.cnf ya agregué el vínculo de la posición 0300 de memoria al archivo de volumen que vamos a crear.

La búsqueda en I/O Device List la mostré como parte del procedimiento que se debe hacer.

Dentro de la carpeta de Hercules vamos a crear una nueva donde iremos poniendo los volumenes que creemos para separarlos de los del sistema.

Asi que creamos 'uservol'. Ahora desde dentro de la carpeta del hercules vamos a ejecutar la aplicación que creara el archivo de windows donde se creara el volumen.

Con el comando 'dasdinit -z c:\00\ZVOL00.300 3390-3 ZVOL00' desde una consola de DOS crearemos en la carpeta c:/00 el archivo ZVOL00.300 que contendra el volumen.

HHCDU044I Creating 3390 volume ZVOL00: 3339 cyls, 15 trks/cyl, 56832 bytes/track
HHCDU041I 3339 cylinders successfully written to file c:\00\ZVOL00.300
HHCDI001I DASD initialization successfully completed.       
          

El archivo ZVOL00.300 contendrá los datos para identificarse como un dispositivo 3390-3 (Almacenamiento de 2 Gigas aprox.) con nombre ZVOL00, y estara comprimido (opción z del principio).

La compresíon permite que el archivo crezca en tamaño a medida que le ingresemos programas, datasets, miembros, etc. si no automaticamente ocuparía mas de 2 Gigs.

El archivo creado ZVOL00.300, debemos incluirlo en la carpeta 'uservol' dentro de hercules, que es lo que especificamos en el hercules.cnf.

Con 'attach 0300 3390 uservol/zvol00.300' en hercules lo montamos. Aún no esta formateado pero sirve de prueba para ver que todo vaya bien hasta acá.

Con 'd u,,,300' en la terminal 1, mostramos que el z/os lo reconozca.

IEE457I 07.46.57 UNIT STATUS         FRAME  1     F      E   SYS=ADCD       
UNIT TYPE STATUS        VOLSER     VOLSTATE                                 
0300 3390 O             ZVOL00     PRIV/RSDNT                               
0301 3390 F-NRD                        /RSDNT                               
0302 3390 F-NRD                        /RSDNT                               
0303 3390 F-NRD                        /RSDNT                               
0304 3390 F-NRD                        /RSDNT                               
0305 3390 F-NRD                        /RSDNT                               
0306 3390 F-NRD                        /RSDNT                               
0307 3390 F-NRD                        /RSDNT                               
IEE612I CN=L700     DEVNUM=0700 SYS=ADCD       
     

Ahí aparece en la primera fila.

Con 'v 300,online' en la terminal 1, lo ponemos online.

07.48.54           IOS452I 0300,03, OPERATIONAL PATH ADDED TO PATH GROUP
07.48.54           IEE302I 0300     ONLINE                              
          

Para formatearlo, debemos ponerlo offline con 'v 0300,offline' desde la terminal 1.

Ahora con el siguiente JCL INIDISCO formateamos el volumen para ya dejarlo listo.

INIDISCO lo cargamos en IBMUSER.MAG.JCL, y desde allí submitimos.

Al submitir desde la terminal 2, en la terminal 1 nos preguntara si queremos seguir adelante.

*08.02.23 JOB00776 *01 ICK003D REPLY U TO ALTER VOLUME 0300 CONTENTS, ELSE 
* T  
     

En la terminal 1 ingresamos el siguiente comando 'R 01,U' (sin comillas), que significa R(esponse) 01(que es el número de pregunta pendiente) y U después de la coma para alterar el volumen 0300.

- 08.03.45 JOB00776  ICK061I   0300 VTOC INDEX CREATION SUCCESSFUL: VOLUME  
-  IS IN INDEX FORMAT                                                       
- 08.03.45 JOB00776  IEF404I INIDISCO - ENDED - TIME=08.03.45   
          

Desde la terminal 1 lo ponemos online con 'v 0300,online' (sin comillas).

Ya podemos verlo, por ejemplo con 'Data Set List Utility' =3.4 desde el menú principal del ispf, y poniendo en 'Volume serial . . ZVOL00' y ENTER.



¡LISTO!




NOTA: con el nuevo hercules.cnf, para iniciar el IPL se debe utilizar la opción 'N 0A81 3390 DASD cckd/zares1.cckd [3339 cyls]'

    Hercules  CPU0000:   0%     z/Arch  |                                   Peripherals  
                                        | U Addr Modl Type Assignment                    
    0000000000000000   0000000000000000 | A 000E 1403 PRT  c:\00\IMPR0E.TXT              
                    PSW      24M......Z | B 000F 1403 PRT  c:\00\IMPR0F.TXT              
                                        | C 0300 3390 DASD uservol/ZVOL00.300 [3339 cyls]
  0 0000000000000000 1 0000000000000000 | D 0580 3420 TAPE *                             
  2 0000000000000000 3 0000000000000000 | E 0581 3420 TAPE *                             
  4 0000000000000000 5 0000000000000000 | F 0582 3420 TAPE *                             
  6 0000000000000000 7 0000000000000000 | G 0583 3420 TAPE *                             
  8 0000000000000000 9 0000000000000000 | H 0584 3420 TAPE *                             
  A 0000000000000000 B 0000000000000000 | I 0700 3270 DSP                                
  C 0000000000000000 D 0000000000000000 | J 0701 3270 DSP                                
  E 0000000000000000 F 0000000000000000 | K 0702 3270 DSP                                
       GPR     CR      AR      FPR      | L 0703 3270 DSP                                
                                        | M 0704 3270 DSP                                
   ADDRESS:  00000000  DATA:   00000000 | N 0A81 3390 DASD cckd/zares1.cckd [3339 cyls]  
                                        | O 0A82 3390 DASD cckd/zares2.cckd [3339 cyls]  
  --------------------------------------| P 0A83 3390 DASD cckd/zadb81.cckd [3339 cyls]  
    0.00      0   STO     DIS     RST   | Q 0A84 3390 DASD cckd/zadb82.cckd [3339 cyls]  
    MIPS  SIO/s                         | R 0A85 3390 DASD cckd/zadb83.cckd [3339 cyls]  
                                        | S 0A86 3390 DASD cckd/zadb84.cckd [3339 cyls]  
    STR    STP    EXT     IPL     PWR   | T 0A87 3390 DASD cckd/zadb91.cckd [3339 cyls]  
                                        | U 0A88 3390 DASD cckd/zadb92.cckd [3339 cyls]  
  --------------------------------------| V 0A89 3390 DASD cckd/zacic1.cckd [3339 cyls]  
  CPU                                   | W 0A8A 3390 DASD cckd/zadis1.cckd [3339 cyls]  
  00 STOPPED                            | X 0A8B 3390 DASD cckd/zadis2.cckd [3339 cyls]  
  01 STOPPED                            | Y 0A8C 3390 DASD cckd/zadis3.cckd [3339 cyls]  
  02 STOPPED                            | Z 0A8D 3390 DASD cckd/zadis4.cckd [3339 cyls]  
  03 STOPPED                            | . 0A8E 3390 DASD cckd/zadis5.cckd [3339 cyls]  

O directamente con el comando 'Command ==> IPL 0A81'.