M9 CICS

42
CICS Febrero de 2008

description

CICS

Transcript of M9 CICS

  • CICS

    Febrero de 2008

  • CICSCICS

    Customer Customer

    InformationInformation

    ControlControl

    SystemSystem

  • OLTP (onOLTP (on--line transaction procesing)line transaction procesing)

    SISTEMA OPERATIVO

    CICS

    USUARIO PROGRAMASFICHEROS

    Y BASES

    DE DATOS

  • Mdulos del CICSMdulos del CICS

    KCKCControl de TareasControl de Tareas

    SCSCControl de MemoriaControl de Memoria

    PCPCControl de ProgramasControl de Programas

    TCTCControl de terminalesControl de terminales

    FCFCControl de FicherosControl de Ficheros

    TDTDControl datos Control datos

    transitoriostransitorios

    TSTSControl memoria Control memoria

    temporaltemporal

    BMS, IC, DCBMS, IC, DC

  • Tablas del CICSTablas del CICS

    TCTTCTTerminalesTerminales

    PCTPCTTransaccionesTransacciones--

    >Programas>Programas

    PPTPPTProgramasProgramas

    FCTFCTFicherosFicheros

    DCTDCTFichero datos Fichero datos

    transitoriostransitorios

  • ConversacinConversacin

    Conversacional:Conversacional:1. Visualizar pantalla

    2. Esperar respuesta

    3. Recibir respuesta

    4. Actualizar fichero

    5. Visualizar un mensaje de O.K.

    No conversacional:No conversacional:

    Se realiza la tarea y el programa

    desaparece

  • PseudoconversacionalPseudoconversacional

    Transaccin 1:Transaccin 1:

    1. Visualizar pantalla

    Transaccin 2:Transaccin 2:

    3. Recibir respuesta

    4. Actualizar fichero

    5. Visualizar un mensaje de O.K.

  • Funcionamiento del CICSFuncionamiento del CICS

    TCTC PCPC

    ACCT

    1

    2

    3

    Librera

  • Funcionamiento del CICSFuncionamiento del CICS

    BMSBMS PCPC

    Men

    5

    3

    Librera

    PROGRAMA

    ACCT00

    4

  • Funcionamiento del CICSFuncionamiento del CICS

    BMSBMS PCPC FCFC

    Seleccin

    8

    Librera

    PROGRAMA

    ACCT01

    7

    Fichero

    6

  • Proceso de compilacinProceso de compilacin

    FuenteTraductor

    Informe

    Traductor

    Fuente

    traducido Compilador

    Informe

    Compilador

    Objeto Linkeditor

    Informe

    Linkeditor

    Load

  • Restricciones programas CICSRestricciones programas CICS

    No se pude utilizar:No se pude utilizar: La INPUT-OUTPUT SECTION dentro de la

    ENVIRONMENT DIVISION

    La FILE SECTION dentro de la DATA DIVISION

    Los verbos: READ WRITE OPEN CLOSE ACCEPT DISPLAY TRACE SORT Etc.

  • Formato comandos CICSFormato comandos CICS

    EXEC CICS

    RECEIVE MAP(A)

    END-EXEC

    MOVE TO DFHEIV0

    MOVE A TO DFHC0070

    CALL DFHEI1 USING DFHEIV0 DFHC0070

    Caracteres no

    imprimibles

    El traductor se encarga

    de definir las variables

    necesarias en nuestro

    programa

  • Ficheros soportadosFicheros soportados

    DAM (Direct Access Method)DAM (Direct Access Method)

    VSAM (Virtual Storage Access Method)VSAM (Virtual Storage Access Method)

    KSDS (Key Sequenced Data Set)

    ESDS (Entry Sequenced Data Set)

    RRDS (Relative Record Data Set)

  • Gestin de erroresGestin de errores

    EXEC CICS

    HANDLE CONDITION

    DUPREC(prrafo)

    ERROR(prrafo)

    END-EXEC

    01 C-RESP PIC S9(8) COMP.

    EXEC CICS

    RECEIVE MAP(A)

    RESP(C-RESP)

    END-EXEC

    IF C-RESP = DFHRESP(MAPFAIL) ...

  • Transferencia de controlTransferencia de control

    Va CALLVa CALL

    Tal y como se haca en los programas batch

    Va LINKVa LINK

    Equivale a una PERFORM. El programa llamado se

    ejecuta y al terminar se devuelve el control a la

    siguiente instruccin

    Va XCTLVa XCTL

    Equivale a un GOTO. El programa llamador se

    descarga de la memoria y se ejecuta el programa

    llamado

    Va RETURN (opcin TRANSID)Va RETURN (opcin TRANSID)

    Slo puede emitir un RETURN con opcin TRANSID

    un programa que devuelve control al CICS

  • LINKLINK

    EXEC CICS

    LINK

    PROGRAM(nombre)

    [COMMAREA(identificador)]

    [LENGTH(identificador)]

    END-EXEC

  • XCTLXCTL

    EXEC CICS

    XCTL

    PROGRAM(nombre)

    [COMMAREA(identificador)]

    [LENGTH(identificador)]

    END-EXEC

  • RETURNRETURN

    EXEC CICS

    RETURN

    TRANSID(nombre)

    [COMMAREA(identificador)]

    [LENGTH(identificador)]

    END-EXEC

  • STARTSTART

    EXEC CICS

    START

    TRANSID(nombre)

    [COMMAREA(identificador)]

    [LENGTH(identificador)]

    [INTERVAL(hhmmss) COMP-3]

    END-EXEC

  • RETRIEVERETRIEVE

    EXEC CICS

    RETRIEVE

    [INTO(identificador)]

    [LENGTH(identificador)]

    END-EXEC

  • Paso de datos Paso de datos

    El programa llamador:El programa llamador:

    Define la COMMAREA en la WORKING-STORAGE SECTION con cualquier nombre

    El programa llamado:El programa llamado:

    Recibe los datos en un rea de la LINKAGE SECTION que debe llamarse DFHCOMMAREA.

    Puede determinar la longitud de este rea a travs de EIBCALEN

    La COMMAREA se pasa por referenciaLa COMMAREA se pasa por referencia

  • Control de terminalesControl de terminales

    EXEC CICS

    SEND

    MAP(nombre)

    [MAPSET(nombre)]

    [ERASE]

    [FREEKB]

    END-EXEC

    EXEC CICS

    RECEIVE

    MAP(nombre)

    [MAPSET(nombre)]

    END-EXEC

  • Lectura de ficherosLectura de ficheros

    EXEC CICS

    READ

    DATASET(nombre)

    INTO(rea-datos)

    [LENGTH(long.)]

    RIFLD(clave)

    [KEYLENGTH(long.) GENERIC]

    [GTEQ | EQUAL]

    [UPDATE]

    END-EXEC

  • Browse de ficherosBrowse de ficheros

    EXEC CICS

    STARTBR | RESETBR

    DATASET(nombre)

    RIFLD(clave)

    [REQID(nmero)]

    [KEYLENGTH(long.) GENERIC]

    [GTEQ | EQUAL]

    END-EXEC

    EXEC CICS

    ENDBR

    DATASET(nombre)

    [REQID(nmero)]

    END-EXEC

  • Browse de ficherosBrowse de ficheros

    EXEC CICS

    READNEXT | READPREV

    DATASET(nombre)

    INTO(rea-datos)

    [LENGTH(long.)]

    RIFLD(clave)

    [KEYLENGTH(long.)]

    [REQID(nmero)]

    END-EXEC

  • Escritura de ficherosEscritura de ficheros

    EXEC CICS

    WRITE

    DATASET(nombre)

    FROM(rea-datos)

    [LENGTH(long.)]

    RIFLD(clave)

    [KEYLENGTH(long.)]

    END-EXEC

    EXEC CICS

    REWRITE

    DATASET(nombre)

    FROM(rea-datos)

    [LENGTH(long.)]

    END-EXEC

  • Borrado/liberacin de registrosBorrado/liberacin de registros

    EXEC CICS

    DELETE

    DATASET(nombre)

    [RIFLD(clave)]

    END-EXEC

    EXEC CICS

    UNLOCK

    DATASET(nombre)

    END-EXEC

  • Datos temporalesDatos temporales

    Datos transitoriosDatos transitorios

    Definidos previamente

    Slo se leen una vez

    Permiten el arranque de transacciones

    Extraparticin

    Intraparticin

    Memoria temporalMemoria temporal

    Borrado explicito

    Acceso secuencial o directo

    Memoria o disco

  • Colas TD (Transient Data)Colas TD (Transient Data)

    EXEC CICS

    WRITEQ TD

    QUEUE(nombre)

    FROM(rea-datos)

    [LENGTH(long.)]

    END-EXEC

    EXEC CICS

    READQ TD

    QUEUE(nombre)

    INTO(rea-datos)

    [LENGTH(long.)]

    END-EXEC

    EXEC CICS

    DELETEQ TD

    QUEUE(nombre)

    END-EXEC

  • Colas TS (Temporary Storage)Colas TS (Temporary Storage)

    EXEC CICS

    WRITEQ TS

    QUEUE(nombre)

    FROM(rea-datos)

    [LENGTH(long.)]

    [ITEM(rea-datos) [REWRITE]]

    [MAIN | AUXILIARY]

    END-EXEC

    EXEC CICS

    READQ TS

    QUEUE(nombre)

    INTO(rea-datos)

    [LENGTH(long.)]

    NUMITEMS(rea-datos)

    [ITEM(rea-datos) | NEXT ]

    END-EXEC

  • Colas TS (Temporary Storage)Colas TS (Temporary Storage)

    EXEC CICS

    DELETEQ TS

    QUEUE(nombre)

    END-EXEC

  • BMS (Basic Map Support)BMS (Basic Map Support)

    Permite la definicin de mapas para la Permite la definicin de mapas para la

    visualizacin de datos formateadosvisualizacin de datos formateados

    Tres macros:Tres macros:

    DFHMSD: define un mapset

    DFHMDI: define un mapa

    DFHMDF: define un campo

    Genera un fichero con la definicin a Genera un fichero con la definicin a

    incluir en nuestro programaincluir en nuestro programa

  • Definicin de mapasDefinicin de mapas

    MAP DFHMSD TYPE=MAP,MODE=INOUT,LANG=COBOL,CTRL=FREEKB, X

    TIOAPFX=YES,STORAGE=AUTO

    JK01 DFHMDI SIZE=(24,80)

    TRANS DFHMDF POS=(01,01),ATTRB=(FSET,UNPROT,BRT), X

    LENGTH=04

    DFHMDF POS=(01,30),LENGTH=21,ATTRB=(ASKIP,BRT), X

    INITIAL=' CAPTURA DE PEDIDOS '

    ACTCODE DFHMDF POS=(03,09), X

    ATTRB=(FSET,UNPROT,IC,BRT),LENGTH=03

    HDGKEY2 DFHMDF POS=(04,68),ATTRB=(FSET,NUM,BRT), X

    PICOUT='Z(7)',JUSTIFY=LEFT

    DRKTRAN DFHMDF POS=(03,13),ATTRB=(FSET,ASKIP,DRK), X

    LENGTH=04

  • Transacciones CICSTransacciones CICS

    CEMT: CEMT:

    Master Terminal Transaction

    CECI: CECI:

    Command Level Interpreter Transaction

    CEBR: CEBR:

    Temporary Storage Browse Transaction

    CEDF: CEDF:

    Command Level Execution Diagnostic

    Tansaction

    CEDA:CEDA:

    Resource Definition on-line

  • CEMTCEMT

    CEMT InquireALL

    (nombre*)

    FIle

    PROGram

    TDqueue

    TErminal

    TRAnsaction

    TSqueue

    CEMT

    Discard

    Inquire

    Perform

    Set

    CEMT Set PRogram nombre NEwcopy

  • Ejercicio IEjercicio I

    Definir el siguiente mapa:

    ----+----1----+----2----+----3----+----4----+----5----+

    EJ01 MANTENIMIENTO EMPLEADOS

    =======================

    Accin.....: X (A,B,M,C)

    Nmero.....: 999999

    Nombre.....: XXXXXXXXXXXXXXXXXXXXXXXXX

    Apellidos..: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Edad.......: 99

    Ciudad.....: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Autonoma..: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Ejercicio IEjercicio I

    Realizar el programa EJCICS01 de forma que muestre el mapa anterior:

    La primera vez con todos los campos en blanco y desbloqueados.

    Se verificar el cdigo de accin, visualizando un mensaje de error, si el cdigo es

    errneo.

    Si el cdigo seleccionado es A se verificar que se han tecleado todos los campos y que

    el nmero de empleado no existe ya en la tabla EMPINFO, si se han pasado las

    validaciones se dar de alta en la tabla y se volver a visualizar el mapa con todos los

    campos desbloqueados.

    Si el cdigo seleccionado es B se verificar que se ha tecleado el nmero de empleado y

    que existe en la tabla EMPINFO, si se han pasado las validaciones se eliminar de la

    tabla y se volver a visualizar el mapa con todos los campos desbloqueados.

    Si el cdigo seleccionado es M se verificar que se han tecleado todos los campos y que

    el nmero de empleado existe en la tabla EMPINFO, si se han pasado las validaciones

    se modificar en la tabla y se volver a visualizar el mapa con todos los campos

    desbloqueados.

    Si el cdigo seleccionado es C se verificar que se ha tecleado el nmero de empleado y

    que existe en la tabla EMPINFO, si se han pasado las validaciones visualizar el mapa

    con los datos de la tabla.

  • CCustomer ustomer IInformation nformation CControl ontrol SSystemystem

    Producto de I.B.M. utilizado para el manejo de Producto de I.B.M. utilizado para el manejo de aplicaciones ON LINEaplicaciones ON LINE

    Plataforma en el Mainframe por la cual programas Plataforma en el Mainframe por la cual programas Cobol son capaces de realizar procesos Cobol son capaces de realizar procesos transaccionales en una terminaltransaccionales en una terminal

    CICS

  • FIN DE MODULO

  • FIN DE MODULO

  • 42

    Derechos de autorDerechos de autor

    Este producto has sido elaborado porEste producto has sido elaborado por

    Jorge Godnez Rodrguez.Jorge Godnez Rodrguez.

    Derechos reservadosDerechos reservados

    Prohibida su reproduccin parcial o total