Procédures stockées

<< Click to Display Table of Contents >>

Navigation:  Informations techniques > Structure de la Base de Données ABC8 >

Procédures stockées

Procédure stockée GETNEWID

 

Description.

Cette procédure stockée est appelée chaque fois que l’application Radio-Assist doit insérer un nouvel élément dans la base de données (création d’un identifiant unique ID_ITEM).

 

Détail

CREATE PROCEDURE SYSADM.GETNEWID (@CodeRetour int OUTPUT,@CodeTable int)

AS DECLARE @Value float

SELECT @CodeRetour = -2

DECLARE cur_acces SCROLL CURSOR FOR SELECT NUM_VALUE FROM SYSADM.T_VAR WHERE ID_VAR=@CodeTable FOR UPDATE OF NUM_VALUE

open cur_acces

FETCH NEXT FROM cur_acces INTO  @Value

if (@@FETCH_STATUS=0)

BEGIN        

SELECT @Value=  @Value + 1

UPDATE SYSADM.T_VAR SET NUM_VALUE = @Value WHERE CURRENT OF cur_acces

END

ELSE

BEGIN

SELECT @Value = 1

INSERT INTO SYSADM.T_VAR (ID_VAR,NUM_VALUE) VALUES (@CodeTable,@Value)

END

SELECT @CodeRetour = CONVERT(int,@Value)

CLOSE cur_acces

DEALLOCATE cur_acces

 

Cas particulier des simultanés.

La création des identifiants (ID_ITEM) pour les simultanés est définie de la manière suivante :

Année d'exécution

Numéro du jour dans l'année

Heure d'exécution

Minute d'exécution

Seconde d'exécution

 

Formule de calcul utilisée par NA-DEC :

lNewID = (pRecChannel->m_dtStartRecord.GetSecond()/30) + (pRecChannel->m_dtStartRecord.GetMinute() * 2) + (pRecChannel->m_dtStartRecord.GetHour() * 120);
lNewID += pRecChannel->m_dtStartRecord.GetDayOfYear() * 2880L;
lNewID += ((pRecChannel->m_dtStartRecord.GetYear() - 1997) % 9) * 2880L*366L;

lNewID += ((pRecChannel->m_lIDChannel % 190)+1) * 10000000L;

 

Attention : Le signe "%" veut dire "modulo"'. C'est à dire le reste de la division entière.

 

Procédure Stockée CLEANBASE

 

Description.

Cette procédure stockée permet de tronquer et libérer l’espace non utilisé du journal de transaction des bases de données ABC8 et TEMPDB.

Cette procédure stockée n’est exécutée périodiquement que si celle-ci est  planifiée dans un travail dans SQLServer (voir procédure d’installation de ABC8 avec SQLServer 2000).

 

Détail. 

 CREATE PROCEDURE cleanbase AS

 

dump transaction tempdb with truncate_only

dump transaction ABC8 with truncate_only

 

DBCC CheckDB (ABC8)

DBCC CheckDB (tempdb)

 

dump transaction tempdb with truncate_only

dump transaction ABC8 with truncate_only

GO

 

Procédure Stockée DeleteRunInLog

 

Description.

Cette procédure stockée permet de supprimer un pas ou un écran d’une conduite.

Cette procédure stockée est exécutée par Federall et GridEditor.

 

Procédure Stockée InsertItemInLog

 

Description.

Cette procédure stockée permet d’insérer un pas contenant un item dans une conduite.

Cette procédure stockée est exécutée par Federall et GridEditor.

 

Procédure Stockée InsertLogInLog

 

Description.

Cette procédure stockée permet d’insérer un modèle dans une conduite

Cette procédure stockée est exécutéepar Federall et GridEditor.

 

Procédure Stockée InsertNewRun

 

Description.

Cette procédure stockée permet de créer un pas vide dans une conduite.

Cette procédure stockée est exécutée par Federall et GridEditor.

 

Procédure Stockée InsertNewScreen

 

Description.

Cette procédure stockée permet de créer un nouvel écran avec un pas vide dans une conduite

Cette procédure stockée est exécutée par Federall et GridEditor.

 

Procédure Stockée InsertRunInLog

 

Description.

Cette procédure stockée permet de créer un pas dans une conduite à partir d’un autre pas. (copier/coller par exemple)

Cette procédure stockée est exécutée par Federall et GridEditor.