L'environnement de conception d'Interact existant contient un référentiel supplémentaire appelé Foyer. Pour prendre en charge ce référentiel, la base de données de l'environnement d'exécution d'
Interact contient des tables nommées
HH_CHStaging et
HH_RHStaging.
Vous devez également vérifier que le code SQL prend en charge le changement de type de données pour la colonne SeqNum dans la table
UACI_RHStaging. La valeur de
SeqNum est un nombre séquentiel dans toutes les tables intermédiaires d'historique des réponses. La valeur suivante utilisée est suivie par la colonne
NextID de la table
UACI_IdsByType, où
TypeID a pour valeur
2. Par exemple, supposons que vous disposez de trois référentiels : client, foyer et compte. Dans la table intermédiaire d'historique des réponses du client, le
SeqNum le plus élevé a pour valeur
50. Dans la table intermédiaire de l'historique des réponse du foyer, le
SeqNum le plus élevé a pour valeur
75. Dans la table intermédiaire de l'historique des réponses du compte, le
SeqNum le plus élevé a pour valeur
100. Vous devez donc modifier le code SQL et attribuer la valeur
101 à
NextID pour
TypeID = 2 dans
UACI_IdsByType.
L'exemple suivant d'instructions SQL illustre les ajouts devant être effectués dans le script aci_runtab_upgrd_sqlsvr.sql pour une base de données SQL Server contenant le référentiel Foyer. Le texte modifié pour assurer la prise en charge du référentiel Foyer est indiqué en gras :
ALTER TABLE UACI_CHStaging ADD RTSelectionMethod int NULL
go
ALTER TABLE UACI_RHStaging ADD RTSelectionMethod int NULL
go
ALTER TABLE HH_CHStaging ADD RTSelectionMethod int NULL
go
ALTER TABLE HH_RHStaging ADD RTSelectionMethod int NULL
goinsert into UACI_IdsByType (TypeID, NextID) (select 2,
IDENT_CURRENT('UACI_RHStaging')
+ IDENT_CURRENT('HH_RHStaging') + IDENT_INCR( 'UACI_RHStaging' ))
go
select * into UACI_RHStaging_COPY from UACI_RHStaging
go
select * into HH_RHStaging_COPY from HH_RHStaging
goDROP TABLE UACI_RHStaging
go
CREATE TABLE UACI_RHStaging (
SeqNum bigint NOT NULL,
TreatmentCode varchar(512) NULL,
CustomerID bigint NULL,
ResponseDate datetime NULL,
ResponseType int NULL,
ResponseTypeCode varchar(64) NULL,
Mark bigint NOT NULL
DEFAULT 0,
UserDefinedFields char(18) NULL,
RTSelectionMethod int NULL,
CONSTRAINT iRHStaging_PK
PRIMARY KEY (SeqNum ASC)
)
go
insert into UACI_RHStaging (SeqNum, TreatmentCode, CustomerID, ResponseDate,
ResponseType, ResponseTypeCode, Mark, UserDefinedFields, RTSelectionMethod)
(select SeqNum, TreatmentCode, CustomerID, ResponseDate, ResponseType,
ResponseTypeCode, Mark, UserDefinedFields, RTSelectionMethod from
UACI_RHStaging_COPY)
go
DROP TABLE UACI_RHStaging_COPY
go
DROP TABLE HH_RHStaging
go
CREATE TABLE HH_RHStaging (
SeqNum bigint NOT NULL,
TreatmentCode varchar(512) NULL,
HouseholdID bigint NULL,
ResponseDate datetime NULL,
ResponseType int NULL,
ResponseTypeCode varchar(64) NULL,
Mark bigint NOT NULL
DEFAULT 0,
UserDefinedFields char(18) NULL,
RTSelectionMethod int NULL,
CONSTRAINT iRHStaging_PK
PRIMARY KEY (SeqNum ASC)
)
go
insert into HH_RHStaging (SeqNum, TreatmentCode, HouseHoldID, ResponseDate,
ResponseType, ResponseTypeCode, Mark, UserDefinedFields, RTSelectionMethod)
(select SeqNum, TreatmentCode, HouseHoldID, ResponseDate, ResponseType,
ResponseTypeCode, Mark, UserDefinedFields, RTSelectionMethod from
HH_RHStaging_COPY)
go
DROP TABLE HH_RHStaging_COPY
go
Pour les bases de données DB2® et Oracle, l'instruction suivante permet d'insérer des valeurs dans la table
UACI_IdsByType :
Dans le cas de référentiels multiples, vous devez ajouter des sections au script SQL aci_usrtab_upgrd pour chaque référentiel comme indiqué dans l'exemple ci-après. Cet exemple montre uniquement les ajouts modifiés.