|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 141 ![]() |
Bonjour,
J’ai un fichier qui contient des résultats d’une requête, j’ai dans la page 1 le 1er résultat et dans la 2eme page le reste du résultat, ma question comment avoir une seule page pour facilité le transfère sur EXCEL sans passer par copier/coller Exemple : 1PAGE 1 +--------------------------------- ! N_MLE ! NOM ! +--------------------------------- 1_! 25820076437 ! ADILI ! 2_! 45880006903 ! CARI ! 1PAGE 2 ---------------+ ! CP ! ---------------+ 1_! 4141 ! 2_! 645 ! Je veux avoir ce résultat +-------------------------------------------------+ ! N_MLE ! NOM ! CP ! +-------------------------------------------------+ 1_! 25820076437 ! ADILI ! 4141 ! 2_! 45880006903 ! CARI ! 645 ! |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Administrateur de base de données Inscription : octobre 2006 Messages : 477 ![]() |
Bonjour
Je pars du principe que tu utilises le programme DSNTEP2. Avec ce programme, c'est impossible. Dès que les lignes dépassent 133 caractères, tu as un "split" sur des pages suivantes. Pour contourner, tu peux utiliser le "spufi" en interactif. C'est très pratique pour des travaux ponctuels. en batch, tu peux utiliser DSNTIAUL avec 'parm(sql)'. Si cette dernière option est choisie, tu risques de t'amuser avec les caractères spéciaux (indicateurs de longueur de zone, de NULL, UNICODE, ....). Sur tous les sites que je connais, il existe au moins un programme "maison" qui permet de créer des fichiers séquentiel à partir d'une requête SQL. Vérifie sur ton site. Bernard |
|
|
00
|
|
|
#3 |
|
Membre expérimenté
![]() Inscription : octobre 2007 Messages : 449 ![]() |
Si pas de pgm maison et si on a bindé le plan sur ton site, tu peux aussi rêgler ça par un REXX. Pas besoin de connaître REXX, il te suffit de coder le SELECT pour le sous-système DB2 qui vont bien. Des exemples sont déjà passés sur ce site. Vois avec l'équipe système si l'appel DSNREXX est autorisé, ou plus globalement, le SQL dynamique dans un Batch. Si oui pourquoi pas aussi en COBOL ?. Je verrais bien un programme, assez facile, qui récupère le SELECT en PARM ou en SYSIN et qui écrit le résultat dans un fichier.
Mais Bernard à raison, tu as probablement déjà qque chose dans le genre sur ton site. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() François DurandSpécialiste Delivery Mainframe IBM Inscription : octobre 2005 Messages : 1 071 ![]() |
DSNTIAUL avec les bonnes fonctions de colonnes, c'est assez simple si il n'y a pas trop de colonnes justement.
On peut même ajouter les points-virgules pour avoir un fichier de type CSV et donc facilement lisible par EXCEL. |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 141 ![]() |
Oui j’ai essayé la proposition de bernard59139 est c’est bien avec "spufi" mais mon problème, que le fichier qui contiens la résultat est apatrié de VALREC vers CPL avec une taille de 133, alors je peux changé la taille de fichier mais je peur d’avoir une déphasage des données, je pense que je veux faire une demande a l’équipe qui occupe de VALREC car pas de droit de toucher une base sur VALREC (problème d’autorisation) de re-lacer la requête avec "spufi".
Merci pour votre réponse |
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() Administrateur de base de données Inscription : octobre 2006 Messages : 477 ![]() |
Bonjour
Attention, SPUFI c'est toujours en interactif. Souvent en batch on utilise à tord le terme spufi pour une requête sql passée vie le PGM=DSNTEP2. Si tu ne peux pas agir sur le processus d'origine; tu seras obliger de subir. Tu peux dévelopepr un programme remet de l'ordre dans tes lignes. |
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Guillaume VENTREz/OS Technical Leader Inscription : décembre 2006 Messages : 508 ![]() |
J'utilise plutôt des unloads sélectif via DSNIAUL comme le disent Luc Orient et bernard59139.
Par contre je pense que j'ai une macro EXCEL qui reformate les résultats de DSNTEP2 quelque part au boulot. Je regarde la semaine prochaine et je la met en ligne sur ce fil. .
__________________
★★ Documentation Mainframe par Guillaume Ventre ★★ |
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 141 ![]() |
Merci pour l'information, j'attend votre macro EXCEL merci d'avance
|
|
|
00
|
|
|
#9 |
|
Membre chevronné
![]() Guillaume VENTREz/OS Technical Leader Inscription : décembre 2006 Messages : 508 ![]() |
Bonjour,
En pièces jointes la macro "MEF DSNTEP2.xls" et le fichier exemple résultat d'une requête via DSNTEP2 "DSNTEP2.txt" dans le zip. La macro se lance à l'ouverture du fichier Excel, une boite de dialogue demande de spécifier le fichier résultat (le *.txt) et c'est tout. Attention la macro est sans doute à adapter à votre site, par exemple, le délimiteur n'est pas forcément "!"... NB : attention aux limites d'excel 65536 lignes, 256 colonnes. .
__________________
★★ Documentation Mainframe par Guillaume Ventre ★★ |
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 141 ![]() |
Bonjour,
Merci pour le macro sa fonction très bien. Dernière modification par a_karim_fr ; 28/09/2009 à 14h38. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com