Après windows pour les nuls, voici PB pour les bons (ou presque).

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 27-04-2016 08:56:41

lh  
Membre
Date d'inscription: 27-10-2009
Messages: 15
Pépites: 80
Banque: 0

[RESOLU] Getchild retourne -1 depuis passage ASE 15

Windows 7
PB 12.5.2
Sybase ASE 15

Le code fonctionnait auparavant, la dropdown s'ouvrait bien.
Depuis le passage à ASE 15 cela ne marche plus. J'ai modifié le code pour intercepter le code retour du getchild et j'ai -1.
Avez-vous une solution ?

Code: pb

L_sSyntaxe = 'select ' + is_dercolonneedit + ' from dbo.' 
//On ne prend que la première table de la liste
L_lPos = Pos(is_dertable, ',')
if L_lPos > 0 then
  is_dertable = Left(is_dertable, L_lPos - 1)
end if
L_sSyntaxe += is_dertable

//On construit la DW
L_sStyle = "Style(Type=Form )" + & 
"Column(Border=5 Color=0 font.face='Times New Roman' font.weight=400 Font.Family=2 Font.Height=-10 ) " + &
 "Datawindow(Color=79741120 ) "
SQLCA.AutoCommit = True
L_sDW = SQLCA.SyntaxFromSQL (L_sSyntaxe, L_sStyle, L_sError)
SQLCA.AutoCommit = False

if Len(L_sError) > 0 then 
  f_vmessagedetail("Critère","Erreur_creation",3, L_sError)  
  return False
end if
dw_getvaleur.Create(L_sDW, L_sError)
if Len(L_sError) > 0 then 
  f_vmessagedetail("Critère","Erreur_creation",3, L_sError)
  return False
end if

//On fait le retrieve si Dawindow Child si il y a des arguments
if L_iType = 5 then
  dw_getvaleur.GetChild(is_dercolonneedit,L_dwc)
  L_dwc.SetTransObject(SQLCA)    
  Ll = L_dwc.Retrieve(uo_organisme.i_scode_organisme, uo_organisme.i_scodeanneeuniv)
end if

Dernière modification par lh (11-05-2016 06:12:11)

Hors ligne

 

#2 27-04-2016 09:08:35

seki  
0x73656B69
Award: bf
Lieu: Laquenexy & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1118
Pépites: 4,296,080,204
Banque: 9,223,372,036,854,776,000
Site web

Re: [RESOLU] Getchild retourne -1 depuis passage ASE 15

Mmh. Le Getchild n'a pas directement d'interaction avec la base mais avec la datawindow elle-même.

F1 a écrit:

Returns 1 if it succeeds and -1 if an error occurs—for example, if the child object does not exist.

Ce code a fait l'objet d'un refactoring ? Le getchild() se fait sur la colonne qui est utilisée par le select qui sert à fabriquer la DW dynamiquement, mais je ne vois pas où on explique à PB que la colonne est une DDDW (le style prédéfini pour le SyntaxFromSQL() indique un type simple).
Vous avez des styles prédéfinis dans pbcatcol / pbcatedt ?


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#3 27-04-2016 09:22:48

lh  
Membre
Date d'inscription: 27-10-2009
Messages: 15
Pépites: 80
Banque: 0

Re: [RESOLU] Getchild retourne -1 depuis passage ASE 15

Non le code n'a pas changé depuis 2011.
Quel genre de trace (Messagebox) puis-je mettre pour mieux comprendre ce qui ne marche plus ?
C'est une fenêtre assez complexe qui permet de paramétrer différents critères d'extraction.

Hors ligne

 

#4 27-04-2016 10:19:47

buck  
Modérateur
Lieu: Dijon
Date d'inscription: 31-07-2008
Messages: 747
Pépites: 1,028,843
Banque: 171,170,849,654

Re: [RESOLU] Getchild retourne -1 depuis passage ASE 15

Bonjour,

As tu vérifiés dans la syntaxe de la datawindow, comment est construit le nom de ta colonne (is_dercolonneedit) ?

Hors ligne

 

#5 28-04-2016 05:47:33

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] Getchild retourne -1 depuis passage ASE 15

Bonjour,

étant donnés que tu construis la syntaxe de la datawindow dynamiquement, le lien pour ta dropdowndatawindow doit provenir des extended attributs. Peut-être ceux ci ne sont pas dans la base de données ASE 15 ?


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#6 09-05-2016 14:47:47

lh  
Membre
Date d'inscription: 27-10-2009
Messages: 15
Pépites: 80
Banque: 0

Re: [RESOLU] Getchild retourne -1 depuis passage ASE 15

En effet j'ai trouvé dans les extended attributs un style qui correspond à la DDDW que je voudrais affiché. Il faut donc que je modifie le style, mais j'ai du mal avec la syntaxe suivante :   

dw_getvaleur.Modify(is_dercolonneedit + ".edit.style = produit_peda_organisme_annee")  //is_decolonneedit contient le nom de la colonne et produit_peda_organisme_annee est le nom du style défini dans les extended attributs

Cela ne change rien...

Hors ligne

 

#7 10-05-2016 05:29:36

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 720
Pépites: 11,343
Banque: 100,221,387,868,884,300
Site web

Re: [RESOLU] Getchild retourne -1 depuis passage ASE 15

tu peux aussi exporter les attributs d'une base vers l'autres:
Dans le database painter, depuis la connection avant migration :
- aller sur Tables
- faire clique droit : show system tables (doit être coché)
- faire un clique droit refresh si les tables pbcat* ne sont pas visibles
- sur chaque table faire clique droit / Export Syntax : cela prépare les create table/index et insert into qui vont bien.


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#8 10-05-2016 15:21:39

lh  
Membre
Date d'inscription: 27-10-2009
Messages: 15
Pépites: 80
Banque: 0

Re: [RESOLU] Getchild retourne -1 depuis passage ASE 15

Merci. Ca fonctionne à nouveau.

Les Edit Styles dans les Extended Attributes ont bien été migré.
Par contre en vérifiant certaines colonnes j'ai constaté qu'il n'y avait plus de style associé, d'où le GetChild qui ne fonctionnait plus puisque ma colonne n'était plus associé à une DDDW. J'ai mis le style qui va bien et ça marche.
En faisant un select sur la table pcatcol j'ai l'impression de voir des doublons :
Ne devrais-je pas trouver une ligne unique par pbc_tnam + pbccnam ?
Ainsi j'ai 2 lignes dans ma table concernant la même colonne d'une même table. Par contre l'une fait référence à Edit style et pas l'autre.
Est-ce un effet de la migration ?
Cette dernière remonte à décembre 2015 et nous n'avons pas moyen de vérifier le contenu de la table avant migration.

L'essentiel c'est que cela fonctionne à nouveau.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22