Propiedades de componentes de registro PCB

EGL ofrece los siguientes componentes de registro PCB (bloque de comunicaciones de programa):
IO_PCBRecord
PCB de tipo pcbType=TP que permite a un programa de telecomunicaciones COBOL comunicarse con un usuario a través de un terminal.
ALT_PCBRecord
PCB de tipo pcbType=TP que permite a un programa de telecomunicaciones COBOL cambiar el destino de un mensaje de salida.
DB_PCBRecord
PCB de tipo pcbType=DB que determina el acceso de un programa COBOL a una base de datos DL/I.
GSAM_PCBRecord
PCB de tipo pcbType=GSAM que determina el acceso de un programa COBOL a un conjunto de datos secuenciales simple, como por ejemplo un archivo de cinta o SYSIN.
Para obtener más información acerca de estos componentes de registro, incluidas sus definiciones y campos, consulte la sección Tipos y propiedades de registros.
Los cuatro componentes de registro comparten las propiedades siguientes:
@PCB
Esta propiedad compleja define las características básicas del PCB de tiempo de ejecución. La propiedad es obligatoria en los cuatro componentes de registro, a menos que el registro sea una redefinición de un PCB anterior. Utilice un bloque de establecimiento de valores (set-value) para especificar alguna o la totalidad de los siguientes campos de la propiedad compleja @PCB:
pcbType PCBKind
Este campo indica a EGL el tipo de PCB definido por el registro. pcbType debe ser uno de los siguientes valores de la enumeración PCBKind:
DB
Un PCB de base de datos (DB_PCBRecord)
GSAM
Un PCB de archivo secuencial (GSAM_PCBRecord)
TP
Un PCB de programa de telecomunicaciones (IO_PCBRecord o ALT_PCBRecord)
El valor de pcbType es necesario si tiene previsto utilizar el PSB tanto en el entorno IMS como en CICS. Durante la ejecución en el entorno CICS, EGL comprueba el valor de pcbType y pasa por alto los PCB GSAM o TP.
pcbName char(8)
Si tiene previsto utilizar la interfaz AIBTDLI, debe indicar a EGL los nombres de los PCB del PSB DL/I. Puede hacerlo de dos maneras:
  • Puede dar a los registros PCB los mismos nombres que tienen en el PSB DL/I.
  • Puede utilizar el campo pcbName para asociar el nombre del PCB DL/I con el nombre del PCB EGL.
Si no ha dado al registro PCB el mismo nombre que el PCB de tiempo de ejecución y utiliza la interfaz AIBTDLI, puede especificar aquí el nombre del PCB de tiempo de ejecución. La interfaz CBLTDLI no utiliza este nombre, por lo que, si utiliza CBLTDLI, el nombre del registro PCB EGL debe coincidir con el nombre del PCB de tiempo de ejecución.
secondaryIndex char(8)
Si utiliza un índice secundario para ordenar registros de base de datos, este es el nombre del índice en el PCB DL/I. Este nombre se utiliza en el lado izquierdo de un SSA calificado por omisión de un segmento raíz en lugar del elemento de clave especificado para el registro de segmento raíz.
secondaryIndexItem FieldReference
Si utiliza un índice secundario, este es el nombre del campo del registro PCB asociado que contiene el valor de índice secundario. Este es el valor de la variable de lenguaje principal del SSA calificado por omisión del segmento raíz del PCB dado.
hierarchy
Este campo contiene una matriz de propiedades @Relationship que describen las relaciones entre los segmentos de la base de datos. La estructura de esas propiedades es la siguiente:
@Relationship
Cada propiedad @Relationship introduce un bloque set-value con los siguientes campos:
segmentRecord STRING
El nombre de un segmento de la jerarquía
parentRecord STRING
El nombre del registro padre de segmentRecord. Si el segmentRecord especifica el segmento raíz, puede establecer parentRecord en 0 u omitir el campo parentRecord.
Si el entorno destino es IMS y utiliza la interfaz CBLTDLI, debe definir los siguientes PCB por orden y por nombre. EGL utiliza estos PCB para operaciones internas:
iopcb
Una variable de tipo IO_PCBRecord, que representa un PCB de PCBType TP.
elaalt
Una variable de tipo ALT_PCBRecord, que representa un PCB de índice alternativo de PCBType TP.
elaexp
Una variable de tipo ALT_PCBRecord, que representa un PCB Express alternativo de PCBType TP.
Si es necesario, utilice el campo pcbName anterior para asociar estos PCB con sus respectivos nombres de PCB DL/I.
El ejemplo siguiente muestra:
Record CustomerPSB type PSBRecord { defaultPSBName="STBICLG" }
	// tres PCB necesarios para CBLTDLI en IMS
	iopcb IO_PCBRecord { @PCB { pcbType = TP } };
	elaalt ALT_PCBRecord { @PCB { pcbType = TP } };
	elaexp ALT_PCBRecord { @PCB { pcbType = TP } };
	
	// PCB de base de datos que define tres niveles de segmento
	customerPCB DB_PCBRecord { @PCB {
		pcbType = DB,
		pcbName = "STDCDBL",
		hierarchy = [
			@Relationship { segmentRecord = "CustomerRecordPart" },
			@Relationship { 
				segmentRecord = "LocationRecordPart", parentRecord = "CustomerRecordPart" },
			@Relationship { 
				segmentRecord = "OrderRecordPart", parentRecord = "LocationRecordPart" },
			@Relationship { 
				segmentRecord = "ItemRecordPart", parentRecord = "OrderRecordPart" },
			@Relationship { 
				segmentRecord = "CreditRecordPart", parentRecord = "CustomerRecordPart" },
			@Relationship { 
				segmentRecord = "HistoryRecordPart", parentRecord = "CustomerRecordPart" }]}};

Consulta relacionada
Tipos de registros y propiedades

Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.