Bonjour, il m'arrive un truc qui commence à ressembler pour moi à un bug IBM, mais avant de les appeler pour signaler un souci grave, je préfèrerais vous demander votre avis. Pas envie de passer pour un clown si c'est moi le responsable.
Voilà, j'ai un module chargé de récupérer des valeurs dans un enregistrement, et de les retourner à des programmes chargés d'imprimer, afficher, etc... Bref un simple petit Select Into que voici :
Le hic, c'est que lors de la lecture, j'ai 2 zones, en l'occurence P_NOM et P_TEL, dont le début est écrasé par des blancs. Les 2 premiers caractères pour P_NOM, les 4 premiers pour P_TEL. Exemple :
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 D get_Ent_Rcd PI 10i 0 Code retour D P_CodSoc 1 Const Code société D P_CodEnt 2 Const Code Entrepôt D P_NOM 30 Options(*varsize) Retour: Nom D P_RU1 30 Options(*varsize) Retour: Rue 1 D P_RU2 30 Options(*varsize) Retour: Rue 2 D P_CPO 5 Options(*varsize) Retour: C.Post D P_VIL 25 Options(*varsize) Retour: Ville D P_MAI 50 Options(*varsize) Retour: EMail D P_TEL 20 Options(*varsize) Retour: Tél. D P_FAX 20 Options(*varsize) Retour: Fax D D retcod s 10i 0 Inz(0) Code retour D C* ======================================================================== /Free // Lit l'enregistrement correspondant Exec SQL Select ENTNOM, ENTRUE1, ENTRUE2, ENTCPOS, ENTVILLE, ENTTELGEN, ENTFAXGEN, ENTEMAIL into :P_NOM, :P_RU1, :P_RU2, :P_CPO, :P_VIL, :P_TEL, :P_FAX, :P_MAI From ELSOCODB/ENTREPOT Where ENTCODSOC = :P_CodSoc and ENTCODE = :P_CodEnt;
Si la valeur réelle de P_NOM est 'ABCDEF' je trouve dans cette variable ' CDEF' juste après la lecture.
Voici le fichier utilisé :
Merci d'avance à ceux qui vont se prendre la tête.
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 CREATE TABLE ELSOCODB.ENTREPOT ( ID FOR COLUMN ENTID SMALLINT GENERATED ALWAYS AS IDENTITY ( START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE NO CYCLE NO ORDER CACHE 20 ) , CODE_SOCIETE FOR COLUMN ENTCODSOC CHAR(1) CCSID 1147 NOT NULL DEFAULT '' , CODE FOR COLUMN ENTCODE CHAR(2) CCSID 1147 NOT NULL DEFAULT '' , NOM FOR COLUMN ENTNOM CHAR(30) CCSID 1147 NOT NULL DEFAULT '' , RUE1 FOR COLUMN ENTRUE1 CHAR(30) CCSID 1147 NOT NULL DEFAULT '' , RUE2 FOR COLUMN ENTRUE2 CHAR(30) CCSID 1147 NOT NULL DEFAULT '' , CODE_POSTAL FOR COLUMN ENTCPOS CHAR(5) CCSID 1147 NOT NULL DEFAULT '' , VILLE FOR COLUMN ENTVILLE CHAR(24) CCSID 1147 NOT NULL DEFAULT '' , TELEPHONE FOR COLUMN ENTTELGEN CHAR(20) CCSID 1147 NOT NULL DEFAULT ' ' , TELECOPIE FOR COLUMN ENTFAXGEN CHAR(20) CCSID 1147 NOT NULL DEFAULT ' ' , EMAIL FOR COLUMN ENTEMAIL CHAR(50) CCSID 1147 NOT NULL DEFAULT '' , CREATED_AT FOR COLUMN ENTCRTAT TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , UPDATED_AT FOR COLUMN ENTUPDAT TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , UPDATED_BY FOR COLUMN ENTUPDBY CHAR(10) CCSID 1147 NOT NULL DEFAULT '' , CONSTRAINT ELSOCODB.Q_ELSOCODB__ENTR0001__ENTID_00001 PRIMARY KEY( ID ) ) RCDFMT "Entr0001" ;
Partager