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 18/07/2008, 17h23   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 6
Détails du profil
Informations personnelles :
Âge : 53

Informations forums :
Inscription : septembre 2007
Messages : 6
Points : 4
Points : 4
Par défaut Indirection de champ

Bonjour,
Voilà mon problème est tout bête et en même temps complexe en RPG.
J'ai un fichier d'un coté et d'un autre j'ai le nom d'un champ contenant le nom d'un des champs du fichier.

Le besoin est évident, je voudrai récupérer la valeur de mon champ
Exemple
Fichier :
Zone1="A"
Zone2=5
Zone3="Toto"
Zone4=75018
Zone5="Paris"
d'une part
Et champ="Zone3"

Je voudrai a partir de cela obtenir
ChampRésultat=Toto Si champ=Zone3
et
ChampRésultat=75018 Si champ=Zone4
Etc...

En WINDEV que j'utilise par ailleurs j'aurais utilisé les indirections
Mais en RPGILE ?

Les pointeurs ?
Et comment ?

Quelqu'un aurait'il une idée ?

Merci
LPF37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2008, 15h31   #2
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
Utiliser soit DSPFFD, soit l'API QUSLFLD (mieux) pour récupérer la liste des zones du fichier dans le programme RPG. Ensuite, rapprocher le champ contenant le nom recherché de cette liste puis faire un EVAL du nom trouvé dans la liste dans une zone résultat.
Mercure est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2008, 10h01   #3
Invité de passage
 
Inscription : septembre 2007
Messages : 6
Détails du profil
Informations personnelles :
Âge : 53

Informations forums :
Inscription : septembre 2007
Messages : 6
Points : 4
Points : 4
Merci Philippe pour la réponse.
La technique du DSPFFD je connaissais. mais ele ne m'apporte pas la solution "transparente" que je recherche.
Donc si je comrends bien il n'y a pas moyen de travailler directement avec le nom du champ comme variable d'affectation.
Dommage.

Merci quand meme.

Ps : Peux tu me dire ou trouver la doc de l'API que tu cite et plus généralement DES api AS400 ?
LPF37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2008, 16h38   #4
Membre confirmé
 
Avatar de Green Hornet
 
Homme
Inscription : février 2004
Messages : 204
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39
Localisation : France, Indre et Loire (Centre)

Informations forums :
Inscription : février 2004
Messages : 204
Points : 219
Points : 219
LFP37, ton problème est lié, si j'ai bien suivi, à celui que j'exposai en février dernier : http://www.developpez.net/forums/sho...d.php?t=498072
Green Hornet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/07/2008, 18h43   #5
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
Citation:
Peux tu me dire ou trouver la doc de l'API que tu cite et plus généralement DES api AS400 ?
Sur l'infocenter de Big Blue

http://publib.boulder.ibm.com/infoce...v5r4/index.jsp

ensuite, dans la fenetre de gauche, clic sur I5/OS Information Center...>Programming>Application Programming Interfaces (APIs)>API Finder

Dans la fenetre de droite, indiquer QUSLFLD dans la boite Find By Name puis Go
Sur l'écran suivant, clic sur lien List Fileds et tu y es.
Attention ! ne pas utiliser les boutons de navigation du navigateur pour avancer ou reculer d'une page mais les fleches jaunes de direction en haut et a droite de la fenetre.
Mercure 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 +2. Il est actuellement 21h49.


 
 
 
 
Partenaires

Hébergement Web