[RESUMEN DEELEMENTOS DE CICS] Sintaxis de sentencias por temas, códigos de error, macros de mapas [RESUMEN DE ELEMENTOS DE CICS] Tablas del CICS.................................................................................................... 7 Áreas de comunicación para pasar datos de un programa a otro.......................7 LINK........................................................................................................... 7 XCTL.......................................................................................................... 7 RETURN..................................................................................................... 8 ABEND....................................................................................................... 8 Comunicaciones con el mapa............................................................................. 8 SEND......................................................................................................... 8 RECEIVE..................................................................................................... 9 SEND TEXT................................................................................................. 9 Sentencias de obtención de la fecha y hora.......................................................9 ASKTIME..................................................................................................... 9 FORMATTIME.............................................................................................. 9 Operaciones con ficheros.................................................................................. 10 READ....................................................................................................... 10 UNLOCK................................................................................................... 11 WRITE...................................................................................................... 11 TOKEN..................................................................................................... 11 SENTENCIAS DE ACTUALIZACIÓN DE ARCHIVOS............................................12 REWRITE.................................................................................................. 12 DELETE.................................................................................................... 12 Temporary Storage............................................................................................ 12 WRITEQ TS............................................................................................... 12 READQ TS................................................................................................ 13 DELETEQ TS............................................................................................. 13 Revisión de un archivo: Browse.........................................................................13 STARTBR.................................................................................................. 13 RESETBR.................................................................................................. 13 READPREV............................................................................................... 14 READNEXT............................................................................................... 14 ENDBR..................................................................................................... 14 [RESUMEN DE ELEMENTOS DE CICS] Interface de Programación de Alto Nivel (HLPI).................................................15 EIB................................................................................................................. 15 EIBAID............................................................................................................ 17 Basic Mapping Support (BMS)...........................................................................18 Macros para la generación de Mapas.............................................................18 DFHMSD.................................................................................................. 18 DFHMDI.................................................................................................... 19 DFHMDF................................................................................................... 20 Accesar a las areas de cics............................................................................... 23 ADDRESS................................................................................................. 24 Códigos de excepciones.................................................................................... 24 Códigos de retorno en EIBRESP.........................................................................26 NORMAL................................................................................................... 26 ERROR..................................................................................................... 26 RDATT...................................................................................................... 26 WRBRK.................................................................................................... 26 EOF.......................................................................................................... 27 EODS....................................................................................................... 27 EOC.......................................................................................................... 27 INBFMH.................................................................................................... 27 ENDINPT.................................................................................................. 27 NONVAL................................................................................................... 27 NOSTART.................................................................................................. 27 TERMIDERR.............................................................................................. 27 FILENOTFOUND........................................................................................ 27 NOTFND................................................................................................... 27 DUPREC................................................................................................... 27 DUPKEY.................................................................................................... 27 INVREQ.................................................................................................... 27 IOERR...................................................................................................... 27 NOSPACE................................................................................................. 27 NOTOPEN................................................................................................. 27 ENDFILE................................................................................................... 27 [RESUMEN DE ELEMENTOS DE CICS] ILLOGIC.................................................................................................... 27 LENGERR................................................................................................. 27 QZERO..................................................................................................... 27 SIGNAL..................................................................................................... 27 QBUSY..................................................................................................... 27 ITEMERR.................................................................................................. 27 PGMIDERR............................................................................................... 27 TRANSIDERR............................................................................................ 27 ENDDATA................................................................................................. 27 INVTSREQ................................................................................................ 27 EXPIRED................................................................................................... 27 RETPAGE.................................................................................................. 27 RTEFAIL.................................................................................................... 27 RTESOME................................................................................................. 27 TSIOERR................................................................................................... 27 MAPFAIL................................................................................................... 27 INVERRTERM............................................................................................ 27 INVMPSZ.................................................................................................. 27 IGREQID................................................................................................... 27 OVERFLOW.............................................................................................. 27 INVLDC.................................................................................................... 27 NOSTG..................................................................................................... 27 JIDERR...................................................................................................... 27 QIDERR.................................................................................................... 27 NOJBUFSP................................................................................................ 27 DSSTAT.................................................................................................... 27 SELNERR.................................................................................................. 27 FUNCERR................................................................................................. 27 UNEXPIN.................................................................................................. 27 NOPASSBKRD........................................................................................... 27 NOPASSBKWR.......................................................................................... 27 SYSIDERR................................................................................................. 27 ISCINVREQ............................................................................................... 28 .30 Modificación a los atributos de pantalla:........................................................... 28 IGREQCD................................................... 28 SUPPRESSED................................................... 28 SYSBUSY........................................................................................................................................................................................................................................28 Reglas para color y posición de los campos:.......................................................................................33 ........................................................30 Subfijos de los campos de atributo...................................28 Formato y contenido del byte de atributo....................................................................... 28 INVPARTN............ 28 LOADING........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 28 ENVDEFERR.........................................................................................[RESUMEN DE ELEMENTOS DE CICS] ENQBUSY.. 28 Recomendaciones de formateo de pantallas.....................................................................................................................................................29 Atributos extendidos.........................................................................................................33 CESF: The sign off transaction......... 30 Modificar los atributos al byte atributo......... 28 INVPARTNSET.................................28 Reglas para asignar función de teclas:........ 28 OPENERR................................................................................................................................................................................................................. 28 INVEXITREQ.................................................................................... 28 TERMERR................................................................................................................... 28 SESSIONERR.................................. 28 DISABLED........ 28 PARTNFAIL.................................................................... 28 USERIDERR................................................ 32 CESN: The signo n transaction.......................................................................................................................... 28 CBIDERR..................................32 Transacciones de servicio...29 Contenido del byte atributo........................31 Procedimiento de jcl para ensamblar el mapa.................................................................................................................................................... 28 SESSBUSY........................................................................ 28 NOTALLOC......................................................... 28 NOTAUTH..... 28 ROLLEDBACK............................... .................................................... 36 Comandos para el uso del control de almacenamiento de CICS...............[RESUMEN DE ELEMENTOS DE CICS] CEMT: The master terminal transaction.......................................................................................................... 37 Comandos para el uso del proceso de recuperamiento (journal control)...............................................39 .... 34 RETRIEVE..36 SUSPEND........................................... 35 CANCEL..........................................................................................................................................................................................................................................................38 SYNCPOINT.......................................................................................................................................... 33 Comando para el uso del Intervalo de control del CICS.......................................................................................................................................................37 GETMAIN.................................................. 36 ENQ y DEQ...............33 Otros comandos de CICS......................... 36 Comandos para el uso del control de tareas de CICS....34 START................................ 38 Control de versiones del documento..................33 CECI: Interprete de comandos............................................................................................. XCTL PROGRAM (Nombre del Programa ) COMMAREA (Nombre del área de comunicación) LENGTH (Longitud del área de comunicación) El error más común en la transferencia es: EIBRESP = 27 (PGMIDERR) . 01 DFHCOMMAREA PIC X(200). LLAMAR AUN PROGRAMA EN CICS LINK el programa llamado se localiza a un nivel Lógico inferior EXEC CICS LINK PROGRAM (‘nombre del programa’) COMMAREA (WCA-COMMAREA) mandar datos END-EXEC XCTL Transfiere el control a un programa del mismo nivel lógico. Declaración en COBOL para accede a los datos.[RESUMEN DE ELEMENTOS DE CICS] Tablas del CICS La TABLA PCT (Program Control Table) para el nombre de la Transacción y su asociación con el programa. O1 WCA-COMMAREA. La TABLA FCT (File Control TABLE) para los nombres de los archivos que usara la transacción. WORKING-STORAGE SECTION. . LINKAGE SECTION. PROCEDURE DIVISION. La TABLA PPT (Program Process Table) para el nombre del programa asociado con la transacción. Áreas de comunicación para pasar datos de un programa a otro DATA DIVISION. El programa esta deshabilitado (EIBRESP2=2). ABEND [ABCODE(abend-code)] [NODUMP] Comunicaciones con el mapa SEND Envía datos al mapa SEND MAP (Nombre de MAPA) MAPSET (Nombre del MAPSET) [FROM (Nombre de área) ] [LENGTH (Dato numérico) ] [CURSOR (Posición del cursor)] de 1 a 1920 [ERASE | ERASEAUP] [MAPONLY | DATAONLY] [ALARM] ERASE indica que se debe borrar el BUFFER de pantalla antes de que se exhiban los datos.[RESUMEN DE ELEMENTOS DE CICS] Ocurre en alguna de las siguientes situaciones: El programa no esta declarado en la PPT (EIBRESP2=1). La definición del programa es para un programa remoto (EIBRESP2=9). El programa no se puede cargar (EIBRESP2=3). RETURN Regresar el control RETURN [TRANSID (Nombre de la transacción )] [ COMMAREA (Nombre del área de comunicación)] [ LENGTH (Longitud del área de comunicación)] El área de comunicaciones indicada en COMMAREA debe estar declarada en la LINKAGE SECTION su nombre debe ser DFHCOMMAREA y se utiliza como medio de comunicación entre las Transacciones. ABEND Transfiere el control a una rutina abend o regresa el control a CICS. . [RESUMEN DE ELEMENTOS DE CICS] RECEIVE Recibe datos del mapa RECEIVE MAP MAPSET INTO (Nombre de MAPA) (Nombre del MAPSET) (Área de datos) En caso de un error en la recepción del mapa. ) FORMATTIME Da formato a la fecha y hora obtenida por ASKTIME FORMATTIME ABSTIME (Área de datos con la fecha en forma numérica) [DATE(data-name)] [FULLDATE(data-name)] DATESEP (Separador de fecha) TIMESEP (Separador de hora) Formato de la fecha (Área para fecha) WX-DATE (PIC X(8) ) TIME (Área para la hora) WX-HORA (PIC X(8) ) Ejemplo: EXEC CICS FORMATTIME ABSTIME (WF-ABSTIME) DATESEP ('/') TIMESEP (':') YYDDD YYMMDD . ASKTIME [ABSTIME (Área de datos)] WF-ABSTIME ( PIC S9(15) COMP-3. se genera el código 36 (MAPFAIL) en EIBRESP SEND TEXT Comando para enviar un mensaje a la terminal sin crear un BMS mapset. SEND TEXT FROM(data-name) [ERASE] [FREEKB] Sentencias de obtención de la fecha y hora ASKTIME Obtiene el timestamp del sistema en entero sin formato. En caso de no localizar el registro solicitado. el EIBRESP contiene el valor 13 (NOTFND) .[RESUMEN DE ELEMENTOS DE CICS] DDMMYY (WX-DATE) <.el formato de fecha TIME (WX-HORAS) END-EXEC YYDDMM DDMMYY MMDDYY Variantes del formato de fecha Operaciones con ficheros READ Lectura de un archivo VSAM READ FILE (Nombre de archivo) INTO (Nombre de área) [LENGTH (Longitud del área de datos)] RIDFLD (Área de la clave) [GENERIC] [RRN | RBA] [KEYLENGTH (Longitud del área de clave)] [GTEQ | EQUAL] [RESP(RESPONSE-CODE)] [UPDATE] Si se utiliza la opción UPDATE. se localiza un registro para posteriormente borrarlo (Ver DELETE) o para modificarlo (Ver REWRITE). podemos desbloquear el registro con el comando UNLOCK.[RESUMEN DE ELEMENTOS DE CICS] UNLOCK Si realizas una operación de READ con la opción UPDATE. y se detecta que nos es necesario actualizar o borrar el registro. el EIBRESP contiene el valor 14 (DUPREC) TOKEN Se utiliza para hacer más de una actualización a registros: . UNLOCK FILE(filename) WRITE Escritura de un archivo VSAM WRITE FILE (Nombre de archivo) FROM (Nombre de área) [LENGTH (Longitud del área de datos)] RIDFLD (Área de la clave) MASSINSERT [KEYLENGTH (Longitud del área de clave)] [RRN | RBA] En caso de que la clave de acceso en RIDFLD ya exista en el archivo (CLAVE DUPLICADA). el CICS devuelve el número de registros borrados en la variable indicada en NUMREC. se crea una con el nombre indicado y se escribe el primer registro. se puede reescribir un determinado registro. para borrar un registro que previamente se ha leído para modificarlo con el comando READ UPDATE. En caso de usar GENERIC. el registro no se reescribe.[RESUMEN DE ELEMENTOS DE CICS] SENTENCIAS DE ACTUALIZACIÓN DE ARCHIVOS REWRITE Si se específica la clausula UPDATE en read. Si la cola no existe. FROM (Nombre de área) [LENGTH (Longitud del área de datos)] [ITEM (Area Numérica) REWRITE] PIC S9(04) COMP-3 [NUMITEMS(data-name)] [MAIN | AUXILARY] WRITEQ TS Añade un nuevo registro a la cola. REWRITE FILE FROM [LENGTH (Nombre de archivo) (Área de datos) (Dato numérico)] DELETE Si se específica la clausula UPDATE en read. DELETE FILE RIDFLD [KEYLENGTH [RRN | RBA] [GENERIC (Nombre de archivo) (Área de datos) (Dato numérico)] [ NUMREC (Área de datos)] ] Se puede eliminar un grupo de registros con un solo comando DELETE. Pero en este caso. sino que se borra. Si se usa la opción . Existe una forma diferente de este comando. en este caso no se especifica la opción RIDFLD Temporary Storage WRITEQ TS WRITEQ TS QUEUE (Nombre de cola) 4 caracteres máx. identificando el grupo con la opción GENERIC. se puede borrar un determinado registro. devuelve el numero de registro (Ítem) que se grabo en la cola. DELETEQ TS Borrar una cola DELETEQ TS {QUEUE | QNAME} (Nombre de Cola) El código 44 (QIDERR) corresponde a un error en el nombre de la cola. se genera el código 26 (ITEMERR) en la variable EIBRESP. READQ TS QUEUE (Nombre de cola) INTO (Nombre de área) [LENGTH (Longitud del área de datos)] [ITEM (data-name | literal) | NEXT] [NUMITEMS(data-name)] Si el numero de ítem no se localiza en la cola. en la variable de ITEM se pone el número del ítem que se va a modificar.[RESUMEN DE ELEMENTOS DE CICS] REWRITE. Revisión de un archivo: Browse STARTBR Inicia el Browse en un determinado registro. READQ TS Lee un elemento de la cola. se equivoco con el nombre de la cola. STARTBR FILE (Nombre del archivo) RIDFLD (Nombre del área de clave) [REQID (Numero de la revisión) ] [RRN | RBA] [GTEQ | EQUAL] [GENERIC] KEYLENGTH (Longitud del área de clave) . Si se usa REWRITE. no se añade un nuevo registro. El área numérica (PIC S9(04) COMP-3) en ITEM. sino que se reescribe el registro indicado en ITEM. es decir. El código de error 16 (INVREQ) corresponde al caso de una revisión no iniciada. RESETBR FILE (Nombre del archivo) RIDFLD (Nombre del área de clave) [RRN | RBA] [GTEQ | EQUAL] [GENERIC] KEYLENGTH (Longitud del área de clave) READPREV Lee un registro anterior READPREV FILE (Nombre del archivo) INTO (Area de datos) LENGTH (Longitud de datos) RIDFLD (Area de clave) KEYLENGTH (Long. . el valor por default es Cero. de clave) [REQID (Numero de la revisión) ENDBR Finaliza el browse ENDBR FILE [REQID (Nombre de archivo) (Nombre de área) ] El valor REQID es un identificador (S9(04) COMP-3) numérico que se usa para identificar diferentes solicitudes de BROWSE.[RESUMEN DE ELEMENTOS DE CICS] RESETBR Para reiniciar el browse a una nueva posición. de clave) [REQID (Numero de la revisión) READNEXT Lee el siguiente registro READNEXT FILE (Nombre del archivo) INTO (Area de datos) LENGTH (Longitud de datos) RIDFLD (Area de clave) KEYLENGTH (Long. Si se omite REQID. [RESUMEN DE ELEMENTOS DE CICS] Interface de Programación de Alto Nivel (HLPI) Esta interface está compuesta de un conjunto de mandatos que se insertan en los programas COBOL cuando se necesita una función del CICS. EIB . [RESUMEN DE ELEMENTOS DE CICS] . 02 DFHPF7 PIC X VALUE IS '7'. 02 DFHENTER PIC X VALUE IS ''''.'. 02 DFHTRIG PIC X VALUE IS '''. La definición de las teclas de control se realiza con la copy DFHAID. Basic Mapping Support (BMS) . 02 DFHPF11 PIC X VALUE IS '#'. 02 DFHSTRF PIC X VALUE IS 'h'. 02 DFHCLRP PIC X VALUE IS '('.[RESUMEN DE ELEMENTOS DE CICS] EIBAID Guarda la tecla de control utilizada para transmitir la última entrada de datos por pantalla. 02 DFHPF2 PIC X VALUE IS '2'. 02 DFHMSRE PIC X VALUE IS 'X'. 02 DFHPF4 PIC X VALUE IS '4'. 02 DFHPF10 PIC X VALUE IS ':'. 02 DFHPF5 PIC X VALUE IS '5'. 02 DFHPF12 PIC X VALUE IS '@'. La lista estándar de dichas teclas es la siguiente. 02 DFHPF8 PIC X VALUE IS '8'. 02 DFHPA3 PIC X VALUE IS '. 02 DFHOPID PIC X VALUE IS 'W'. 02 DFHPF9 PIC X VALUE IS '9'. 02 DFHPF1 PIC X VALUE IS '1'. 02 DFHPF3 PIC X VALUE IS '3'. 02 DFHPA2 PIC X VALUE IS ''. 02 DFHCLEAR PIC X VALUE IS '_'. 02 DFHPF6 PIC X VALUE IS '6'. 02 DFHPEN PIC X VALUE IS '='. 02 DFHPA1 PIC X VALUE IS '%'. 02 DFHNULL PIC X VALUE IS ' '. 01 DFHAID. DSATTS(COLOR. únicamente para salida MODE=OUT.CTRL=(Control1. MODE=modo El modo indica si el mapa se usara únicamente para entrada MODE=IN. Uno por cada mapa declarado. Lógico Macros para la generación de Mapas DFHMSD Nombre de mapset DFHMSD TYPE=Tipo.MODE=Modo. COBOL. en este caso. aunque en nuestro caso.STORAGE=AUTO. .HILIGHT) Un MAPSET puede contener varios mapas y al ensamblarse. que produce un mapa fisico o un mapa simbólico según el tipo indicado. - TIOAFPX=YES. Suministra Es generado con las mismas macros que el Mapa Físico Simbólico ó Es generado al compilar el mapa físico por el compilador de mapas. o para ambas MODE=INOUT.HILIGHT). LANG=COBOL Indica el lenguaje de la estructura del mapa simbólico (DSECT Structure) que se copiara en el programa de aplicación. y se produce un mapa simbólico en lenguaje COBOL que se almacena en la biblioteca de COPY para incluirlo en el programa de aplicación con una orden COPY. desde lo Mapacon el que está asociado. si se van a usar varios mapas al mismo tiempo dentro de un programa de aplicación.LANG=COBOL. nuestro MAPSET contiene un solo mapa. MAPATTS=(COLOR. después se ensambla con TYPE=DSECT. primero se ensambla con TYPE=MAP. y se produce un mapa fisico que CICS usa en el proceso. se omite STORAGE=AUTO.[RESUMEN DE ELEMENTOS DE CICS] Físico Define y da nombre a los campos Mapa que se pueden escribir o recibir. se generan varios MAPAS SIMBOLICOS. TYPE=tipo TYPE gobierna el resultado del proceso de ensamble. STORAGE=AUTO Se usa para impedir que las definiciones del mapa simbólico se encimen una sobre otra con redefiniciones del primer mapa.Control2). ) SIZE=(Renglon.. DFHMDI Nombre de Mapa DFHMDI SIZE=(Renglon.) Este es el parámetro de control de la pantalla y el teclado que se va a enviar junto con los datos del mapa. - LINE=n... el BMS permite que una pantalla pueda estar formada de varios mapas.. DFHMSD TYPE=FINAL END Para terminar la definición de un MAPSET. CTRL=(Control1. la diferencia es que si se pone en la DFHMSD afecta a todos los mapas del Mapset que no tengan CTRL en su propia DFHMDI..) Este parámetro tiene el mismo significado que en la macro DFHMDI.Columna) Este parámetro indica el tamaño del mapa. y genera los doce primeros caracteres de control del mapa simbólico. en este caso el mapa es del tamaño de la pantalla estándar (24 Renglones. si se piensa que es necesario enviar los datos para impresión. FREEKB (Libera el teclado). esto es.Control2. puede ser cualquier combinación de lo siguientes: PRINT Especifica que el mapa puede enviarse a una impresora.Control2.[RESUMEN DE ELEMENTOS DE CICS] CTRL=(Control1... se usa PRINT. LINE= Línea en la que comenzará el mapa.. y cada mapa puede ser de diferente tamaño. TIOAPFX=YES Este parámetro se usa siempre en programas. El teclado se bloquea automáticamente tan pronto como el usuario envía datos al procesador. permanece bloqueado hasta que alguna . se usa DFHMSD seguida de la instrucción de ensamblador END.Control2. 80 columnas). COLUMN= Dimensión del mapa en longitud y anchura. CTRL=(Control1. COLUMN = n.Columna). INITIAL Etiqueta inicial. ALARM Este parámetro hace que suene la alarma audible de la terminal.OCCURSS=(numero). excepto espacio y él ultimo del renglón. PICOUT =’ZZZ. GRPNAME=data-name NOTA: El nombre del campo no debe de rebasar los 7 caracteres. LENGTH Longitud del campo + 1 byte del carácter de control. .columna).. POS Define la posición donde se posiciona el campo.99’. Si los datos no caben en un renglón. en otro caso. -ATTRB=(atributo1. DFHMDF Nombre de Campo DFHMDF POS=(Renglon. indicando no modificación. se ignora). Generalmente se especifica FREEKB para mantener liberado el teclado.LENGTH=número. COLOR=color.. (long + 1 ctrl) -INITIAL=’texto’.ZZ9.(Este parámetro solo funciona en caso de que la terminal tenga alarma audible. atributo2.). NOTA: El nombre del campo no debe de rebasar los 7 caracteres . PICIN=’999V99’... -HILIGHT=REVERSE. FRSET Coloca todos los bits de modificación de cada atributo de cada campo en ceros. se debe usar un carácter de continuación en la columna 72. cualquier carácter es valido.[RESUMEN DE ELEMENTOS DE CICS] transacción lo libera o hasta que el usuario oprime la tecla <RESET>. queda listo para enviarse al programa. pero el cursor no brinca sobre este campo si el anterior esta lleno. un solo campo es el que puede tener el cursor. pasando al siguiente disponible. no se envía. por default. PROT No se puede teclear en el campo. UNPROT NUM Si se pueden teclear datos dentro del campo. pero solo se aceptan números. que se especifica como parte de los atributos. el cursor brinca sobre este campo. el cursor se posicionara en el ultimo. Si no se especifica FSET. Esto provoca que el campo se envíe al programa aunque no se haya modificado. BRT El campo se exhibe con intensidad Brillante. las opciones son: ASKIP No se puede teclear en el campo. Si un dato cambia en la pantalla. Hay varias características diferentes que se pueden especificar: La primera característica es la INTENSIDAD. La opción es: IC Pone el cursor en la primera posición del campo. por lo tanto. entonces el campo se envía al programa solamente cuando el usuario lo modifique. NORM. y el punto decimal. las opciones son: NORM El campo se exhibe con intensidad Normal. COLOR=color . Si se pueden teclear datos dentro del campo. indica que este es el campo donde se posicionara el cursor. y si el campo anterior esta lleno. si no cambia. si se pone IC en varios campos. no tendrá FSET ni IC. La Cuarta característica. DRK El campo se exhibe obscuro (no se ve) La segunda característica controla lo que el usuario puede hacer desde el teclado. el signo de menos. La opción es: FSET Activa la etiqueta de “Datos Modificados”. La tercera característica controla la etiqueta de “Datos modificados”. Si no se especifica el parámetro ATTRIB.[RESUMEN DE ELEMENTOS DE CICS] ATTRB Estos son los atributos del campo. Se usa en situaciones de creación de stopper. entonces el campo tendrá características ASKIP. se deben de codificar en secuencial.LENGTH=17.ATTRB=ASKIP.SIZE=(24.LANG=COBOL. INITIAL='MENU DE OPCIONES' DFHMDF POS=(01.LENGTH=08.01).80) *-----------------------------------* DESCRIPCION DE LOS CAMPOS DEL MAPA *-----------------------------------DFHMDF POS=(01.48). las variables para un mismo grupo.MODE=INOUT.CTRL=(FREEKB.30).COLUMN=01.TERM=3270. HILIGHT=REVERSE. COLOR=WHITE.LENGTH=01.FRSET). Ejemplo de mapa completo PRINT NOGEN *------------------------* DESCRIPCION DEL MAPSET *------------------------BE00MS DFHMSD TYPE=&SYSPARM. COLOR=YELLOW. PICOUT Define el formato de los datos para la salida del programa GRPNAME Se especifica si se quiere que determinados campos se agrupen.EXTATT=YES *---------------------* DESCRIPCION DEL MAPA *---------------------BE00M01 DFHMDI LINE=01.ATTRB=ASKIP. invirtiendo el display de letras claras sobre fondo obscuro convirtiéndolo a letras obscuras sobre fondo claro PICIN Define el formato para los datos de entrada al programa. . se puede destacar un campo.ATTRB=ASKIP DFHMDF POS=(02.Usando esta opción. STORAGE=AUTO.TIOAPFX=YES. las opciones son: WHITE Color blanco BLUE Color azul RED Color rojo PINK Color rosa GREEN Color verde TURQUOISE Color turquesa YELLOW Color amarillo NEUTRAL La opción HILIGTH=REVERSE se puede usar con terminales que no tengan color.[RESUMEN DE ELEMENTOS DE CICS] Indica cual será el color de los caracteres del campo. ATTRB=ASKIP DFHMDF POS=(02.ATTRB=ASKIP.ATTRB=ASKIP. COLOR=WHITE DFHMDF POS=(02.19).LENGTH=11.LENGTH=01.COLOR=WHITE DFHMDF POS=(05.70). CWA (Common Area Work) TWA(Transaction Work Area) TCTUA(Terminal Control Table User Area) .ATTRB=ASKIP. INITIAL='<3> ALTA' DFHMDF POS=(11.25).39).ATTRB=(IC.ATTRB=ASKIP.25). INITIAL='4. INITIAL='OPCION ' OPCION DFHMDF POS=(10.ATTRB=ASKIP. se tienen las siguientes areas de memoria a las que se les debe de dar direccionamiento mediante el comando ADDRESS.[RESUMEN DE ELEMENTOS DE CICS] INITIAL='FECHA : ' DFHMDF POS=(02.LENGTH=07.61).COLOR=TURQUOISE INITIAL='<1> CONSULTA' DFHMDF POS=(07. INITIAL='<Esc> Terminar <Enter> Acepta Opción ' * TERMINA DESCRIPCION DEL MAPSET DFHMSD TYPE=FINAL END FECHA Accesar a las areas de cics Cuando se require de otras areas de cics para pasar datos como DFHCOMMARE. COLOR=TURQUOISE.FSET) DFHMDF POS=(10.08). COLOR=YELLOW.ATTRB=ASKIP DFHMDF POS=(12. INITIAL='HORA : ' HORA DFHMDF POS=(02.ATTRB=ASKIP.LENGTH=10.LENGTH=06.LENGTH=12.COLOR=GREEN.25).ATTRB=ASKIP.25). COLOR=TURQUOISE.LENGTH=01. COLOR=TURQUOISE.LENGTH=08. INITIAL='<2> BAJA' DFHMDF POS=(09.LENGTH=01.37).LENGTH=10.30).ATTRB=ASKIP.05). CAMBIO' DFHMDF POS=(10.COLOR=GREEN.LENGTH=08.LENGTH=08.NUM.ATTRB=ASKIP. [RESUMEN DE ELEMENTOS DE CICS] ADDRESS [CWA(POINTER)] [TWA(POINTER)] [TCTUA(POINTER)] Códigos de excepciones . [RESUMEN DE ELEMENTOS DE CICS] . El operador oprimió tecla ATTN en lugar de RETURN o RECEIVE Operador Interrumpió SEND MAP oprimiendo tecla ATTN . Nº 00 01 02 03 04 05 CONDITION NORMAL ERROR RDATT WRBRK EOF EODS DESCRIPCION Ejecución correcta de la operación Error sin clasificación. .[RESUMEN DE ELEMENTOS DE CICS] Códigos de retorno en EIBRESP Se reciben en un campo numérico PIC S9(08) COMP. En RECEIVE y terminal 3735 fin archivo. En RECEIVE MAP no se reciben datos. No hay mas datos para el Task. Sí el Identificador de JOURNAL no Existe. Error Inesperado en ISSUE QUERY o ISSUE RECEIVE No está presente el PASSBOOK en RECEIVE. usando RETRIEVE No se Localiza. Error Durante la Ejecución de ISSUE QUERY. Recibe MAPA Vacío (Operador Oprimió Tecla CLEAR) Identificador de Terminal no es Valido en ROUTE.[RESUMEN DE ELEMENTOS DE CICS] 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 53 54 55 EOC INBFMH ENDINPT NONVAL NOSTART TERMIDERR FILENOTFOUND NOTFND DUPREC DUPKEY INVREQ IOERR NOSPACE NOTOPEN ENDFILE ILLOGIC LENGERR QZERO SIGNAL QBUSY ITEMERR PGMIDERR TRANSIDERR ENDDATA INVTSREQ EXPIRED RETPAGE RTEFAIL RTESOME TSIOERR MAPFAIL INVERRTERM INVMPSZ IGREQID OVERFLOW INVLDC NOSTG JIDERR QIDERR NOJBUFSP DSSTAT SELNERR FUNCERR UNEXPIN NOPASSBKRD NOPASSBKWR SYSIDERR ISCINVREQ ENQBUSY En RECEIVE MAP se recibe End Of Chain. que no se Utiliza. Los Datos del Mapa no Ajustan en la Página (SEND MAP). No Inicializa el Programa de Aplicación. Archivo Ocupado Por otra Transacción. Se recibió End Of Input Indicator Nombre de Programa no es Valido. Error no Catalogado Ver RESP2 Pág. La QUEUE esta Vacía (READQ TD). Error de Entrada/Salida en la TS. Se recibió Function Management Header. Terminal no se encuentra Instalada. Error de Hardware (Dañado el disco) No hay Espacio en Disco para Nuevos Registros. El DESTINATION STATUS ha Cambiado (ISSUE RECEIVE). EL SYSID No está Definido en READ. La Transacción no esta Declarada en la PCT. No está presente el PASSBOOK en SEND. Terminal no recibe el Mensaje de ROUTE. Es cuando la LDC no esta Incluida en la lista de LDC’s. Error en la Selección del DESTID (ISSUE QUERY). El Archivo no Existe en la FCT(RESP2=01) No existe el Registro (RESP2=80) READ. Número de ITEM no Grabado al (READQ TS. La QUEUE no Existe. usando ROUTE.READPREV). Cuando un Comando Termina su duración.WRITE TS). . Ocurre Cuándo la Opción SET esta Especificada.(READQ TS). DELETE. Los BUFFER del JOURNAL Están Llenos. (Un error VSAM) Longitud de Registro Diferente de LENGTH. El área Solicitada es Mayor Que el área Disponible.REWRITE). El Programa o el Mapa no esta Declarado en la PPT. Petición inválida. 311. Cuando el MAPA es muy Grande para la Terminal(SEND RECIVE) Cuando REQID de SEND MAP es Diferente del REQID anterior. o cerrado Fin de Archivo (READNEXT. Varios Registros con la Misma Clave(READ) REWRITE sin READ UPDATE –0. La QUEUE esta ocupada por otro TASK.READ No esta de acuerdo a FCT. Entrada de Control SIGNAL. Nombre de Terminal no Existe en TCT. Falla en el Sistema Remoto RESP2=70 El recurso Solicitado no está Disponible en ENQ. STARTBR El Registro ya Existe(WRITE. DELETE. Operador insiste en Enviar a una Partición Invalida RECIVE. La Partición no esta Definida en RECEIVE MAP o SEND MAP. Usuario Invalido en SIGNON. Usuario No Autorizado a esta Función. Usuario no añadió Registro a la Tabla con (WRITE UMT). UNLOCK). RECEIVE se envió por una Transacción generada por START PROFILE de ALLOCATE no Existe.[RESUMEN DE ELEMENTOS DE CICS] 56 57 58 59 60 61 62 63 64 65 66 69 70 72 81 82 84 ENVDEFERR IGREQCD SESSIONERR SYSBUSY SESSBUSY NOTALLOC CBIDERR INVEXITREQ INVPARTNSET INVPARTN PARTNFAIL USERIDERR NOTAUTH SUPPRESSED TERMERR ROLLEDBACK DISABLED 87 94 OPENERR LOADING RETRIEVE especifico una opción que no corresponde a START Se ordeno SEND MAP después de SIGNAL con CHANGE DIRECTION. El Archivo esta Deshabilitado (READ. Error cuándo se ABRE. La session no se puede servir Inmediatamente en ALLOCATE. WRITE. La Tabla Solicitada por READ UPDATE se esta Cargando. Recomendaciones de formateo de pantallas Reglas para color y posición de los campos: Reglas para asignar función de teclas: . Session Invalido en ALLOCATE. La Partición no es Valida en SEND PARTNSET. REWRITE. Error de Terminal. No hay SESSION Disponible en ALLOCATE MAPPED.CIERRA o se ESRCIBE la Rutina DUMP. No Localizada. El Programa no Puede Actualizar y hace el ROLLBACK. [RESUMEN DE ELEMENTOS DE CICS] Formato y contenido del byte de atributo Contenido del byte atributo . [RESUMEN DE ELEMENTOS DE CICS] Atributos extendidos Modificar los atributos al byte atributo Modificación a los atributos de pantalla: . [RESUMEN DE ELEMENTOS DE CICS] Subfijos de los campos de atributo Copy con la definición de atributos: . [RESUMEN DE ELEMENTOS DE CICS] Procedimiento de jcl para ensamblar el mapa Transacciones de servicio . como por ejemplo SEND MAP. CESF [LOGOFF | GOODNIGHT] CEMT: The master terminal transaction Forzar una nueva copia del programa CEMT SET PROGRAM(name) NEWCOPY Abrir/cerrar un archivo CEMT SET FILE(name) {OPEN | CLOSE} Abilitar o deshabilitar un archivo o transacción CEMT SET PROGRAM(name) {DISABLED | ENABLED} CEMT SET TRANSACTION(name) {DISABLED | ENABLED} Checar el status de un archivo. {CECI | CECS} Otros comandos de CICS . programa o transacción CEMT INQUIRE {FILE(name) | PROGRAM(name) | TRANSACTION(name)} CECI: Interprete de comandos Herramienta útil para lanzar comandos de cics como modo de prueba.[RESUMEN DE ELEMENTOS DE CICS] CESN: The signo n transaction. para mostrar el mapa sin que exista el programa asociado. CESN [USER=username] [PS=password] CESF: The sign off transaction. Para poder enviar datos entre tareas se hace uso de la temporary storage. Si el tiempo es más de 18 horas después del tiempo actual. TRANSID INTERVAL Específica un intervalo que CICS sumará al tiempo actual para determinar cuando la tarea debería comenzar. MINUTES Si HOURS o SECONDS son especificados. Si una variable o nombre de dato es especificado. Es decir. and SECONDS. Cada tarea puede estar ejecutando un programa a la vez. debe ser del tipo binario S9(08) COMP.[RESUMEN DE ELEMENTOS DE CICS] Comando para el uso del Intervalo de control del CICS START Nos permite comenzar una nueva tarea siendo ejecutado este comando en otra tarea diferente. debe ser declarado como un campo signado numérico empacado de 4 bytes. and SECONDS. De lo contrario. AT HOURS Debe ser un número comprendido entre 0 y 99. TIME Indica que la tarea debería comenzar después del intervalo especificado en las opciones HOURS. Si un nombre de datos es especificado. M INUTES. se considera que dicha tarea ya ha expirado. START TRANSID(trans-id) INTERVAL(hhmmss) TIME(hhmmss) AFTER [HOURS(hh)][MINUTES(mm)][SECONDS(secs)] AT [HOURS(hh)][MINUTES(mm)][SECONDS(secs)] TERMID(term-id) FROM (data-name) RTERMID(term-id) RTRANSID(trans-id) QUEUE(queue-name) REQID(request-id) Específica el identificador de la transacción que será usada para comenzar una tarea. M INUTES. Específica el tiempo cuando la tarea debería comenzar. Si un nombre de dato es especificado. debe ser declarado como un campo signado numérico empacado de 4 bytes. AFTER Indica que la tarea debería comenzar en el tiempo especificado en las opciones HOURS. puede ser un número entre 0 y 5999 (un minuto menos que 100 horas). deben contener un número entre 0 y 59. debe ser del tipo binario S9(08) COMP. Si un nombre de datos es especificado. . mediante este comando podemos realizar un proceso multitarea. la tarea comenzada debe lanzar el comando RETRIEVE. Entonces. el comando RETRIEVE también debe tener indicado esas opciones. Si se requiere enviar más de un registro a la tarea por comenzar. TERMID FROM Específica el nombre del campo cuyo valor es pasado a la tarea a comenzar.[RESUMEN DE ELEMENTOS DE CICS] SECONDS Si HOURS o MINUTES son especificados. Si un nombre de datos es especificado. para que de esta manera pueda se cancelado con el comando CANCEL. RETRIEVE INTO(data−name) [RTRANSID(data−name)] [RTERMID(data−name)] [QUEUE(data−name)] . Si se omite. si el tiempo de expiración y el identificador de la terminal son los mismos cada vez que se lance el comando START. debe ser del tipo binario S9(08) COMP. deben contener un número entre 0 y 59. Específica el nombre de la terminal donde la tarea se ejecutará. RTRANSID Especifica el identificador de la transacción en S9(09) COMP. RETRIEVE Para recuperar los datos pasados por un programa que inicia una nueva tarea a través del comando START. Si se omite. O QUEUE. Si no hay más registros por recuperar se lanza una condición de ENDDATA. se debe de ejecutar por cada registro el comando START indicando la misma tarea. las peticiones se unirán en una sola ejecución de la tarea. puede ser un número entre 0 and 359. RTERMID. la tarea correrá sin terminal. Si el comando START incluye las opciones RTRANSID. Una vez comenzada la tarea se debe de lanzar el comando RETRIEVE el número de veces de los registros enviados por START. QUEUE Específica el nombre de la cola de la temporary storage de 8 bytes que es pasada a la tarea. RTERMID Especifica el identificador de la terminal en S9(09) COMP. REQID Especifica una valor de 8 bytes que identifica el comando START. De lo contrario. CICIS genera un identificador de petición retornando el valor EIBREQID. CICS lanzará una condición NOTFND si al lanzar el comando ningún dato fue enviado a la tarea empezada.999 (un segundo menos que 100 horas). y de esta manera las demás tareas puedan ejecutarse. El comando ENQ se utiliza para bloquear el resurso no . como una impresora al mismo tiempo. RTERMID Específica el nombre de un campo de 4 bytes donde los datos enviados por la opción RTERMID del comando START serán colocados. RTRANSID Específica el nombre de un campo de 4 bytes donde los datos enviados por la opción RTRANSID del comando START serán colocados. la única condición que se requiere es que la tarea a cancelar aún no se haya ejecutado.[RESUMEN DE ELEMENTOS DE CICS] INTO Específica el nombre del campo donde los datos enviados por la opción FROM del comando START serán colocados. SUSPEND Cuando una tarea esta monopolizando los recursos de la CPU. CANCEL Este comando nos sirve para cancelar la ejecución de un determinada tarea. QUEUE Específica el nombre de un campo de 8 bytes donde los datos enviados por la opción QUEUE del comando START serán colocados. podemos lanzar el comando SUSPEND (no tiene parámetros) para temporalmente regresar el control al CICS. Comandos para el uso del control de tareas de CICS El control de tareas (task control) se refiere a las funciones de CICS para la administración de ejecución de las diferentes tareas. ENQ y DEQ Estos comandos permiten asegurar que una o más tareas no tenga acceso aun recuso no compartido. CANCEL REQID(request−id) REQID Específica un valor de 8 bytes que identifica el comando START a cancelar. de esta manera cualquier otra tarea que trate de tener acceso al recurso se mantiene en espera. La opción SET establece direccionamiento hacia al área asignando su dirección a un campo definido en la Linkage section de un programa.[RESUMEN DE ELEMENTOS DE CICS] compartido asignándolo a una única tarea. FLENGTH Especifica la cantidad de bytes a utilizar de la memoria principal. GETMAIN SET(pointer) FLENGTH(data−name | literal) [BELOW] [INITIMG(data−name)] SET. El campo puede ser desde 1 a 255 bytes de longitud. Establece direccionamiento al área asignando la dirección a un campo de la linkage section. si se inserta un nombre de dato se define como S9(8) COMP. Con el comando DEQ se desbloque el recurso. Ejemplo: . Con la opción INITIMG se inicializa el área adquirida a un determinado valor. Comandos para el uso del control de almacenamiento de CICS GETMAIN Este comando se utiliza para signar una cantidad de la memoria principal especificada en la opción FLENGHT (por default la cantidad asignada es de 16 MB. para que otra tarea diferente pueda tener acceso al recurso no compartido. se puede asignar una cantidad menor usando la opción BELOW. {ENQ | DEQ} RESOURCE(data−name) RESOURCE Específica el nombre del campo que contiene el nombre del recurso a bloquear o desbloquear. Para identificar el área de almacenamiento se codifica ya sea la opción DATA o DATAPOINTER. SYNCPOINT Este comando nos sirve para informar al CICS que los cambios efectuados a los recursos protegidos cuando ocurre un ABEND son definitivos y no es necesario regresar a la imagen anterior. Ejemplo: . si se específica DATAPOINTER.[RESUMEN DE ELEMENTOS DE CICS] FREEMAIN Se utiliza para liberar un área de memoria asignada por GETMAIN. EXEC CICS FREEMAIN DATA(PRODUCT−RECORD)END−EXEC. SYNCPOINT [ROLLBACK] ROLLBACK Indica que las actualizaciones realizadas desde la última vez que se invocó el comando SYNCPOINT (o el principio de la ejecución de la tarea) deben revertirse. Comandos para el uso del proceso de recuperamiento (journal control) Cuando una tarea o el CICS fallan. Si se especifica DATA. sólo se específica el nombre del campo de linkage section que se usa para tener acceso a la memoria asignada por GETMAIN. se debe de pasar la dirección del área asignada usando el registro especial ADDRESS. EXEC CICS FREEMAIN DATAPOINTER(ADDRESS OF PRODUCT−RECORD)END−EXEC. Por el contrario. la mejor opción es revertir todos los cambios hechos por la transacción. los archivos y otros recursos en proceso de ser actualizados pueden quedar en un inconsistente estado. en el siguiente apartado se describen los comandos encargados de realizar esta tarea. Del mismo modo se puede indicar que realice una operación de ROLLBACK si se suscitará un error en el programa. Cuando esto pasa. 0 Este documento fue creado por el Ing. . Jorge Flores Miguel para uso de apoyo y aprendizaje.[RESUMEN DE ELEMENTOS DE CICS] Control de versiones del documento Fecha de ultima modificación 19/01/2012 Autor Versión Jorge Flores Miguel 1. [RESUMEN DE ELEMENTOS DE CICS] .