Partiendo del menú principal del ispf.
Seleccionamos la opción '2 Edit' y ENTER para crear el archivo que contendrá el código en COBOL.
En member ingresamos el nombre que llevará nuestro programa COBOL. En este caso 'HELLOWRL'
En otro capítulo mostrare como crear las library:
Una vez ingresado HELLOWRL, ENTER...
Con el comando COLS ('Command ===> COLS') y ENTER en la linea de comandos, aparecera la regla, muy útil para calcular las áreas A y B en COBOL.
Con 'i20' y ENTER sobre la línea de asteriscos rojos del margen izquierdo, insertamos 20 líneas.
Al apretar ENTER todas las líneas que no contengan al menos un espacio se borrarán.
El código del programa está aquí. Una vez copiado, con el comando 'SAVE' en la línea de comandos, guardamos el código.
El siguiente paso es crear 'HWCOMP', el archivo en JCL que se encargará de compilar.
Nuevamente desde el menú principal del ispf, seleccionamos la opción '2 Edit' y ENTER.
Introducimos 'HWCOMP' en Member y ENTER para entrar y editarlo.
Nuevamente insertamos líneas con el comando 'i(cant. de lineas)' y copiamos este código JCL.
Con 'SAVE' guardamos el código que creamos.
Desde la línea de commandos, 'Command ===> SUB ' escribimos y ejecutamos 'SUB' y ENTER.
Asi se ejecutara el JCL que compilará nuestro 'HELLOWRL'
Si todo va bien, en la parte de abajo de la pantalla veremos en rojo:
IKJ56250I JOB P390XCOB(JOB00200) SUBMITTED
***
Y al apretar ENTER:
01.12.39 JOB00200 $HASP165 P390XCOB ENDED AT N1 MAXCC=0 CN(INTERNAL)
***
NOTA: Los mensajes deben ser similares, no necesariamente iguales...
Volvemos con F3 al menú principal del ispf y desde allí opción 'M', luego opción '5' y finalmente opción 'st' para llegar al spool.
Visualizamos el JOB correspondiente a nuestro usuario (IBMUSER en este caso) y el numero 00200 que es el que nos indicó el 'SUB' del JCL.
Con '?' accedemos a todos los mensajes que se generaron al correr el HWCOMP.
Con 'V' (view) y ENTER indicamos que queremos ver el compilado de HELLOWRL.
Nos movemos dentro de los detalles de la compilación con F7 y F8 (abajo y arriba) y F10 y F11 (izquierda y derecha).
Vamos hasta el final inferior de los detalles (con F7 o con el comando 'bot'(bottom) y ENTER) y si nos muestra algo así:
* Statistics for COBOL program HELLOWRL:
* Source records = 13
* Data Division statements = 2
* Procedure Division statements = 4
End of compilation 1, program HELLOWRL, no statements flagged.
Return code 0
******************************** BOTTOM OF DATA ********************************
... significa que nuestro código se compiló y no tiene errores.
Con 'F3' varias veces, volvemos al menú principal del ispf y con la opción '2 Edit' vamos a crear el JCL de ejecución del HELLOWRL compilado.
El nuevo JCL se llama HWEXEC
Seguimos el mismo procedimiento de insertar líneas para escribir este código.
Con 'SAVE' y ENTER, guardamos el código.
Con 'SUB' y ENTER, lo ejecutamos.
Si todo va bien nos mostrará en rojo lo siguiente (o parecido):
IKJ56250I JOB P390XCOB(JOB00201) SUBMITTED
***
y presionando ENTER, lo siguiente:
01.46.46 JOB00201 $HASP165 P390XCOB ENDED AT N1 MAXCC=0 CN(INTERNAL)
***
Solo queda ir al spool y ver como fue la ejecución
Con F3 varias veces volvemos al menú principal del ispf.
Con opción 'M', luego opción '5', luego 'st' visualizamos el spool.
Con '?' en el JOB00201 (que es el indicado mas arriba) vemos los mensajes generados por la ejecución de HWEXEC
Al entrar nos muestra esto:
SDSF JOB DATA SET DISPLAY - JOB P390XCOB (JOB00201) LINE 1-4 (4)
COMMAND INPUT ===> SCROLL ===> CSR
NP DDNAME StepName ProcStep DSID Owner C Dest Rec-Cnt Page
JESMSGLG JES2 2 IBMUSER H LOCAL 16
JESJCL JES2 3 IBMUSER H LOCAL 22
JESYSMSG JES2 4 IBMUSER H LOCAL 26
V SYSOUT PASO0001 107 IBMUSER H LOCAL 2
Con la 'V' (View) y ENTER entramos a visualizar el resultado de la ejecución.
SDSF OUTPUT DISPLAY P390XCOB JOB00201 DSID 107 LINE NOT PAGE MODE DATA
COMMAND INPUT ===> SCROLL ===> CSR
********************************* TOP OF DATA **********************************
HOLA COBOL!
HOLA MUNDO
******************************** BOTTOM OF DATA ********************************
Terminamos!.