SQLRPGLE et Datastructure en V6R1 [INTO :maDS impossible?]

RPG (3 et 4, free), CL, SQL, etc...
Répondre
braconnier
Messages : 7
Enregistré le : mar. 16 sept. 2008, 21:12:13
Localisation : Cholet
Contact :

SQLRPGLE et Datastructure en V6R1 [INTO :maDS impossible?]

Message par braconnier »

Bonjour à tous,

en v6r1 il semble impossible d'affecter les valeurs des zones d'une DS sous cette forme

Code : Tout sélectionner

D WrkMECANDS      DS                                            
D WrkmnANOPECU                   4S 0 OVERLAY(WrkMECANDS)       
D WrkmnNROPECU                   9S 0 OVERLAY(WrkMECANDS: *Next)
D WrkmnCDSUPCU                   2A   OVERLAY(WrkMECANDS: *Next)
D WrkmnNRSUPCU                   9S 0 OVERLAY(WrkMECANDS: *Next)
D WrkmnLBSUPCU                  50A   OVERLAY(WrkMECANDS: *Next)
D WrkmnDTDEBVL                  10A   OVERLAY(WrkMECANDS: *Next)
D WrkmnDTFINVL                  10A   OVERLAY(WrkMECANDS: *Next)

(...)

 C/EXEC SQL                                                     
 C+  DECLARE MECAN_CURSOR CURSOR FOR                            
 C+    SELECT ANOPECU, NROPECU, CDSUPCU, NRSUPCU, LBSUPCU,      
 C+           DTDEBVL, DTFINVL                                  
 C+    FROM CDSUPCUP0 SUP                                       
 C+     WHERE SUP.CDOPESI = :CD3450CDOPESI                      
 C+ FOR READ ONLY                                               
 C/END-EXEC                                                     

(...)

C/EXEC SQL              
C+ FETCH MECAN_CURSOR   
C+  INTO :WrkMECANDS    
C/END-EXEC              

cela se solde par une erreur SQL0312 au niveau de la précompilation.
Nota : cela se passait bien en V5R4.

Avez vous déjà confronter à ce problème ?
S'agit il d'un bug de la commande CRTSQLRPI en V6R1 ?

merci pour votre participation.
cordialement.

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

SQL et DS

Message par cmasse »

Bonjour,

non ça marche (en tout les cas, le code suivant fonctionne chez moi en V6R1)

Code : Tout sélectionner

Dretour           DS                                       
D pr_code                       10I 0                      
D pr_nom                        50                         
D appel_code                    10I 0                      
 /free                                                     
   Exec sql                                                
    SELECT pr_code, pr_nom, appel_code                     
    INTO &#58;retour FROM Producteurs WHERE pr_code < 2;   
    
   *inlr = *on;                                            
 /end-free                                                 
le problème doit être ailleurs...


Christian
Christian Massé (Volubis.fr)

braconnier
Messages : 7
Enregistré le : mar. 16 sept. 2008, 21:12:13
Localisation : Cholet
Contact :

(sans texte)

Message par braconnier »

Effectivement, après avoir creusé un peu, c'est en fait l'overlay qui ne fonctionne pas.

en modifiant la DS comme suit, cela fonctionne

Code : Tout sélectionner

D WrkMECANDS                    94A                      
D WrkmnANOPECU                   4S 0 OVERLAY&#40;WrkMECANDS&#41;       
D WrkmnNROPECU                   9S 0 OVERLAY&#40;WrkMECANDS&#58; *Next&#41;
D WrkmnCDSUPCU                   2A   OVERLAY&#40;WrkMECANDS&#58; *Next&#41;
D WrkmnNRSUPCU                   9S 0 OVERLAY&#40;WrkMECANDS&#58; *Next&#41;
D WrkmnLBSUPCU                  50A   OVERLAY&#40;WrkMECANDS&#58; *Next&#41;
D WrkmnDTDEBVL                  10A   OVERLAY&#40;WrkMECANDS&#58; *Next&#41;
D WrkmnDTFINVL                  10A   OVERLAY&#40;WrkMECANDS&#58; *Next&#41;
Toutefois un incident a été ouvert chez IBM ( à suivre...)

braconnier
Messages : 7
Enregistré le : mar. 16 sept. 2008, 21:12:13
Localisation : Cholet
Contact :

SQLRPGLE et Datastructure en V6R1 [Resolu]

Message par braconnier »

Le problème est résolu, cela fonctionne avec la description de la DS dans sa première forme.

pour ce faire Nous avons installé les 2 PTFs suivantes :
  • SI36312 pour le produit 5761ST1
    SI36313 pour le produit 5761SS1.


Merci pour votre participation.

Cordialement,
Ludovic Braconnier
GEOS informatique

Répondre