Vous êtes sur la page 1sur 37

VV VV VV VV VVV VVV VVV VVV VV VV VVV

AAA AA AA AAA AAA AAAAAAAAA AAA AAA AAA AAA

RRRRRRRR RRR RR RR RR RRRRRRRR RR RRR RR RRR RR RRR

IIIIIIII IIIIIIII II II II IIIIIIII

OOOOOOOOO OO OO OO OO OO OO OO OO OOOOOOOOO

Begoa Ramos Barrios

SSSSSSSSS SSS SSSSSSS SSSSSSS SSS SSSSSSSSS

I INDICE

TSO. ISPF ................................................... Teclas de funcion ................................ Comandos de linea ................................ Comandos generales .................................

1.00 1.01 1.01 1.01 1.03

Mandatos basicos de tso ................................ 1.05 Utilizacion del debuggen interactivo (full-screen) ..... 1.07 Consideraciones .................................... 1.08 Envio de archivos ...................................... 1.09 Envio de archivos de sistema principal TSO al PC ... 1.09 Envio de archivos de PC a sistema principal TSO .... 1.09

SPUFI.

2.00

SQL processor using file input (SPUFI) ................. 2.01 Introduccion ....................................... Restricciones spufi ................................ Especificando un fichero de entrada ................ Especificando un fichero de salida ................. Especificando opciones de proceso .................. Especificando sql procesos asumidos ................ Definiendo caracteristicas del fichero de salida ... Valores asumidos para el formato de salida ......... 2.01 2.02 2.03 2.03 2.04 2.06 2.07 2.08

TELEPROCESO.

3.00

Teleproceso (caracteristicas generales) ................ 3.01 CPU's .............................................. Oficinas ........................................... Entorno de trabajo ................................. Nombres de librerias ............................... Capacidades de discos .............................. Clases de ejecucion ................................ Clases de salida ................................... Normas para la definicion de fichas de control ..... Valor hexadecimal de cada simbolo .................. Caracteres en hexadecimal .......................... 3.02 3.02 3.03 3.03 3.04 3.05 3.05 3.06 3.07 3.08

II INDICE

PROGRAMACION ESTRUCTURADA.

4.00

Programacion modular .................................. 4.01 Programacion estructurada ............................. 4.03 Metodos de programacion estructurada ................... 4.04

CSP.

5.00 CSP general ............................................ 5.01 Operaciones comunes al inicio de los programas csp ..... 5.02 Errores de dli o db2 y normales ........................ 5.02

TPX-3.

6.00

Introduccion ........................................... 6.01 Utilizacion y comandos ............................... 6.02 Teclas de funcion ...................................... 6.04

1.01 T . S . O _______________ _______________

************* * I S P F * *************

TECLAS DE FUNCION ================= PF1 PF2 PF3 PF4 PF5 PF6 / / / / / / PF13 PF14 PF15 PF16 PF17 PF18 HELP SPLIT END RETURN RFIND RCHANGE PF7 / PF8 / PF9 / PF10/ PF11/ PF12/ PF19 PF20 PF21 PF22 PF23 PF24 UP DOWN SWAPT LEFT RIGHT HOME

PA1 - Provoca una seal de 'ATTENTION' a comandos ejecutados bajo TSO. PA2 - Sirve para repetir el envio del ultimo pantallazo.

COMANDOS DE LINEA ================= I D R C M A B < > INSERTAR DELETE REPETIR COPIAR MOVER DESPUES DE ANTES DE Genera una linea detras de la actual. Borra la linea actual. Duplica la linea actual. Identifica una linea a copiar. Identifica una linea a mover. Copia o mueve detras de esta linea. Copia o mueve delante de esta linea. Desplaza columnas hacia la izquierda, siempre que no haya truncamiento. Desplaza columnas hacia la derecha, siempre que no haya truncamiento.

1.02 ( ) X S F L COLS MASK EXCLUIR Desplaza columnas hacia la izquierda, sin verificar truncamiento. Desplaza columnas hacia la derecha, sin verificar truncamiento. Impide la visualizacion de una linea. Anula el efecto del comando X. Hace aparecer la primera linea de un bloque excluido. Hace aparecer la ultima linea de un bloque excluido. Hace aparecer una linea con la numeracion de las columnas. Hace aparecer una linea sobre la que tecleamos lo que queremos que aparezca al dar el comando "I". TABULACIONES "*" por hardware; "-" por software.

TABS

BOUNS

Hace aparecer una linea sobre la cual aparecen las columnas entre las que surtiran efecto los comandos de desplazamiento y los comandos "CHANGE" y "FIND".

Comandos de linea en bloque --------------------------DD << RR >> CC (( MM ))

XX

Comandos de linea repetidos "n" veces ------------------------------------In <n )n Dn <<n ))n Rn >n Xn RRn >>n Sn Cn (n Fn Mn ((n Ln

1.03 COMANDOS GENERALES ================== L NUMBER NONUM RENUM SUBMIT SAVE CANCEL RESET NUM.LINEA La linea pedida aparece la primera de la pantalla. Indica que las lineas del texto van numeradas. Indica que las lineas del texto no llevan numeracion. Renumera el texto editado. Pone el texto editado en colas de entrada del ordenador. Salva el texto editado, pero sin salirse del editor. Sale del modo EDIT sin salvar el texto editado. Restaura la pantalla, anulando los efectos de los comandos "X", "MASK", "BOUNDS", "TABS", y "COLS". Crea un nuevo miembro en esa libreria con el nombre "nombre", cuyo contenido sera un grupo

CREATE 'nombre'

formado con comandos "CC", o "MM". COPY 'nombre' Inserta detras de ("A") o delante de ("B") de una linea determinada el miembro "nombre" de la libreria en vigor. Inserta detras de ("A") o delante de ("B") de una linea determinada el miembro "nombre" de la libreria en vigor. Ademas borra el miembro "nombre" una vez copiado. Suprime la marca de fin de campo al final de cada linea de la pantalla, con lo que permite utilizar la tecla de insercion. Anula el efecto de NULLS. Activa la tabulacion por hardware. Inhibe la tabulacion por hardware.

MOVE 'nombre'

NULLS

NONULLS TABS NOTABS

1.04 Comandos FIND y CHANGE ---------------------F serie-1 NEXT ALL FIRST LAST PREV CHARS X COL-1 PREFIX NX PRE SUFFIX SUF WORD COL-2 :

C serie-1 serie-2 NEXT ALL FIRST LAST PREV

CHARS X COL-1 PREFIX NX PRE SUFFIX SUF WORD

COL-2 :

NEXT LAST FIRST PREV ALL PREFIX o PRE SUFFIX

Busqueda a partir de donde este el cursor. Busqueda a partir de la ultima linea editada. Busqueda desde el principio del texto editado. Busqueda hacia atras desde donde esta el cursor. Se piden todas las ocurrencias buscadas. La serie-1 debe ser el prefijo de una palabra.

o SUF WORD X NX COL-1 y COL-2

La serie-1 debe ser el sufijo de una palabra. La serie-1 debe ser una palabra. Solo debe buscarse en lineas que esten en grupos "XX". Solo deben buscarse en lineas que no esten en grupos "XX". Solo debe buscarse entre las columnas "col-1" y "col-2".

1.05 MANDATOS BASICOS DE TSO ======================= SUBMIT -----Se utiliza para lanzar un trabajo a ejecucion, como si se hubiera leido desde una lectora de fichas. SUBMIT nombre-del-fichero STATUS -----Sirve para averiguar que es lo que se esta ejecutando, y que ha sido submitido desde este usuario. CANCEL -----Sirve para cancelar un trabajo BATCH. Se debe dar el nombre y el numero del JOB. CANCEL nombre-job (JON numero-job) HELP ---Da por pantalla la descripcion y parametros del mandato solicitado en el HELP. LISTALB ------Da por pantalla todos los mensajes pendientes. LISTALC -------

Da por pantalla todos los ficheros asignados en este momento al usuario TSO.

1.06 ALLOC ----Sirve para asignar ficheros. Es equivalente a una DD desde el terminal. Sirve para meter los ficheros que me creo para pruebas. FREE ---Libera los ficheros que hemos asignado con ALLOC. SEND ---Sirve para enviar un mensaje al operador o a otros usuarios SEND 'mensaje' USER (userid)

1.07 ************************************************************************ *** *** *** UTILIZACION DEL DEBUGGER INTERACTIVO (FULL-SCREEN) *** *** *** *** COBOL II *** *** *** ************************************************************************

- En TSO (ISPF/PDF), compilar el programa (opcion 5.0) con: TEST = YES - ALLOCAR los diversos ficheros que utilice el programa-cobol sobre el cual se quiere hacer el debugging (opcion 6): ALLOC FI(DDNAME) DA (DSNAME) SHR NEW... La DDNAME sera la misma que el nombre utilizado en la clausula ASSIGN TO o bien, (ya que coincide), la de la ficha de control del JCL que define el fichero. De aqui se obtiene tambien la DSNAME.

Obviamente, los ficheros allocados deben tener la misma definicion que los ficheros del programa (respectivamente). Esto se puede comprobar con la opcion 3.2 (que tambien permite allocar). Deben allocarse tambien los ficheros de impresora. - Una vez realizado esto, INVOCAR el Debugger (opcion 4.10): DSNAME: Nombre del programa que se quiere depurar, en general: 'CALP.LINKBAT(nombre_miembro)' 'CALP.LINKONL(nombre_miembro)' - En este momento puede comenzar la sesion de debug, introduciendo los comandos que se considere apropiados. - Para terminar la sesion, teclee QUIT (PF3 no es valida).

1.08 ************************* ** ** ** CONSIDERACIONES ** ** ** ************************* 1.- El LOG del Debugger solo guarda los ultimos 1000 registros. Si se desea guardar un numero superior, se debera definir un fichero de log en el panel de invocacion del debugger y acceder bien dividiendo la pantalla (PF2), bien al final de la sesion de debug. 2.- El comando FLOW ON hace que se guarden en el log los ultimos 255 VERBOS ejecutados. Ademas, los guarda como LIFO (debera comenzarse a estudiarlo por el final). 3.- Recordar que los ALLOC hechos mediante comando (opcion 6) solo son validos para esa sesion de TSO. 4.- WHERE = XXXX.Y indica que el programa se ha interrunpido en el verbo numero Y de la linea XXXX. Este verbo NO se ha ejecutado y es el primero que se ejecutara si se hace continuar el programa en ese punto.

1.09 COMO ENVIAR ARCHIVOS DE UN SISTEMA PRINCIPAL TSO AL PC

______________________________________________________

1 Hacer "log on" al sistema principal TSO. 2 Ponerse en el panel 1.6 (COMMAND). 3 Ponerse en PC, aparece: 4 En C> teclear cd\ C>cd\ [intro] 5 En C> teclear: C>RECEIVE [a:]nombre.TXT e:nombre.miembro.tso ASCII CRLF 6 En TSO hacer "log off" (sucesivas PF3). 7 En PC convertir fichero grabado a Open Access II. 8 Fin de la operacion. C>

COMO ENVIAR ARCHIVOS DE PC A UN SISTEMA PRINCIPAL TSO _____________________________________________________

1 Hacer "log on" al sistema principal TSO. 2 Comprobar que el mensaje "preparado" (ready) de TSO, se visualiza en la 3 Ponerse en PC, aparece: 4 En C> teclear cd\ C>cd\ [intro] C>

1.10 5 En C> teclear: C>SEND [a:]nombre.TXT e:nombre.miembro.tso ASCII CRLF 6 Pasar a la sesion de sistema principal TSO para comprobar si se ha reci

7 Fin de la operacion.

Formatear un diskette de doble densidad en una unidad de alta densidad ______________________________________________________________________ c>format a:/n:9/t:80

2.01 ************************************************************************ * * * ======================= * * = S P U F I = * * ======================= * * * * ( SQL PROCESSOR USING FILE INPUT ) * * * ************************************************************************

El SPUFI (SQL PROCESSOR USING FILE INPUT) forma, o es, una parte del DB2 que te permite crear y probar instrucciones SQL antes de incluirlas en un programa de aplicacion.

SPUFI:INTRODUCCION. -----------------El SPUFI permite de una forma sencilla usar instrucciones SQL Consta de tres paneles ISPF, los cuales se usan para especificar la entrada, salida y opciones de proceso, al SPUFI. Estos tres paneles son: .THE SPUFI MAIN PANEL (panel principal) .THE SPUFI DEFAULTS PANEL. .THE SPUFI COMMIT/ROLLBACK PANEL. El panel principal SPUFI tiene varias funciones: - Especificar un fichero de entrada : Este fichero contendra las instrucciones SQL que se quieran ejecutar. El SPUFI pasa esas instrucciones al DB2 para su ejecucion. - Especificar un fichero de salida : Este fichero contendra

las instrucciones SQL y el resultado de la ejecucion de cada instruccion. - Especificar opciones de proceso : Estas opciones controlan el flujo de una sesion SPUFI. Desde el SPUFI MAIN PANEL (panel principal) se puede acceder a los otros dos panales SPUFI.

2.02 RESTRICCIONES SPUFI -------------------Las instrucciones SQL que no se pueden usar con SPUFI son las siguientes: CLOSE, DECLARE, DESCRIBE, EXECUTE, FETCH, INCLUDE, OPEN, PREPARE, WHENEVER Ademas las siguientes opciones no son soportadas por SPUFI: -OPCION 'INTO' EN LA SELECT. -OPCION 'WHERE CURRENT' EN UPDATE. -OPCION 'WHERE CURRENT' EN DELETE.

THE SPUFI MAIN PANEL (PANEL PRINCIPAL) -----------------------------------------======================================================================= S P U F I - ==> - Enter the input data set name : (Can be sequential or partitioned) - 1. DATA SET NAME...==> - 2. VOLUME SERIAL...==> (Enter if not cataloged) - 3. DATA SET PASSWORD=> (Enter if password protected) - Enter the output data set name: (Must be a sequential data set) - 4. DATA SET NAME...==> - Specify processing options: - 5. CHANGE DEFAULTS..==> YES (Y/N-Display spufi defaults panel?) - 6. EDIT INPUT.......==> YES (Y/N-Enter SQL statements?) - 7. EXECUTE..........==> YES (Y/N-Execute SQL statements?) - 8. AUTOCOMMIT.......==> YES (Y/N-Commit after successful run?) - 9. BROWSE OUTPUT....==> YES (Y/N-Browse output data set?) -

- PRESS: ENTER to process END to exit HELP for more information ======================================================================= ** * 2.03 ESPECIFICANDO UN FICHERO DE ENTRADA --------------------------------------El fichero de entrada se especifica con los parametros 1 al 3. Se debe crear antes de invocar al SPUFI, pero se puede editar desde el SPUFI. Debe tener las siguientes caracteristicas: - Longitud logica del registro (LRECL) de 79 u 80 : Si tiene una longitud de 79 asume que el fichero fue exportado por QMF. No se debe usar una longitud = 79 para un fichero que no es exportado desde QMF. - Formato del registro (RECFM) debe ser F o FB. - Puede ser particionado o sucuencial.

ESPECIFICANDO UN FICHERO DE SALIDA -------------------------------------El fichero de salida se especifica en el parametro num. 4 del panel principal del SPUFI. No se necesita prealocar el fichero de salida, como se hace en el de entrada. DB2 crea el fichero de salida con la opciones especificadas en el DEFAULT PANEL. Se pueden aceptar las opciones por defecto para el fichero de salida o cambiarlas accediendo al DEFAULTS PANEL desde el MAIN PANEL. El fichero de salida contiene cada instruccion SQL seguida del resultado de cada instruccion, en el siguiente formato: - Longitud logica del registro (LRECL) debe ser al menos de 80. - Formato de registro (RECFM) debe ser F, FB, FBA, V, VB o VBA. - Debe ser secuencial.

2.04

ESPECIFICANDO OPCIONES DE PROCESO. ------------------------------------Las opciones de proceso se especifican con los parametros 5 al 9 del SPUFI MAIN PANEL (panel principal). Estas opciones se utilizan para especificar al SPUFI que : - Displaye el SPUFI DEFAULTS PANEL. - Edite el fichero de entrada antes de la ejecucion. - Ejecute las instrucciones del fichero de entrada. - COMMIT ?. - Haga un BROWSE del fichero de salida despues de la ejecucion. El valor asumido para estas opciones es 'YES', pero se pueden cambiar todas las que se quieran especificando 'NO'. Se tiene que especificar una de las dos opciones (YES/NO), no se puede dejar en blanco. CHANGE DEFAULTS: YES==> Empieza displayando el SPUFI DEFAULTS PANEL. Se puede entonces cambiar cualquiera de los ITEMS del SPUFI DEFAULTS PANEL. NO===> La sesion empieza sin examinar el SPUFI DEFAULTS PANEL. EDIT INPUT: YES==> Invoca al editor ISPF y se puede editar el fichero de entrada NO===> No se edita el fichero de entrada. EXECUTE: YES==> El SPUFI pasa el fichero de entrada al DB2 para ejecutar las instrucciones SQL. La salida del DB2 es salvada en el fichero de salida. NO===> No es pasado el fichero de entrada para ejecucion.

2.05 EXECUTE:

YES==> El SPUFI pasa el fichero de entrada al DB2 para ejecutar las instrucciones SQL. La salida del DB2 es salvada en el fichero de salida. NO===> No es pasado el fichero de entrada para ejecucion. COMMIT: Se aconseja especificar: AUTOCOMMIT==> YES BROWSE OUTPUT: YES==> El fichero de salida es displayado. NO===> El fichero de salida no es displayado.

EL SPUFI DEFAULTS PANEL -------------------------Antes de que se ejecuten las instrucciones SQL, se pueden definir algunas de las caracteristicas del fichero de salida por medio de el SPUFI DEFAULTS PANEL. A este panel (SPUFI DEFAULTS PANEL), se accede especificando 'YES' en el parametro 5. CHANGES DEFAULTS, del SPUFI MAIN PANEL (panel principal) Si se hace eso el SPUFI DEFAULTS PANEL es displayado antes que el resto de los parametros, 6 al 9, del SPUFI MAIN PANEL, sean procesados. Cuando aparece el SPUFI DEFAULTS PANEL, los valores asumidos para la sesion son displayados. Si nunca se cambian estos valores se veran en el panel de la siguiente forma.

2.06 ======================================================================== CURRENT SPUFI DEFAULTS - ===> - Enter the following to control your SPUFI session: - 1 ISOLATION LEVEL===> RR (RR=Repeteable Read,CS=Cursor Stability) - 2 MAX SELECT LINES==> 250 (Maximun number of lines to be returned from a SELECT) - Output data set characteristics: - 3 RECORD LENGTH..==> 4092 (LRECL=Logical record length) -

- 4 BLOCK SIZE.....==> 4096 (Size of one block) - 5 RECORD FORMAT..==> VB (RECFM=F, FB, V, VB, or VBA) - 6 DEVICE TYPE....==> SYSDA (Must be DASD unit name) - Output format characteristics: - 7 MAX NUMERIC FIELD.==> 20 (Maximun width for numeric fields) - 8 MAX CHAR FIELD....==> 80 (Maximun width for character fields) - 9 COLUMN HEADING....==> NAMES (NAMES, LABELS, ANY or BOTH) - PRESS: ENTER to proceed END to exit HELP for more information ======================================================================== Cualquier valor asumido mostrado en el panel, se puede cambiar.

ESPECIFICANDO SQL PROCESOS ASUMIDOS. --------------------------------------Cuando las instrucciones en el fichero de entrada son procesadas, el SPUFI asume que: - El ISOLATION LEVEL (nivel de aislamiento o proteccion) (RR o CS) es RR (REPETEABLE READ). Esto afecta a la capacidad de los demas programas para poder compartir las tablas a las que las instrucciones SQL se refieren. RR (REPETEABLE READ) garantiza que los valores de la base de datos leidos o cambiados por el SPUFI no pueden ser cambiados por otras aplicaciones hasta que el SPUFI llegue a un punto COMMIT.

2.07 CS (CURSOR STABILITY) garantiza que otros programas no puedan modificar datos en ninguna fila sobre la que el SPUFI tenga un cursor posicionado. Despues que el cursor es movido los datos que fueron leidos por el SPUFI, llegan a estar disponibles para otras aplicaciones. Los valores de la base de datos cambiados por el SPUFI no estaran disponibles para otras aplicaciones hasta que el SPUFI alcance un punto COMMIT. La ventaja del cursor STABILITY es que permite un mayor grado de accesos concurrentes a datos compartido, que el RR (REPETEABLE READ). EL valor asumido es RR. El maximo numero de filas que se pueden recuperar con una instruccion SELECT es de 250. El valor asumido es 250, salvo que se especifique otro valor, pero tendra que ser menor de 250.

DEFINIENDO LAS CARACTERISTICAS DEL FICHERO DE SALIDA ---------------------------------------------------------Las caracteristicas del fichero de salida asumidas, que se pueden cambiar son: - LRECL (longitud del registro logico) : Este parametro controla amplitud del fichero de salida. Debe ser al menos de 80 y no puede ser menor que la LRECL del fichero de entrada. Cuando una instruccion SELECT es procesada los datos recuperados de todas las columnas de una fila se ponen en un registro de salida. EL valor asumido es 4092. - BLOCKSIZE (longitud del bloque): Tamao del bloque del fichero de salida. El valor que se especifique debe seguir las reglas normales del blocaje. El valor asumido es 4096. - RECFM: Formato del registro del fichero de salida. Los valores permitidos son: V, VB, VBA, F, FB, FBA. El valor asumido es VB.

2.08 - DEVICE CLASS: Un dispositivo DASD sobre el que se alocara los nuevos fichero. ASUME SYSDA.

ESPECIFICANDO VALORES ASUMIDOS (DEFAULTS) PARA EL FORMATO DE SALIDA. ----------------------------------------------------------------------Cuando el fichero que contiene los resultados es displayado o impreso el SPUFI DEFAULTS especifica cuantas lineas se imprimen en cada pagina y cuanto espacio permite para columna de datos. Se puede especificar: - Tamao de la impresion de una columna : Especifica un valor suficientemente grande para imprimir el nombre de la columna y todos los datos. Si la columna es mayor que el tamao especificado, el SPUFI truncara el nombre e imprime un mensaje indicando el truncamiento.

ASUME 20. - Tamao de impresion de una columna de caracteres : Escifica un valor suficientemente grande para imprimir el nombre de la columna y todos los datos de la columna. Si el nombre de la columna es mayor que el valor especificado, el SPUFI trunca el nombre. Si una cadena de caracteres de la columna es mayor que el valor especificado, la cadena de caracteres es truncada. Si esto ocurre el SPUFI da un mensaje para indicarlo. ASUME 80. - Titulo o cabecera de la columna : Se puede especivicar lo siguiente: - NAMES: Los nombres de las columnas son displayadas como cabeceras. - LABELS: Solamente las etiquetas son displayadas como cabeceras. Si una etiqueta no existe la cabecera queda en blanco.

2.09 - ANY: Las etiquetas son displayadas como cabeceras. Si no existen etiquetas para una columna pero el nombre de columna existe, este sera usado como cabecera. Si no existen etiquetas ni nombres de columnas la cabecera queda en blanco. El nombre de columna y las etiquetas son displayadas como cabecera. Si una etiqueta no existe la cabecera queda en blanco.

- BOTH:

ASUME NAMES.

3.01 =========== TELEPROCESO =========== ================================================= I II I I I C I C S II V T A M I N C C F I I II I I =================================================

P A T H 1 ---------------------------- N C P -------------- MAESTRA ------------------ LPUNTXX I S A R D ESCLAVA --------------- --------- ---------------------------- ------------ PUNTO A LXXX PUNTO ------------------------------------------ ORDENADOR C.T.N.E. ------------ -------------- -------------- CONCENTRADOR CONCENTRADOR CCA -------------- -------------- -------------- FAXXPUCX -------------------------------- TA/PU -------------- NRO.TA NRO.TA ------------------------------------------ ----------------------------------------- FAXXPRCX FAXXPRCX T T T T TA/PU TA/PU ---------------- ------------------------- ---------------------------- ----- ----- --------- ----- ---- T T T T T T ----- ----- --------- ----- ----0003 3.02 C A R A C T E R I S T I C A S G E N E R A L E S ==================================================

CPU's ***** - 3090/120 . 8 MIP's (millones de instrucciones por segundo) . 32 Mbytes . Soporta: . Teleproceso de explotacion . Batch de explotacion . Centro de Informacion de explotacion (bases DB2 para hacer consultas via PC's) - 4381/14 . 2 CPU's . 7 MIP's (millones de instrucciones por segundo) . 32 Mbytes . Soporta: . Teleproceso de desarrollo . Batch de desarrollo . Futuro Centro de Informacion de desarrollo

OFICINAS ******** Hay dos puntos de entrada a la red telefonica LEON y PONFERRADA.

3.03 ENTORNO DE TRABAJO ****************** - Sistema Operativo MVS/XA - Monitor de Teleproceso CICS/VS version 1.6 - Bases de datos jerarquicas IMS/DB

- Bases de datos relacionales DB2 - Herramientas de ayuda a la programacion: . TSO/ISPF . SDSF para ver el contenido de las colas - Comunicaciones ACF/VTAM - Lenguajes de programacion: . COBOL BATCH . ASSEMBLER . cobol cics . csp . Cobol II

NOMBRES DE LIBRERIAS. ********************** . CALP.usuario.FUENTE . CALP.usuario.JCLLIB . CALP.usuario.DOCLIB . CALP.LINKBAT . CALP.LINKONL Libreria de fuentes de usuario. Libreria de JCL's de usuario. Libreria de documentos de usuario. Modulos batch de pruebas. Modulos on-line de pruebas y mapas.

3.04 . CALF.FUENTES.BATCH . CALF.FUENTES.ONLINE . CALF.FUENTES.VIEJOS . CALE.LINKBAT . CALE.LINKONL . CALP.COPY.ASMLIB . CALP.COPY.COBLIB Fuentes batch en explotacion. Fuentes on-line en explotacion. Fuentes, versiones anteriores. Modulos batch explotacion. Modulos on-line explotacion. COPY's de registros, utilities, etc en ASSEMBLER COPY's de registros, utilities, etc en COBOL. Algunas de estas copy's son mapas y otras contienen sentencias de CICS. Estas ultimas es necesario compilarlas

previamente pasandolas por el panel 5.1.

CAPACIDADES DE DISCOS ********************* - Discos 3375 (tenemos unos 16) ----------1 Volumen ........... 959 Cilindros 1 Cilindro .......... 12 Pistas 1 Pista ............. 35.424 Bytes CAPACIDAD = 407.659.392 Bytes = 400 MB (bloque optimo = 17.000) - Discos 3380 (tenemos unos 36) ----------1 Volumen ........... 885 Cilindros 1 Cilindro .......... 15 Pistas 1 Pista ............. 47.476 Bytes CAPACIDAD = 630.243.900 Bytes = 600 MB (bloque optimo = 23.000) (es mas rapido que el 3375)

3.05 CLASES DE EJECUCION ******************* - En arranque habra 8 INICIADORES abiertos, cada uno de ellos con una clase distinta (A,B,C,D,E,F,G,H) y todos ellos con la clase X comun. - Las clases A,B,C,D, y E quedan reservadas para explotacion. - Programacion usara las clases: F G H Compilaciones Ejecuciones rapidas (maximo 5 minutos) Ejecuciones lentas

CLASES DE SALIDA **************** - Se pueden utilizar todas las clases desde la 'A' a la 'Z'. - Explotacion usara las clases como hasta ahora.

- Programacion obtendra la salida de las compilaciones en la cola del HOLD, en la clase X.(Rebote a pantalla). Si desea pasarlas a la cola de salida (output) utilizara la clase Z. En las ejecuciones que generan impresos, poner estos tambien en clase Z, que es la salida de papel para programacion. - Hay 3 clases de salidas especiales: 2 6 3 PUNCH DISKETTES DUMMY (no hay salida)

3.06 NORMAS PARA LA DEFINICION DE FICHAS DE CONTROL ********************************************** Solo se utilizara una ficha de control por aplicacion. Su diseo sera: POSICIONES 1 - 6 : Fecha en formato DDMMAA, cuando se requiera cambiar el dia del proceso. POSICIONES 7 - 14 : Estas 8 posiciones se reservan para las posibles opciones que requieran los distintos programas de la cadena. POSICIONES 15 - 60 : Estas 46 posiciones se dejan de formato libre para los datos especificos. POSICIONES 61 - 71 : Aqui se colocara el total de cuadre para aquellas cadenas que realicen cuadre automatico. POSICIONES 72 - 72 : Identificador de explotacion no disponible en programacion. POSICIONES 73 - 80 : Libre (preferible no usar)

CONFIGURACION DEL TECLADO ________________________________________________________________________ " @ $ % & / ( ) = ? 1 2 3 4 5 6 7 8 9 0 ' <--__________________________________________________________ Q W E R T Y U I O P ` * --> q w e r t y u i o p \ +

_______________________________________________________ < Bloq. A S D F G H J K L [ ] Mayusc. a s d f g h j k l { } __________________________________________________________ > Z X C V B N M ; : _ Mayu. < z x c v b n m , . - Mayuscul ___________________________________________________________ Rest Altva Altva In _______ _______________________________________________ ___

3.07 VALOR HEXADECIMAL DE CADA SIMBOLO ---------------------------------------------------------------------------------------------------- 0 1 2 3 4 5 6 7 8 9 A B C D E F ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 0 & - { } \ 0 ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 1 / a j A J 1 ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 2 b k s B K S 2 ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 3 c l t C L T 3 ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 4 d m u D M U 4 ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 5 e n v E N V 5 ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 6 f o w F O W 6 ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 7 g p x G P X 7 ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 8 h q y H Q Y 8 ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ 9 ` i r z I R Z 9 ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ A [ ] : ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ B . $ , ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ C < * % @ ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ D ( ) _ ' ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ E + ; > = ----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ F ? " --------------------------------------------------------------------Para ver que valor hexadecimal toma cada signo teclear HEX ON en la linea de comando y browsear la linea siguiente: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

[.<(+&]$*);-/,%_>?`:@'="{}

3.08 CARACTERES EN HEXADECIMAL ************************* a= 8 1 h= 8 8 = 6 A u= A 4 A= C 1 H= C 8 = 7 B U= 7 4 0= F 0 7= F 7 b= 8 2 i= 8 9 o= 9 6 v= A 5 B= C 2 I= C 9 O= D 6 V= D 5 1= F 1 8= F 8 c= 8 3 j= 9 1 p= 9 7 w= A 6 C= C 3 J= D 1 P= D 7 W= D 6 2= F 2 9= F 9 d= 8 4 k= 9 2 q= 9 8 x= A 7 D= C 4 K= D 2 Q= D 8 X= D 7 3= F 3 e= 8 5 l= 9 3 r= 9 9 y= A 8 E= C 5 L= D 3 R= D 9 Y= D 8 4= F 4 f= 8 6 m= 9 4 s= A 2 z= A 9 F= C 6 M= D 4 S= E 2 Z= E 9 5= F 5 g= 8 7 n= 9 5 t= A 3 G= C 7 N= D 5 T= E 3 6= F 6

4.01 PROGRAMACION MODULAR. -------------------Modulacion: consiste en pasar el control de un programa a ---------otro y volver al programa principal. Programacion modular: consiste en dividir un programa en -------------------subprogramas. ____________ PROG-1 ----------- ---------------------------- _________ ________ PROG-2 PROG-3 ----------------

----------------- ----------------PROG-21 PROG-22 ----------------Es decir, dentro de un programa se puede ordenar la ejecucion de otros programas y una vez realizados regresar al principal Una de las ventajas que presenta este tipo de programacion es el ahorro de menoria. La programacion modular necesita de unas instrucciones de enlace entre los programas que forman nuestro programa. Una seria la que cede el control, otra la que coge el control dentro del otro programa y la instruccion de salida para vol ver al programa anterior. cede ______________ ----<------- PROGRAMA-1 control ------------- _________________ recibe control____________ _____________ prog-2.1 prog-2.2 -----> -------------___________ devuelve control

4.02 Asi tenemos que definir dos tipos de programas: Programa llamador: sera el que transfiere el control durante el -----------------proceso. Es obligatorio que contenga una intruccion o declaracion de llamada (CALL). Programa llamado: sera el que recibe el control, podra tener una ----------------declaracion o sentencia de llegada (ENTRY) en el caso en el que no se quisiera ejecutar todo el programa y otra EXIT que tampoco es obligatoria. Tambien puede aparecer una sentencia de salida o punto de retorno que devuelve el control a la siguiente sentencia de la CALL.

Si entendenos por programa, un conjunto ordenado de instrucciones que siguen un tratamiento con unos datos de entrada y con el objeto de obtener unos resultados, a diferencia de la programacion lineal, tenemos que considerar tres elementos: 1. Instrucciones del programa: conjunto de informaciones

que describen el tratamiento de los datos. 2. Datos de entrada: el conjunto de informaciones que son objeto de tratarmiento. 3. Datos de salida o resultados: conjunto de informaciones que son la finalidad del tratamiento. El objetivo que se persigue con este tipo de programa cion es la CALIDAD (que funcione bien, un adecuado sistema operativo, poca memoria...). Esta caracteristica reune las siguientes propiedades: sencillez, fiabilidad, facilidad de mantenimiento, ocupacion de memoria reducida y tiempo de ejecucuion reducido. Veamos como la programacion modular suministra estas pro piedades: . Sencillez: La programacion modular divide el problema -----------complejo en modulos mas sencillos. Los modulos son mas pequeos y la logica de funcionamiento es mas simple. . Fiabilidad: Decimos que un programa es fiable cuando ------------la probabilidad de funcionamiento se acerca a la unidad. Como la programacion modular se basa en la division del programa en modulos

4.03 que son como pequeos programas, puedo ir probando todos por separa do con todos los casos posibles, de forma que la probabilidad de funcionamiento de cada uno se aproxime a la unidad, de esta forma, y tras el adecuado proceso de enlaze la probabidad de funcionamiensera casi uno. . Facilidad de mantenimiento: Se llama mantenimiento de un ----------------------------programa al conjunto de requisitos necesarios para adecuar a las nuevas exigencias que surgen a los largo del ciclo de vida del programa. Al estar dividido el programa en modulos independientes re sulta mas facil introducir en el lugar adecuado estas modificacion. . Ahorra memoria y tiempo: En la memoria solo tendremos el -------------------------modulo a ejecutar en ese momento.

PROGRAMACION ESTRUCTURADA. -------------------------Como una metodologia de programacion, mas debera perseguir los objetivos tipicos de una metodologia: . Ser aplicable a un conjunto suficientemente amplio de si

tuaciones. . Establecer un conjunto de pasos que proporcionen una guia para la construccion del programa. . Proporcionar modelos de programas para los casos elementales que se repiten sistematicamente en el desarrollo de aplica ciones. . Proporcionar una representacion grafica de la estructura del programa que: . Facilite la compresion de la logica . El fraccionamiento de la estructura en unida des logicas cuyo analisis pueda realizarse independientemente. En particular, la metodologia de programacion estructurada se basa en los siguientes principios:

4.04 - Segmentacion de programas: Un programa se disea descom---------------------------poniendolo en unidades logicas razonablemente pequeas que se lla man segmentos. Cada segmento representa una estructura logica, propia y coherente con el resto y esta formada por instrucciones del propio programa u otros segmentos. Esta segmentacion sera jeraraqui ca. Esta formada por un SEGMENTO RAIZ o INICIAL que es el de mas al to nivel, incluye a todos los demas y no esta incluido en ninguno, un SEGMENTO INTERMEDIO o DE CONTROL que son de nivel medio, estan incluidos dentro de un nivel superior y pueden incluir uno o varios del siguiente nivel, un SEGMENTO OPERATIVO que son los de mas bajo nivel, estan formados por instrucciones y no incluyen ningun otro nivel. - Desarrollo Top-Dawn: consiste en que el programa se a ---------------------de construir de forma que permita ir de lo general a lo particular hasta llegar al maximo nivel de detalle. - Teorema de la estructura: Las metodologias de programa--------------------------cion estructurada se basan todas ellas en el resultado obtenido en 1966 por Bohm y Jacopini que asegura que un programa, bajo ciertas condiciones muy generales puede realizarse mediante la combinacion de tres tipos de estructuras logicas elementales: . La secuencia de acciones. . La iteracion de acciones. . La seleccion entre varias acciones. Un punto en comun digno de mencionar que presentan en comun todas metodologias y que es ampliamente aceptado, es el papel

preponderante que conceden al analisis de datos en la concepcion del programa.

METODOS DE PROGRAMACION ESTRUCTURADA. ------------------------------------Bajo estos objetivos y principios se han ido desarrollando una serie de metodologias de programacion estructurada que difieren unas de otras principalmente en: . La forma en que se realiza el analisis de los datos. . La forma en que se deduce la estructura del programa de este analisis.

4.05 . La forma de codificacion del programa. . La representacion grafica que utiliza. Entre los mas utilizados, realizaremos un pequeo estudio de los tres mas tipicos: JACKSON, WARNIER y BERTINI. Metodologia Jackson. -------------------Esta metodologia de programacion se basa en: - Un analisis sistematico de los datos que proporciona directrices sistematicas para: - Construir la estructura del programa. - Descomponer el programa en varios programa. - Un conjunto de pasos que deben seguirse sistematicamente para lle gar finalmente al programa. - Un conjunto de reglas de codificacion. - Una notacion grafica para la descripcion de los datos y programas que constituyen la herramienta de trabajo basica en el diseo de lo programas. Esquena general del Metodo Jackson: Los pasos que se deben seguir cuando se disea un programa por este metodo son los siguientes: - Establecer la estructura de datos (tanto de entrada como de salida como internos).

- Buscar las correspondencias entre datos de entrada y datos de salida. - Establacer la estructura del programa. - Determinar las operaciones y asignarlas en la es tructura del programa. - Escribir el esquema logico o pseudocodigo. - Completada esta fase estariamos en condiciones de codificar el programa en el lenguaje elegido.

4.06 Antes de entrar en detalle de un analisis Jackson, ve remos las componentes logicas elementales y su representacion en el diagrama Jackson: - Para los datos: . secuencia de datos. . iteracion de datos. . seleccion de datos. - Para los programas: . secuencia de acciones. . iteracion de acciones. . seleccion de acciones.

La representacion grafica seria: ____________ A ____________ ------------_________ _________ A 1 A 2 ________ ________ A es SECUENCIA de A1 y A2 ____________ D _____________ B ___________ ____________ * C ___________ B es ITERACCION de C

____________ ------------_________ _________ o o D 1 D 2 ________ ________

D es SELECCION de D1 o D2

4.07 Veamos ahora paso por paso esta metologia:

- Estructura de datos: En el diseo de la estructura de datos no solo se tendran en cuenta los datos de entrada y salida sino que tambien se consideraran los datos internos, las especificaciones de l programa deben considerarse como punto de partida ya que el mismo conjunto de datos puede verse de distinta forma en funcion del programa. Partiendo del estudio del fichero o base de entrada y salida, procediendo siempre de lo general a lo particular y teniendo en cuenta que el fichero sera siempre el primer nivel y que siempre tendra como minimo una repetitiva de registros obtendremos la estructura deseada.

- Determinacion de las correspondencias entre datos: Los datos ocurren el mismo numero de veces en las estructura de datos entre las que se establece la correspondencia y es posible procesar los datos simultaneamente. Las correspondencias entre datos son la base para establecer el nucleo del programa.

- Estructura del programa: La estructura del programa debe contener una componente por cada componente de datos que hayamos identificado en la estructuras de datos, pudiendo suceder que haya componentes de algunas estructu ras que no intervengan en ninguna correspondencia por lo que no apa receran en el nucleo de estructura obtenido mediante el procedimien to de las correspondencias. Se creara una componente de programa por cada corresponden cia encontrada entre las estructuras de datos manteniendo las relaciones jeraraquicas de las estructuras de datos. Se aadira una componente a la estructura de programa por ca

da componente en las estructuras de datos de entrada que no figure en ninguna correspondencia. Hay que verificar que todas las componentes de datos de salida tienen una componente en la estructura del programa o con algun dato interno, sino el programa no se podra cumplimentar ya que no cumple las especificaciones y se deduce que el programa ha sido mal enfocado o que faltan datos de entrada.

4.08 - Asignacion de operaciones: Respondiendo a la vision amplia habitual de abtaccion que en particular esta implantada en los sistemas, definirenos operacion como una accion elemental sobre un conjunto de datos y bajo esta concepcion tendremos: - operaciones simples, instrucciones basicas de nuestro leng - operaciones complejas, llamadas a subrutinas implementadas por la instalacion Se iran colocando operacines como abir o cerrar ficheros, leer.... y las relacionadas con los procesos de control de iteraciones.

5.01 C.S.P. ======== ======== Para generar una aplicacion ON LINE en C.S.P. - Seleccionar CICS/OS/VS o MVS por LOTE con la opcion 5.2 en el panel de generacion. - Generar la aplicacion con la opcion 1 del mismo panel. Si es la primera vez que se genera, guardar las condiciones de generacion. - Salir de C.S.P. - Ejecutar en la linea de comando del TSO la instruccion: TSO CSPMOD nombre-de-programaX - Hacer BIND en ON LINE (5.0) con: PLAN MIEMBROS ===> nombre-de-plan (**) ===> nombre-de-programaX ===> DCBDB2 .

Si es primera vez . PLAN NUEVO ===> YES - Dar nueva copia en CICS con la CEMT a nombre-de-programaX. - Es recomendable dar nueva copia tambien en la ALF con XSPE UTILALF.ALFUTIL nombre-de-programa. (**) Normalmente es el mismo nombre que el del programa.

5.02 OPERACIONES CUMUNES AL INICIO DE TODOS LOS PROGRAMAS ---------------------------------------------------C.S.P. -----1. MOVE 1 --MOVE 1 TO EZECNVCM TO EZEFEC

2. COMPROBAR EL PROGRAMA LLAMANTE. SI NO ES EL ESPERADO HACER --EZECLOSE. 3. INICIAR LAS VARIABLES NECESARIAS EN EL PROGRAMA (INCLUIDO EL --NUEVO NOMBRE DEL PROGRAMA EN TUTPROGRA). 4. HACER CONVERSE DE LA PANTALLA MOVIENDO LA HORA. ---

ERRORES DE DLI O DB2 Y NORMALES ---------------------------------

1. ERRORES NORMALES DE VALIDACION: ------------------------------. MOVER EL LITERAL DEL ERROR AL CAMPO EZEMSG DEL MAPA. . CONVERSE DEL MAPA.

2. ERRORES DE DB2:

--------------. MOVE EZESQCOD TO TUTCDMGN

. IF TUTCDMGN < 0 TUTCDMGN = TUTCDMGN * (-1) END.

5.03 . MOVE ' ERROR DEL SISTEMA PARA DB2. ' . MOVE TVTMENSA TO TVT0070A TO EZEMSG.

. SI HAY QUE DESHACER ACTUALIZACIONES DE OTRAS TABLAS: CALL EZEROLLB. . CONVERSE DEL MAPA . EZECLOS.

3. ERRORES DLI: -----------. MOVE ' ERROR DEL SISTEMA PARA DLI. ' . CONVERSE DEL MAPA. . EZECLOS. TO EZEMSG.

6.01 T . P . X - 3 ___________________ ___________________

INTRODUCCION ============

El TPX (Terminal Productivity Executive) es una aplicacion VTAM para el manejo de las aplicaciones y sesiones de una forma sencilla desde un solo terminal. Es un sistema multisesion capaz de controlar indefini-

das sesiones desde un terminal, utilizando un solo terminal virtual.

6.02 UTILIZACION Y COMANDOS =========================

ACCESO ______ Se accede mediante panel TPX con usuario y password. De momento con LOGON APPLID(TPX). Una vez rebasado el panel de acceso aparecen todas las sesiones de las que dispone el usuario. Asimismo en la parte superior de dicho panel nos indica: - Tecla para utilizacion de comandos desde cualquier sesion. - Tecla de salto entre sesiones. - Tecla del menu. - Caracter previo para la utilizacion de comandos TPX dentro de una sesion. - Tecla de impresion. En la parte inferior de dicho panel nos indica el uso de las teclas PF. Disponemos de paneles de ayuda online TPX simplemente colocando el cursor en el campo que se desee solicitar panel de ayuda pulsando la F1. Para ayuda de un comando teclearemos H 'comando'. Para activar una sesion determinada, colocaremos el cursor delante de dicha sesion y pulsaremos INTRO. (Tambien tecleando una A e INTRO delante de dicha sesion).

6.03 Para activar todas las sesiones de que disponemos teclearemos en linea de comandos A ALL. Para inactivar una sesion determinada, colocaremos el cursor delante de dicha sesion, y teclearemos I e INTRO. Para inactivar todas las sesiones activas, teclearemos I ALL en linea de comandos. Para salirse de TPX teclearemos una F e INTRO en linea de comandos. Para abandonar y hacer LOGOFF a TPX teclearemos K e INTRO en linea de comandos.

6.04 TECLAS DE FUNCION ___________________

Activa la sesion especificada.

A ALL Activa todas las sesiones de las que dispone el usuario. G Activa la sesion ignorando la clist de arranque

G ALL Activa todas las sesiones de las que dispone el usuario ignorando las clist de arranque. N I Activa la sesion especificada en modo PASS. Inactiva la sesion especificada.

I ALL Inactiva todas las sesiones que esten activas. F Inactiva todas las sesiones y vuelve al panel inicial de TPX.

Inactiva todas las sesiones ignorando las clists de abandono, y haciendo LOGOFF al TPX. Salta entre las sesiones activas por el orden en que esten colocadas en el panel inicial (este orden se puede variar). Abandona momentaneamente la sesion para ir al panel inicial y elegir una nueva sesion. Permite bloquear el terminal, para su abandono, sin perder sesiones y obligando al usuario a teclear la password para acceder de nuevo.

AP1

AP2

6.05 Q user Permite enviar a todo usuario TPX la pantalla completa que tenemos en nuestro terminal, con el unico objeto de que pueda visualizarla sin desplazarse hasta nuestro uesto de trabajo. P Imprime la pantalla que estamos visualizando en la impresora que tenemos asignada por defecto.

P LOG Imprime la pantalla que estamos visualizando en el LOG del TPX. PFKs Permite perfilar a nivel de usuario el uso de las teclas PF para cambiar entre sesiones, activar, desactivar, etc. Permite acceder a la libreria TPX MAILBOX.

Vous aimerez peut-être aussi