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 22/12/2011, 11h11   #1
Invité de passage
 
Homme Pierre
Consultant informatique
Inscription : avril 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : avril 2011
Messages : 2
Points : 1
Points : 1
Par défaut Jointure fichiers avec cmd OPNQRYF

Bonjour
Dans un CL, je tente de jointer 4 fichiers pour optimiser mon pgm RPG qui utilisera le pgm résultant.
J'utilise un OVRDBF puis un OPNQRYF comme ci-dessous.
Un pgm RPG lit le fichier ODLINA ainsi créé par l'OPNQRYF.
(Un fichier ODLINA est créé temporairement pour la compile du CL incluant l'OPNQRYF, il comporte toutes les zones dont j'ai besoin pour la suite du traitement RPG)

OVRDBF FILE(ODLINA) TOFILE(ODLINE) SHARE(*YES)

OPNQRYF FILE((ODLINE) (ODHEAD) (OCUSMA) (OOLINE)) +
FORMAT(ODLINA) +
QRYSLT('ODLINE/UBRGDT > ' +
*CAT &DAT8 *CAT ' & ODLINE/UBDLQT + +
ODLINE/UBIVQT > 0') +
KEYFLD((ODLINE/UBCONO) (ODLINE/UBORNO) +
(ODLINE/UBITNO) (ODLINE/UBRGDT) +
(ODLINE/UBRGTM)) +
JFLD((ODLINE/UBCONO +
ODHEAD/UACONO) (ODLINE/UBORNO +
ODHEAD/UAORNO) (ODLINE/UBWHLO +
ODHEAD/UAWHLO) (ODLINE/UBDLIX +
ODHEAD/UADLIX) (ODLINE/UBCONO +
OCUSMA/OKCONO) (ODHEAD/UACUNO +
OCUSMA/OKCUNO) (ODLINE/UBCONO +
OOLINE/OBCONO) (ODLINE/UBORNO +
OOLINE/OBORNO) (ODLINE/UBPONR +
OOLINE/OBPONR) (ODLINE/UBPOSX +
OOLINE/OBPOSX)) +
JDFTVAL(*NO) +
MAPFLD((UBCONO 'ODLINE/UBCONO') (UBORNO +
'ODLINE/UBORNO') (UBITNO 'ODLINE/UBITNO') +
(UBRGDT 'ODLINE/UBRGDT') (UBRGTM +
'ODLINE/UBRGTM')) +
OPNID(QRYFILE)

J'utilise un CPYFRMQRF pour copier et visualiser la sélection effectuée par l'OPNQRYF :
CPYFRMQRYF FROMOPNID(QRYFILE) TOFILE(LIBTEST/TTLINA) +
MBROPT(*REPLACE) CRTFILE(*YES)

Le résultat montre qu'il n'y a aucun enreg. extrait par l'OPNQRYF dans le fichier TTLINA.

Voyez vous qque chose que j'aurai pu oublier dans l'OVRDBF ou l'OPNQRYF ?

Merci.
ppailley est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 14h13   #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
En premier lieu, es-tu sur qu'un OPNQRYF aussi complexe te renvoie des enregistrements ?
Ensuite, OPNQRYF est une commande complètement obsolète de nos jours. Elle était utile à l'époque du S/38 et de l'AS/400. De nos jours, avec les OS récents, on utilise SQL bien plus performant tant en écriture qu'en performances d'exécution pures.
Je remplacerais donc cette commande par une instruction SQL que je placerais dans un programme RPG exécuté en amont du programme RPG existant.
Mercure est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2011, 09h54   #3
Invité de passage
 
Homme Pierre
Consultant informatique
Inscription : avril 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : avril 2011
Messages : 2
Points : 1
Points : 1
OK merci pour ce conseil.
ppailley 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 20h42.


 
 
 
 
Partenaires

Hébergement Web