Salut à tous.
Voici la structure de ma table :
La liste des domaines
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
/****                               Domains                                ****/
CREATE DOMAIN BOOLEAN       AS SMALLINT DEFAULT 0 NOT NULL CHECK (VALUE IN(0,1));
CREATE DOMAIN CHAR002       AS VARCHAR(2);
CREATE DOMAIN CHAR008       AS VARCHAR(8);
CREATE DOMAIN CHAR010       AS VARCHAR(10);
CREATE DOMAIN CHAR015       AS VARCHAR(15);
CREATE DOMAIN CHAR020       AS VARCHAR(20);
CREATE DOMAIN CHAR025       AS VARCHAR(25);
CREATE DOMAIN CHAR035       AS VARCHAR(35);
CREATE DOMAIN CHAR050       AS VARCHAR(50);
CREATE DOMAIN CHAR080       AS VARCHAR(80);
CREATE DOMAIN CURRENCY82    AS NUMERIC(8,2) DEFAULT 0 NOT NULL;
CREATE DOMAIN DECIMAL42     AS NUMERIC(4,2) DEFAULT 0 NOT NULL;
CREATE DOMAIN KEYNORM       AS INTEGER NOT NULL;
CREATE DOMAIN KEYSHORT      AS SMALLINT NOT NULL;
CREATE DOMAIN MEMO          AS BLOB SUB_TYPE 1 SEGMENT SIZE 80;
ensuite la table elle même
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
CREATE TABLE TAPPEL (
    APL_NO           KEYNORM NOT NULL,
    APL_DATE         DATE DEFAULT 'TODAY' NOT NULL,
    APL_TIME         TIME DEFAULT 'NOW' NOT NULL,
    APL_CORSPD       CHAR020 NOT NULL,
    APL_TYPE         CHAR008 NOT NULL,
    APL_STATUS       CHAR002 NOT NULL,
    APL_SAISIPAR     KEYSHORT NOT NULL,
    APL_NUMERO       CHAR008 NOT NULL,
    APL_MACHINE      CHAR025 NOT NULL,
    APL_MARQUE       KEYSHORT NOT NULL,
    APL_NUMSERIE     CHAR015 NOT NULL,
    APL_ETATMACHINE  MEMO,
    APL_CLIENT       KEYNORM NOT NULL,
    APL_CMT          MEMO,
    APL_VENDUMC3     BOOLEAN NOT NULL,
    APL_FACTNUM      CHAR010,
    APL_FACTDATE     DATE,
    APL_PBCODE       KEYSHORT NOT NULL,
    APL_PBDETAIL     MEMO
);
et finalement la procedure stocké incriminé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 
CREATE PROCEDURE TAPPEL_INSERT (
    PAPL_POUR           VARCHAR(10),
    PAPL_DATE           DATE,
    PAPL_TIME           TIME,
    PAPL_CORSPD         VARCHAR(20),
    PAPL_TYPE           VARCHAR(8),
    PAPL_SAISIPAR       SMALLINT,
    PAPL_MACHINE        VARCHAR(25),
    PAPL_NUMSERIE       VARCHAR(15),
    PAPL_MARQUE         SMALLINT,
    PAPL_ETATMACHINE    BLOB SUB_TYPE 1 SEGMENT SIZE 80,
    PAPL_CLIENT         INTEGER,
    PAPL_CMT            BLOB SUB_TYPE 1 SEGMENT SIZE 80,
    PAPL_VENDUMC3       SMALLINT,
    PAPL_FACTNUM        VARCHAR(10),
    PAPL_FACTDATE       DATE,
    PAPL_PBCODE         SMALLINT,
    PAPL_PBDETAIL       BLOB SUB_TYPE 1 SEGMENT SIZE 80)
RETURNS (
    APL_NO INTEGER,
    APL_NUMERO VARCHAR(10))
AS
DECLARE VARIABLE VUSR_INITIAL CHAR(2);
BEGIN
  APL_NO = GEN_ID(GEN_TAPPEL_NO,1);
  SELECT USR_INITIAL FROM TUSERS WHERE (UPPER(USR_PSEUDO) = UPPER(:PAPL_POUR)) INTO :VUSR_INITIAL;
  APL_NUMERO =  VUSR_INITIAL||INTTOSTR(APL_NO,'%06u');
  INSERT INTO TAPPEL (
    APL_NO,
    APL_DATE,
    APL_TIME,
    APL_CORSPD,
    APL_TYPE,
    APL_STATUS,
    APL_SAISIPAR,
    APL_NUMERO,
    APL_MACHINE,
    APL_NUMSERIE,
    APL_MARQUE,
    APL_ETATMACHINE,
    APL_CLIENT,
    APL_CMT,
    APL_VENDUMC3,
    APL_FACTNUM,
    APL_FACTDATE,
    APL_PBCODE,
    APL_PBDETAIL)
  VALUES (
    :APL_NO,
    :PAPL_DATE,
    :PAPL_TIME,
    :PAPL_CORSPD,
    :PAPL_TYPE,
    'N',
    :PAPL_SAISIPAR,
    UPPER(:APL_NUMERO),
    UPPER(:PAPL_MACHINE),
    UPPER(:PAPL_NUMSERIE),
    :PAPL_MARQUE,
    :PAPL_ETATMACHINE,
    :PAPL_CLIENT,
    :PAPL_CMT,
    :PAPL_VENDUMC3,
    :PAPL_FACTNUM,
    :PAPL_FACTDATE,
    :PAPL_PBCODE,
    :PAPL_PBDETAIL);
END
Lorsque j'execute cette procedure stocké sous IbExpert ou Delphi, j'ai le message d'erreur :
Invalid BLOB Id
Je n'arrive pas à trouver l'erreur.

Merci pour vos patiences

Andry