|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Pierre Consultant informatique Inscription : avril 2011 Messages : 2 ![]() |
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. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
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. |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Pierre Consultant informatique Inscription : avril 2011 Messages : 2 ![]() |
OK merci pour ce conseil.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com