Antoine_Sauteron_1266

Ajouter des nouveaux Communication Processes (CP)

Discussion created by Antoine_Sauteron_1266 on Aug 22, 2016
Latest reply on Sep 20, 2016 by Cyril_Delplanque_2297
Par défaut un Automation Engine ne supporte que 5 CP au maximum. Cela est lié à la structure de la base de données. Pour ajouter un ou plusieurs CP il faudra donc créer de nouvelles tables dans la base.

Dans les exemples ci-dessous nous allons voir comment ajouter un 6ème CP, logiquement appelé CP006. Il faudra exécuter les mêmes requêtes pour chaque nouveau CP que vous souhaiterez ajouter.

Par ailleurs il vous faudra également ajouter ce ou ces CP dans le fichier ucsvr.ini de votre Automation Engine.

1 - Version 11.1 et inférieure (version 9, 10 et 11.1)

Il n'y a qu'une table par CP. Voici les requêtes à lancer :

Oracle:
CREATE TABLE MQCP006  (
        MQCP_PK NUMBER(38,0) NOT NULL,
        MQCP_System VARCHAR2 (8 CHAR) NULL,
        MQCP_CAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_CSRName VARCHAR2 (8 CHAR) NULL,
        MQCP_CAcv NUMBER(38,0) NULL,
        MQCP_BAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_BSRName VARCHAR2 (8 CHAR) NULL,
        MQCP_BAcv NUMBER(38,0) NULL,
        MQCP_FAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_LogAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_PhysAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_BTable VARCHAR2 (8 CHAR) NULL,
        MQCP_SchedTime DATE NULL,
        MQCP_Status NUMBER(38,0) NULL,
        MQCP_Priority NUMBER(38,0) NULL,
        MQCP_DRole VARCHAR2 (32 CHAR) NULL,
        MQCP_LAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_Len NUMBER(38,0) NULL,
        MQCP_Msg BLOB NULL,
        CONSTRAINT PK_MQCP006 PRIMARY KEY
        (
                MQCP_PK
        ) USING INDEX  TABLESPACE UC4_INDEX
) LOB (MQCP_Msg) STORE AS (ENABLE STORAGE IN ROW CACHE) TABLESPACE UC4_DATA
  ENABLE ROW MOVEMENT NOCOMPRESS;
CREATE SEQUENCE SQ_MQCP006
        INCREMENT BY 1 START WITH 1 MAXVALUE 999999999
        MINVALUE 1 CYCLE CACHE 1000 NOORDER;
CREATE   INDEX NK_MQCP006_BAcv ON MQCP006 (MQCP_BAcv) TABLESPACE UC4_INDEX;
CREATE   INDEX NK_MQCP006_Prio ON MQCP006 (MQCP_Priority, MQCP_SchedTime, MQCP_PK, MQCP_Status) TABLESPACE UC4_INDEX;
CREATE   INDEX NK_MQCP006_SchedTime ON MQCP006 (MQCP_SchedTime) TABLESPACE UC4_INDEX;
SQL Server:
CREATE TABLE MQCP006
(
        MQCP_PK int IDENTITY NOT NULL,
        MQCP_System varchar (8) NULL,
        MQCP_CAddr varchar (32) NULL,
        MQCP_CSRName varchar (8) NULL,
        MQCP_CAcv int NULL,
        MQCP_BAddr varchar (32) NULL,
        MQCP_BSRName varchar (8) NULL,
        MQCP_BAcv int NULL,
        MQCP_FAddr varchar (32) NULL,
        MQCP_LogAddr varchar (32) NULL,
        MQCP_PhysAddr varchar (32) NULL,
        MQCP_BTable varchar (8) NULL,
        MQCP_SchedTime datetime NULL,
        MQCP_Status int NULL,
        MQCP_Priority int NULL,
        MQCP_DRole varchar (32) NULL,
        MQCP_LAddr varchar (32) NULL,
        MQCP_Len int NULL,
        MQCP_Msg varbinary (max) NULL,

        CONSTRAINT PK_MQCP006 PRIMARY KEY NONCLUSTERED
        (                MQCP_PK
        )
)
GO
CREATE   INDEX NK_MQCP006_BAcv ON MQCP006(MQCP_BAcv)
GO
CREATE  CLUSTERED INDEX NK_MQCP006_Prio ON MQCP006(MQCP_Priority, MQCP_SchedTime, MQCP_PK, MQCP_Status)
GO
CREATE INDEX NK_MQCP006_SchedTime ON MQCP006(MQCP_SchedTime)
GO

2 - Version 11.2 et ultérieure

Du fait de la fonctionnalité Zero Downtime Upgrade il faut créer 2 tables par CP.

Oracle :
CREATE TABLE MQ1CP006  (
        MQCP_PK NUMBER(38,0) NOT NULL,
        MQCP_System VARCHAR2 (8 CHAR) NULL,
        MQCP_CAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_CSRName VARCHAR2 (8 CHAR) NULL,
        MQCP_CAcv NUMBER(38,0) NULL,
        MQCP_BAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_BSRName VARCHAR2 (8 CHAR) NULL,
        MQCP_BAcv NUMBER(38,0) NULL,
        MQCP_FAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_LogAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_PhysAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_BTable VARCHAR2 (8 CHAR) NULL,
        MQCP_SchedTime DATE NULL,
        MQCP_Status NUMBER(38,0) NULL,
        MQCP_Priority NUMBER(38,0) NULL,
        MQCP_DRole VARCHAR2 (32 CHAR) NULL,
        MQCP_LAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_Len NUMBER(38,0) NULL,
        MQCP_Msg BLOB NULL,
        CONSTRAINT PK_MQ1CP006 PRIMARY KEY
        (
                MQCP_PK
        ) USING INDEX  TABLESPACE UC4_INDEX
) LOB (MQCP_Msg) STORE AS (ENABLE STORAGE IN ROW CACHE) TABLESPACE UC4_DATA ENABLE ROW MOVEMENT NOCOMPRESS;
CREATE SEQUENCE SQ_MQ1CP006
        INCREMENT BY 1 START WITH 1 MAXVALUE 2147483647
        MINVALUE 1 CYCLE CACHE 1000 NOORDER;
CREATE   INDEX NK_MQ1CP006_BAcv ON MQ1CP006 (MQCP_BAcv) TABLESPACE UC4_INDEX;
CREATE   INDEX NK_MQ1CP006_Prio ON MQ1CP006 (MQCP_Priority, MQCP_SchedTime, MQCP_PK, MQCP_Status) TABLESPACE UC4_INDEX;
CREATE   INDEX NK_MQ1CP006_SchTime ON MQ1CP006 (MQCP_SchedTime) TABLESPACE UC4_INDEX;

CREATE TABLE MQ2CP006  (
        MQCP_PK NUMBER(38,0) NOT NULL,
        MQCP_System VARCHAR2 (8 CHAR) NULL,
        MQCP_CAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_CSRName VARCHAR2 (8 CHAR) NULL,
        MQCP_CAcv NUMBER(38,0) NULL,
        MQCP_BAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_BSRName VARCHAR2 (8 CHAR) NULL,
        MQCP_BAcv NUMBER(38,0) NULL,
        MQCP_FAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_LogAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_PhysAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_BTable VARCHAR2 (8 CHAR) NULL,
        MQCP_SchedTime DATE NULL,
        MQCP_Status NUMBER(38,0) NULL,
        MQCP_Priority NUMBER(38,0) NULL,
        MQCP_DRole VARCHAR2 (32 CHAR) NULL,
        MQCP_LAddr VARCHAR2 (32 CHAR) NULL,
        MQCP_Len NUMBER(38,0) NULL,
        MQCP_Msg BLOB NULL,
        CONSTRAINT PK_MQ2CP006 PRIMARY KEY
        (
                MQCP_PK
        ) USING INDEX  TABLESPACE UC4_INDEX
) LOB (MQCP_Msg) STORE AS (ENABLE STORAGE IN ROW CACHE) TABLESPACE UC4_DATA ENABLE ROW MOVEMENT NOCOMPRESS;
CREATE SEQUENCE SQ_MQ2CP006
        INCREMENT BY 1 START WITH 1 MAXVALUE 2147483647
        MINVALUE 1 CYCLE CACHE 1000 NOORDER;
CREATE   INDEX NK_MQ2CP006_BAcv ON MQ2CP006 (MQCP_BAcv) TABLESPACE UC4_INDEX;
CREATE   INDEX NK_MQ2CP006_Prio ON MQ2CP006 (MQCP_Priority, MQCP_SchedTime, MQCP_PK, MQCP_Status) TABLESPACE UC4_INDEX;
CREATE   INDEX NK_MQ2CP006_SchTime ON MQ2CP006 (MQCP_SchedTime) TABLESPACE UC4_INDEX;

MS SQL Server:
CREATE TABLE MQ1CP006
(
        MQCP_PK int IDENTITY NOT NULL,
        MQCP_System varchar (8) NULL,
        MQCP_CAddr varchar (32) NULL,
        MQCP_CSRName varchar (8) NULL,
        MQCP_CAcv int NULL,
        MQCP_BAddr varchar (32) NULL,
        MQCP_BSRName varchar (8) NULL,
        MQCP_BAcv int NULL,
        MQCP_FAddr varchar (32) NULL,
        MQCP_LogAddr varchar (32) NULL,
        MQCP_PhysAddr varchar (32) NULL,
        MQCP_BTable varchar (8) NULL,
        MQCP_SchedTime datetime NULL,
        MQCP_Status int NULL,
        MQCP_Priority int NULL,
        MQCP_DRole varchar (32) NULL,
        MQCP_LAddr varchar (32) NULL,
        MQCP_Len int NULL,
        MQCP_Msg varbinary (max) NULL,
       CONSTRAINT PK_MQ1CP006 PRIMARY KEY
        (                MQCP_PK
        )
)
GO
CREATE   INDEX NK_MQ1CP006_BAcv ON MQ1CP006(MQCP_BAcv)
GO
CREATE   INDEX NK_MQ1CP006_Prio ON MQ1CP006(MQCP_Priority, MQCP_SchedTime, MQCP_PK, MQCP_Status)
GO
CREATE   INDEX NK_MQ1CP006_SchTime ON MQ1CP006(MQCP_SchedTime)
GO

CREATE TABLE MQ2CP006
(
        MQCP_PK int IDENTITY NOT NULL,
        MQCP_System varchar (8) NULL,
        MQCP_CAddr varchar (32) NULL,
        MQCP_CSRName varchar (8) NULL,
        MQCP_CAcv int NULL,
        MQCP_BAddr varchar (32) NULL,
        MQCP_BSRName varchar (8) NULL,
        MQCP_BAcv int NULL,
        MQCP_FAddr varchar (32) NULL,
        MQCP_LogAddr varchar (32) NULL,
        MQCP_PhysAddr varchar (32) NULL,
        MQCP_BTable varchar (8) NULL,
        MQCP_SchedTime datetime NULL,
        MQCP_Status int NULL,
        MQCP_Priority int NULL,
        MQCP_DRole varchar (32) NULL,
        MQCP_LAddr varchar (32) NULL,
        MQCP_Len int NULL,
        MQCP_Msg varbinary (max) NULL,

       CONSTRAINT PK_MQ2CP006 PRIMARY KEY
        (                MQCP_PK
        )
)
GO
CREATE   INDEX NK_MQ2CP006_BAcv ON MQ2CP006(MQCP_BAcv)
GO
CREATE   INDEX NK_MQ2CP006_Prio ON MQ2CP006(MQCP_Priority, MQCP_SchedTime, MQCP_PK, MQCP_Status)
GO
CREATE   INDEX NK_MQ2CP006_SchTime ON MQ2CP006(MQCP_SchedTime)
GO

Outcomes