Sunteți pe pagina 1din 26

Octubre

2014
Versin 3

Manual de Compilacin de un programa en lenguaje C en z/OS

Contenido
Objetivo................................................................................................................ 2
Prerequisitos....................................................................................................... 2
Proceso de Compilacin................................................................................. 3
I.- Apertura de sesin...............................................................3
II.- Transferir archivos de estacin de trabajo a mainframe......6
III.- Compilacin de archivos en lenguaje C............................10
IV.- Validacin del resultado de la compilacin.......................15
Anexo I. Configuracin de IP de Mainframe de AVL y
configuracin de Cdigo de Pgina en Emulador IBM
Personal Communications...............................................................18
Anexo II. Creacin de bibliotecas fuente y JCL....................................21
Anexo III. Creacin de biblioteca carga..................................................23
Anexo IV. Cdigo de programa en lenguaje C y JCL de
Compilacin.......................................................................................... 25
Anexo V. Bibliografa...................................................................................... 25

Manual de Compilacin de un programa en lenguaje C en z/OS

Objetivo
Describir el proceso para realizar la compilacin de un elemento de programacin en lenguaje C,
en un el sistema operativo z/OS de mainframe.

Prerequisitos
1.- Contar con flujo de comunicacin de la estacin de trabajo o laptop al mainframe, ambiente de AVL:
DWHZOSL1, IP: 10.55.127.212 Ver Anexo I para configurar en IBM Personal Communications.
2.- Tener instalado un emulador de terminal IBM 3270 para acceder al z/OS, los cules pueden ser los
siguientes:
i) IBM Personal Communications http://www.ibm.com/developerworks/downloads/r/pcomm/
Requiere licencia, en prueba por 60 das.
ii) Mocha TN3270 http://www.mochasoft.dk/
Requiere licencia, en prueba por 30 das.
iii) Free Host 3270 http://sourceforge.net/projects/freehost3270/
Software libre.
3.- Tener un userid y contrasea para acceder al ambiente de AVL: DWHZOSL1, IP: 10.55.127.212
4.- En este manual se usan como ejemplo elementos constantes, pero para facilitar la compilacin al
usuario de este manual, este puede optar por cambiar los nombres establecidos en este manual por los
proporcionados por el equipo de desarrollo en el requerimiento de compilacin. La siguiente tabla puede
ser usada como apoyo para reemplazar estos elementos.
Elemento
Programa en lenguaje C
Biblioteca fuente
JCL de compilacin
Biblioteca de JCL para
compilar
Biblioteca carga a ubicar
programa en lenguaje C ya
compilado
Subdirectorio en laptop o
PC donde se ubican el
programa en lenguaje C o
el JCL

Nombre en este manual

Nombre proporcionado por


requerimiento

TRANSANE.c
UAMCMB0.SPRIVLIB.C
F30CMP01.jcl
UAMCMB0.SPRIVLIB.JCL
UAMCMB0.SPRIVLIB.LOAD

C:\Forma30

4.1 El programa fuente en lenguaje TRANSANE.c, ubicado en el subdirectorio C:\Forma30.


2

Manual de Compilacin de un programa en lenguaje C en z/OS

4.2 La biblioteca fuente dnde se debe ubicar el programa en lenguaje C es UAMCMB0.SPRIVLIB.C.


4.3 El JCL de compilacin es F30CMP01.jcl, ubicado en el subdirectorio C:\Forma30
4.4 La biblioteca de JCL donde se debe ubicar el JCL de compilacin es UAMCMB0.SPRIVLIB.JCL.
4.5 La biblioteca carga dnde se debe ubicar el programa carga es: UAMCMB0.SPRIVLIB.LOAD.
En caso, de que las bibliotecas fuente y de JCL no estn definidas, referirse al Anexo II para crearlas.
En caso, de que la biblioteca carga no est definida, referirse al Anexo III para crearla.
5.- Configurar el emulador de terminal IBM 3270 seleccionado para acceder al ambiente de AVL. En el
Anexo I, se indica la configuracin de pgina de cdigo a usar para que la transferencia de caracteres
especiales como y vocales acentuadas, se realice.

Proceso de Compilacin
Consiste en conectarse al ambiente de AVL en z/OS, proporcionar el usuario y password, realizar el file
transfer de los componentes a compilar, ejecutar el JCL (Job Control Language) de compilacin y validar el
resultado de la compilacin. A continuacin los pasos:

I.- Apertura de sesin


1. Abrir
una
sesin
para
mainframe en
ambiente de
AVL, usando el
emulador de
terminal IBM
3270. En la
figura siguiente
se muestra la
leyenda
Ambiente de
Desarrollo,
pero para la IP
10.55.127.212
debe
mostrarse la
leyenda
Ambiente de Laboratorio.
2. Introducir el comando TSO, presionar la tecla Ctrl al finalizar. Importante recordar que la tecla
Ctrl puede cambiar dependiendo del emulador, pero por lo regular la mayora de los emuladores
de terminal 3270 usan la tecla Ctrl como Enter
3

Manual de Compilacin de un programa en lenguaje C en z/OS

3. Introducir el usuario; para este caso demostrativo se usa el userid UAMCMB0, cambiarlo por el
usuario que corresponda, presionar la tecla Ctrl al finalizar.

Manual de Compilacin de un programa en lenguaje C en z/OS

4. Introducir la contrasea; no aparecer ningn carcter en pantalla mientras se escribe, presionar


la tecla Ctrl al finalizar.

5. Posterior a recibir los mensajes que nos confirman que tenemos sesin, presionar Ctrl para
obtener el men de opciones.

Manual de Compilacin de un programa en lenguaje C en z/OS

II.- Transferir archivos de estacin de trabajo a


mainframe
6. El primer objetivo es transferir o subir el programa en lenguaje C TRANSANE.c que se
encuentra en la estacin de trabajo o laptop, con el nombre C:\Forma30\TRANSANE a la ruta
del mainframe UAMCMB0.SPRIVLIB.C(TRANSANE) en formato TEXTO.
7. El segundo objetivo es transferir o subir el archivo con el jcl C:\Forma30\F30CMP01.jcl con el
nombre F30CMP01, tambin ubicado en la estacin de trabajo o laptop a la ruta del mainframe
UAMCMB0.SPRIVLIB.JCL(F30CMP01) en formato TEXTO.
8. Para realizar
el
File
Transfer del
JCLs
y
archivos
fuentes en C,
teclear en el
men
principal
OPTION:
p.6 y dar
Ctrl.

9. Se
debe
estar en la
pantalla ISPF
Command
Shell, para
realizar
la
transferencia
de archivos.
Ahora
del
men
del
emulador
3270,
seleccionar
opcin
de
Actions y
Send File to
Host.

Manual de Compilacin de un programa en lenguaje C en z/OS

10. En la ventana de Send File to Host, dar clic en Browse para seleccionar el archivo fuente en
lenguaje C que se encuentra en la estacin de trabajo o laptop y que se requiere transferir al
mainframe. Para este propsito es: C:\Forma30\TRANSANE.c

11. En el frame Transfer List, dar clic en el elemento que se acaba de agregar.
12. Ahora, editar el nombre en la ventana Host y en File Name, teclear el nombre del archivo
destino en el mainframe, en este caso: 'UAMCMB0.SPRIVLIB.C(TRANSANE)', como se muestra
en la grfica arriba.
13. En la lista Transfer Type, seleccionar: text
14. Teclear el botn Add to list.
15. Borrar de la lista Transfer Type, la lnea que corresponde a este archivo C inicial, no borrar la
entrada editada y agregada.
16. Realizaremos los mismos pasos para agregar a la lista de transferencia, el archivo JCL de
compilacin.
17. En la ventana de Send File to Host, dar click en Browse para seleccionar el archivo fuente en
lenguaje C que se encuentra en la estacin de trabajo o laptop y que se requiere transferir al
mainframe. Para este propsito es: C:\Forma 30\F30CMP01.jcl
7

Manual de Compilacin de un programa en lenguaje C en z/OS

18. En el frame Transfer List, dar clic en el elemento que se acaba de agregar.
19. Editar el nombre en la ventana Host y en File Name, teclear el nombre del archivo destino en
el mainframe, en este caso: 'UAMCMB0.SPRIVLIB. JCL(F30CMP01)', como se muestra en la
grfica abajo.

20. En la lista Transfer Type, seleccionar: text


21. Teclear el botn Add to list.
22. Borrar de la lista Transfer Type, la lnea que corresponde a este archivo JCL inicial, no borrar la
entrada editada y agregada.
23. Antes de realizar la transferencia de archivos, validaremos que la transferencia de archivos tipo
texto es correcta en su configuracin.
24. De la ventana actual, dar clic al botn Options, de la ventana obtenida dar clic a la pestaa
MVS/TSO.

Manual de Compilacin de un programa en lenguaje C en z/OS

25. En la lista Transfer type teclear la opcin Text. El campo Record Format debe tener Default y
el campo Logical Record Length debe estar vaco. Como se muestra a continuacin, si hay otros
valores cambiarlos a los indicados. Dar clic en OK al terminar.

26. Teclear el botn Send para iniciar el proceso de transferencia. Aparecer una ventana con el
estatus de la transferencia por cada archivo. Al terminar, los archivos se encontraran en el
mainframe en la ruta indica.

Manual de Compilacin de un programa en lenguaje C en z/OS

III.- Compilacin de archivos en lenguaje C


27. Desde el men principal, nos posicionamos en OPTION y tecleamos el comando p.3.4,
presionar la tecla Ctrl al finalizar. Para regresar al men principal, teclear la tecla F3 dos veces.

28. Ubicarnos en Dsname Level y escribimos la librera a la cual queremos ingresar, para nuestro
caso escribimos la librera donde se encuentran los JCLs, presionar la tecla Ctrl al finalizar. La
librera para este caso es: UAMCMB0.SPRIVLIB.JCL. En esta pantalla no es necesario teclear
los apostrofes al lado del nombre de la librera, como se muestra abajo.

10

Manual de Compilacin de un programa en lenguaje C en z/OS

29. Nos colocamos en la parte izquierda del rengln y escribimos la letra e, de edicin, presionar la
tecla Ctrl al finalizar.

30. Nos posicionamos en la lnea que se encuentra a la izquierda del JCL de compilacin
F30CMP01 y escribimos la letra s, de seleccionar, presionar la tecla Ctrl al finalizar.

11

Manual de Compilacin de un programa en lenguaje C en z/OS

31. Ahora debemos asegurar que el JCL tenga el nombre de la biblioteca fuente y el nombre del
programa a compilar. Teclear F8 para bajar o F7 para subir en el archivo. En este caso,
UAMCMB0.SPRIVLIB.C(TRANSANE) debe encontrarse en la lnea con la etiqueta SYSIN.
Teclear F8 para bajar y localizar la lnea SYSIN, en el paso COMPILE.
En nuestro caso, se tiene la lnea:
//SYSIN DD DSN=DESA.IMI.DEC.INFO.F30.DIF3ENO2.FTE(TRANSANE),
Se debe cambiar por:
//SYSIN DD DSN=UAMCMB0.SPRIVLIB.C(TRANSANE),
Las siguientes pantallas muestran el antes y el despus.

Despus de modificar el nombre de la biblioteca fuente de lenguaje C.

12

Manual de Compilacin de un programa en lenguaje C en z/OS

32. Una vez que ya est modificada la biblioteca fuente, ahora validemos el nombre de la biblioteca
carga. En este caso, UAMCMB0.SPRIVLIB.LOAD(TRANSANE) debe encontrarse en la lnea
con la etiqueta SYSLMOD, en el paso BIND. Teclear F8 para bajar y localizar la lnea SYSLMOD.
En nuestro caso, se tiene la lnea:
//SYSLMOD DD DSNAME=DESA.IMI.DEC.INFO.F30.DIF3ENO2.LOAD(TRANSANE),
Se debe cambiar por:
//SYSLMOD DD DSNAME=UAMCMB0.SPRIVLIB.LOAD(TRANSANE),
Las siguientes figuras muestran el antes y el despus.

Despus de modificar el nombre de la biblioteca fuente de lenguaje C.

13

Manual de Compilacin de un programa en lenguaje C en z/OS

33. En la lnea de comando escribimos la palabra save para guardar los cambios. Presionamos la
tecla Ctrl.
34. Para iniciar la ejecucin de la compilacin del programa en lenguaje C, en la lnea de comando
escribimos la palabra sub, presionamos la tecla Ctrl.

35. Aparecer un mensaje como el siguiente, que indica: Nombre del job ejecutado: F30CMP01 y el
nmero de JOB(0248). Teclear Ctrl para continuar.

36. Aparece otro mensaje, indicando la terminacin de la ejecucin de la compilacin. Cuando la


compilacin es exitosa se obtendr un mensaje MAXCC=0000. Un valor diferente deber ser
reportado al grupo de desarrollo, ya que un error ocurri. Para ambos casos obtener la evidencia
de la ejecucin de acuerdo a los pasos que se indican a continuacin. Teclear Ctrl para
continuar. Regresemos al men inicial con la tecla F3.

14

Manual de Compilacin de un programa en lenguaje C en z/OS

IV.- Validacin del resultado de la compilacin


37. Desde el men principal, recordar que regresamos a esta pantalla con la tecla F3. Nos
posicionamos en OPTION y tecleamos el comando SD, para ir a revisar el estatus de
terminacin del job, presionar la tecla Ctrl al finalizar.

38. Ahora en la siguiente pantalla, teclear ST Status of Jobs en la lnea Command Input para
observar el estatus de los jobs. Teclear Ctrl para que nos lleve a la siguiente pantalla.

15

Manual de Compilacin de un programa en lenguaje C en z/OS

39. Como el job tiene nombre F30CMP01, necesitamos localizar a los Jobs con este nombre,
mediante el siguiente comando PRE F30*. Estamos indicando que nos muestre todos los jobs
que inician con F30. Teclear Ctrl para que nos muestre la lista de los Jobs que inician con F30.

40. Una vez que tengamos la lista de los Jobs que inician con F30, busquemos el nmero de job
0248 que corresponde a nuestra compilacin y teclear S de seleccin. Subamos y bajemos en
la lista con las tecla F8 bajar y F7 subir.

16

Manual de Compilacin de un programa en lenguaje C en z/OS

41. Validar que los pasos COMPILE y BIND tengan valor de 0.

42. Este es el ltimo paso de validacin. Tomar un print screen de esta pantalla y enviarla como
evidencia del resultado de ejecucin de la compilacin del programa en lenguaje C.

17

Manual de Compilacin de un programa en lenguaje C en z/OS

Anexo I. Configuracin de IP de Mainframe de


AVL y configuracin de Cdigo de Pgina en
Emulador IBM Personal Communications
Seguir los siguientes pasos para configurar la IP de Mainframe de AVL y el Cdigo de Pgina.
1.- En el men del emulador 3270, seleccionar Communication, ahora Configure.
2.- De la ventana presentada, dar clic en Link Parameters.

3.- En la ventana, teclear la IP del Mainframe de AVL: 10.55.127.212 en el campo Primary, y


Port number = 22.

18

Manual de Compilacin de un programa en lenguaje C en z/OS

4.- Dar clic en el botn OK.


5.- Para configurar el Cdigo de Pgina, dar clic en Session Parameters en la ventana, en el campo
Host Code-Page, seleccionar de la lista a 037 Unites States.

6.- Para terminar dar clic en OK.


7.- Dar clic en el botn OK para cerrar la ventana de Customize Communication.

19

Manual de Compilacin de un programa en lenguaje C en z/OS

8.- Aparecer la ventana de logon de TSO con las letras SAT. En este caso es de del Ambiente de
Desarrollo, pero para la direccin IP debe aparecer la leyenda Ambiente de Laboratorio.

20

Manual de Compilacin de un programa en lenguaje C en z/OS

Anexo II. Creacin de bibliotecas fuente y JCL


Las bibliotecas fuente y de JCL tienen las mismas caractersticas, por lo que su definicin se realiza
siguiendo los mismos pasos.
A continuacin definiremos la biblioteca UAMCMB0.SPRIVLIB.C.
1.- Desde el men principal de TSO teclear P.3.2
2.- En la pantalla, en el campo Option teclear A de allocate (ubicar o definir biblioteca) y en el campo
Name teclear el nombre de la biblioteca fuente a crear: UAMCMB0.SPRIVLIB.C o
UAMCMB0.SPRIVLIB.JCL, no olvidar teclear el apostrofe al inicio y final del nombre de la biblioteca a
crear, como se muestra en la pantalla siguiente. Teclear Ctrl para ir a la siguiente pantalla.

21

Manual de Compilacin de un programa en lenguaje C en z/OS

3.- En la pantalla teclear los


valores que se indican en los
siguientes campos:
Space Units = CYLINDER,
Primary Quantity = 20,
Secondary quantity = 5,
Directory blocks = 100,
Record format = FB,
Record length = 80,
Block Size = 4800,
Data set name type = PDS.
Teclear Ctrl para crear la
biblioteca.

4.- Se recibir el mensaje


de Data set allocated como
se indica en la siguiente pantalla.

5.- Para la biblioteca de JCL, realizar los pasos 2 a 4, cambiando el nombre de la biblioteca que
corresponda a los JCL, en este caso UAMCMB0.SPRIVLIB.JCL.

22

Manual de Compilacin de un programa en lenguaje C en z/OS

Anexo III. Creacin de biblioteca carga


Para crear la biblioteca carga donde se ubican los componentes carga correspondiente a los programas
fuentes de lenguaje C, seguir los siguientes pasos:
A continuacin definiremos la biblioteca UAMCMB0.SPRIVLIB.LOAD.
1.- Desde el men principal de TSO teclear P.3.2
2.- En la pantalla teclear A de Allocate y en el campo Name teclear el nombre de la biblioteca fuente a
crear: UAMCMB0.SPRIVLIB.LOAD, no olvidar teclear el apostrofe al inicio y final del nombre de la
biblioteca a crear, como se muestra en la pantalla siguiente.

23

Manual de Compilacin de un programa en lenguaje C en z/OS

3.- En la pantalla teclear los


valores que se indican en
los siguientes campos:
Space Units = CYLINDER,
Primary Quantity = 20,
Secondary quantity = 5,
Directory blocks = 100,
Record format = U,
Record length = 0,
Block Size = 32760,
Data set name type =
LIBRARY.
Teclear Crtl para crear la
biblioteca.
4.- Se recibir el mensaje
de Data set allocated
como se indica en la siguiente pantalla.

5.- La biblioteca carga ya esta creada.

24

Manual de Compilacin de un programa en lenguaje C en z/OS

Anexo IV. Cdigo de programa en lenguaje C


y JCL de Compilacin.
Programa en lenguaje C

TRANSANE.c

JCL de Compilacin

F30CMP01.jcl

Anexo V. Bibliografa.
MVS JCL Users Guide
http://pic.dhe.ibm.com/infocenter/zos/v1r11/index.jsp?
topic=/com.ibm.zos.r11.ieab500/iea2b550.htm
C/C++ User's Guide
http://pic.dhe.ibm.com/infocenter/zos/v1r11/index.jsp?
topic=/com.ibm.zos.r11.ieab500/iea2b550.htm
ISPF User's Guide Vol I
http://pic.dhe.ibm.com/infocenter/zos/v1r11/index.jsp?
topic=/com.ibm.zos.r11.ieab500/iea2b550.htm
ISPF User's Guide Vol II
http://pic.dhe.ibm.com/infocenter/zos/v1r11/index.jsp?
topic=/com.ibm.zos.r11.ieab500/iea2b550.htm
TSO/E
http://pic.dhe.ibm.com/infocenter/zos/v1r11/index.jsp?
topic=/com.ibm.zos.r11.ieab500/iea2b550.htm

25

S-ar putea să vă placă și