Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > AS/400
AS/400 Le Forum d'entraide sur IBM AS/400 - iSeries. RPG.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 17/12/2009, 18h10   #1
Rédacteur/Modérateur
 
Avatar de JauB
 
Homme Faisel
Ingénieur COBOL/AS400
Inscription : octobre 2005
Messages : 1 701
Détails du profil
Informations personnelles :
Nom : Homme Faisel
Âge : 31
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur COBOL/AS400
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 701
Points : 2 710
Points : 2 710
Envoyer un message via AIM à JauB Envoyer un message via MSN à JauB Envoyer un message via Yahoo à JauB
Par défaut affichage des champs d'une table en paramètre ?

Bonjour tout le monde,
Est ce qu'il y a moyen sous AS400 pour afficher tous les champs (avec les données) en mentionnant le nom de la table dans une clause WHERE par exemple ?

Du genre :

Code :
1
2
3
4
 
SELECT *
FROM ....
WHERE NOM_TABLE ='maTable'
Certainement cette requête attaquera des schémas système mais je ne sais pas comment y parvenir, si vous avez une idée
Toute autre suggestion est la bienvenue.
Merci d'avance
__________________
*** Ingénieur COBOL/AS400 ***

-------------------------------------------------------------------

Mes articles, Mon Blog

Rubrique Jasper/iReport :
------- Forum Jasper --------
----- FAQ Jasper/iReport -----

JauB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2009, 18h16   #2
Membre Expert
 
Patrick
Inscription : mai 2008
Messages : 816
Détails du profil
Informations personnelles :
Nom : Patrick
Âge : 41
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mai 2008
Messages : 816
Points : 1 035
Points : 1 035
Il te faut faire du dynamique.
Que veux-tu faire exactement, pour quel but ?
Car a tout problème précis il y a une solution précise.
K2R400 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2009, 18h29   #3
Rédacteur/Modérateur
 
Avatar de JauB
 
Homme Faisel
Ingénieur COBOL/AS400
Inscription : octobre 2005
Messages : 1 701
Détails du profil
Informations personnelles :
Nom : Homme Faisel
Âge : 31
Localisation : Maroc

Informations professionnelles :
Activité : Ingénieur COBOL/AS400
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 701
Points : 2 710
Points : 2 710
Envoyer un message via AIM à JauB Envoyer un message via MSN à JauB Envoyer un message via Yahoo à JauB
Exactement c'est du dynamique que je veux.
En effet, certains utilisateurs ont besoin de toutes les données contenues dans certaines tables pour les exporter vers Excel. Le nombres de ces tables dépasse les 300 tables. Ce va être embêtant de faire un travail du genre :

Code :
1
2
3
 
SELECT *
FROM    maTable1
et exporter le résultat vers Excel et après changer dans la 1ère requête et écrire :

Code :
1
2
3
 
SELECT *
FROM    maTable2
et exporter ... et refaire la même chose plus que 300 fois.
J'ai pensé donc à écrire un petit programme (COBOL ou autre) qui va lire le nom de ces fichiers en boucle (à partir d'une requête attaquant les fichiers système et qui retourne les noms des fichiers d'une bibliothèque donnée) et à chaque fois qu'on lit le nom d'un fichier on le passe en paramètre à une requête générique du genre :

Code :
1
2
3
 
SELECT *
FROM    maTableParametre
J'epère que ma question est claire
__________________
*** Ingénieur COBOL/AS400 ***

-------------------------------------------------------------------

Mes articles, Mon Blog

Rubrique Jasper/iReport :
------- Forum Jasper --------
----- FAQ Jasper/iReport -----

JauB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2009, 23h37   #4
Membre Expert
 
Inscription : novembre 2004
Messages : 1 298
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 1 298
Points : 1 355
Points : 1 355
Si tu as quelque part dans une table une liste des noms de tables à exporter, ça devient facile d'écrire un programme ou une procédure qui lit cette liste et crée le SQL d'extraction et dépose le résultat dans des tables de travail par exemple. Pas besoin d'accéder aux tables du système.

Code :
1
2
3
4
5
6
7
Pseudo code

Loop:
   Lecture Table_Liste 
   Stm = 'Create table ... as (Select * from ' + Liste.Nom_Table + ') with data'
   Execute :Stm
Goto Loop
Mercure est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2009, 17h49   #5
Membre Expert
 
Patrick
Inscription : mai 2008
Messages : 816
Détails du profil
Informations personnelles :
Nom : Patrick
Âge : 41
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : mai 2008
Messages : 816
Points : 1 035
Points : 1 035
Tu trouveras le nom de tes tables dans SYSTABLES, a toi de choisir les bons schemas.
K2R400 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 19h38.


 
 
 
 
Partenaires

Hébergement Web