[SQLRGLE] insert via une data structure impossible ?

RPG (3 et 4, free), CL, SQL, etc...
Répondre
claude.mahe
Messages : 44
Enregistré le : ven. 22 juin 2007, 17:11:26
Localisation : SAINT BRIEUC( 22002)
Contact :

[SQLRGLE] insert via une data structure impossible ?

Message par claude.mahe »

Bonjour,

Je cherche, sans succès, à effectuer un insert sql en utilisant le contenu d'une data structure.

Le code suivant ne passe pas la compilation (V5R3) :
SQL0117 30 397 L'instruction contient un nombre erroné de valeurs

Code : Tout sélectionner

  exec sql Insert INTO ADMA02P0   VALUES(:DS_Fichier);      

cmasse
Site Admin
Messages : 813
Enregistré le : mer. 14 févr. 2007, 18:00:03
Localisation : Nantes
Contact :

ca passe en V6R1

Message par cmasse »

soit la table suivante

Code : Tout sélectionner

CREATE TABLE FORMATION/TEST (
NOM CHAR (10 ) NOT NULL WITH DEFAULT, 
PRENOM CHAR (10 ) NOT NULL WITH DEFAULT, 
DATCRT DATE NOT NULL WITH DEFAULT)
                                                            
le pgm RPG qui suit se compile et s'exécute correctement

Code : Tout sélectionner

Dtestds         e ds                  extname('FORMATION/TEST') 
 /free                                                           
  nom = 'Massé';                                                 
  prenom = 'christian';                                          
  datcrt = %date();                                              
  exec sql                                                       
    INSERT INTO FORMATION/TEST VALUES(:testds);                 
  *inlr = *on;                                                   
si ca peut aider....
Christian Massé (Volubis.fr)

t.lebec
Messages : 2
Enregistré le : ven. 22 juin 2007, 17:09:15
Localisation : GOURIN( 56110)

SQLRGLE] insert via une data structure impossible ?

Message par t.lebec »

Exemple de table :
CREATE TABLE TLB/TLB01
(CENVIR CHAR (2 ) NOT NULL WITH DEFAULT
CDPAYS CHAR (3 ) NOT NULL WITH DEFAULT,
CDEVIS CHAR (3 ) NOT NULL WITH DEFAULT)

Code qui fonctionne en V5R4 sans utilisation du mode free:

d WTLB01 E DS extname(TLB01) prefix(T1_)

c eval T1_CENVIR = 'TS'
c eval T1_CDPAYS = 'PA1'
c eval T1_CDEVIS = 'DE6'

c/exec sql
c+ INSERT INTO TLB/TLB01
c+ VALUES(:WTLB01)
c/end-exec

c eval *inlr = *on [/code]

claude.mahe
Messages : 44
Enregistré le : ven. 22 juin 2007, 17:11:26
Localisation : SAINT BRIEUC( 22002)
Contact :

(sans texte)

Message par claude.mahe »

Bon, en fait ça marche aussi en V5R3...

Par contre, il faut éviter de faire suivre la DATA STRUCTURE par la définition d'une zone unitaire sans S !!!!
Désolé et merci.

Philippe
Messages : 4
Enregistré le : jeu. 26 mars 2009, 11:39:17
Localisation : Région parisienne
Contact :

(sans texte)

Message par Philippe »

Evidemment, sinon la (ou les) zone définie sans "s" immédiatement à la suite de la DS externe fait partie intégrante de cette DS (Data Structure) .

claude.mahe
Messages : 44
Enregistré le : ven. 22 juin 2007, 17:11:26
Localisation : SAINT BRIEUC( 22002)
Contact :

(sans texte)

Message par claude.mahe »

Philippe a écrit :Evidemment, sinon la (ou les) zone définie sans "s" immédiatement à la suite de la DS externe fait partie intégrante de cette DS (Data Structure) .
Oui, inutile d'enfoncer le couteau dans la plaie ! :)

Philippe
Messages : 4
Enregistré le : jeu. 26 mars 2009, 11:39:17
Localisation : Région parisienne
Contact :

(sans texte)

Message par Philippe »

Désolé, je ne voulais vexer personne.

claude.mahe
Messages : 44
Enregistré le : ven. 22 juin 2007, 17:11:26
Localisation : SAINT BRIEUC( 22002)
Contact :

(sans texte)

Message par claude.mahe »

Philippe a écrit :Désolé, je ne voulais vexer personne.
Pas de problème !

Répondre