Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
J'ai créé un petit UO pour la gestion d'import dans une structure temporaire avant traitement.
Ce User Object contient
- un datastore ds_import
- un évènement ue_import codé comme suit :
Boolean lb_retour = False Long i, ll_rows String ls_path, ls_file, ls_msg If getFileOpenName("Importer un fichier", ls_path, ls_file, "TXT", "Text Files (*.TXT),*.TXT," ) > 0 Then ds_import.Reset() ll_rows = ds_import.ImportFile(ls_path, 1) // CONSTANTES DECLAREES Choose Case ll_rows Case -1 ls_msg = "Aucune ligne dans le fichier." Case -2 ls_msg = "Le format du fichier ne correspond pas au format attendu.~rConsultez la documentation afférente ou le bouton [?]." // AUTRE CASES D'ERREUR // ... Case Else lb_retour = True End Choose End If Return lb_retour
Mon problème est le suivant : si j'importe un fichier texte qui ne correspond pas à la structure de ds_import, j'ai mon ll_rows > 0 qui correspond au nombre de lignes importées et non pas le code erreur attendu. De mémoire un messagebox s'affichait si l'import était effectué dans un DW visuelle, mais pas lors de l'import dans un NVO. Mon problème est donc que pour moi tout est OK et quand je veux manipuler mes données, PAF! ça ne marche *forcément* pas.
Le pire est que si je fais un SaveAs de mon ds_import, je n'ai rien dedans à part les entêtes de colonnes.
Hors ligne
Tu n'aurais pas été trompé par l'aide entre
- ImportFile Powerscript function dont la doc semble correspondre avec ce que tu indiques mais qui concerne les graphes (la doc a l'air un peu trompeuse : on parle au début de DW ou graphe, mais l'exemple ne parle que de graphe) et dont le code -2 indique bien un fichier vide ou une mauvaise concordance de nombre de colonnes
- et ImportFile method (datawindows) pour lequel le code -2 concerne un fichier vide mais qui ne parle pas de nombre de colonnes
?
Hors ligne
... Dsl effectivement la méthode ImportFile ne renvoit pas code erreur en cas d'inconsistance entre fichier en import et format de la colonne, cependant lorsque l'on a une DW visible sur laquelle on effectue un import et que les données ne peuvent être validées (String au lieu de Number, etc.), on obtient le msg PB suivant : "Item ... does not pass validation test", puis "Item validation error on IMPORT" ; sur un NVO, aucune erreur de ce type, et pire, le rowcount m'indique bien le nombre de lignes théoriquement importées.
Hors ligne