|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Françoise SPIECARTResponsable de service informatique Inscription : décembre 2007 Messages : 35 ![]() |
Bonjour,
Nous créons des fichiers temporaires physiques suffixés avec un n° récupéré dans une dataarea Ex : Nom du fichier physique : M708(n°de l'option menu)+1234 (n°dataarea) Ce fichier est crée avec les DDS d'un fichier qui s'appelle M708000A Ce fichier physique a 1 fichier logique : M7080AL1 Nous bloquons sur la création de ce logique sur le fichier physique paramètré Avez-vous une solution !!! Merci FSPIECART |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 816 ![]() |
Utilise un CREATE INDEX plutôt que des DDS
|
|
|
00
|
|
|
#3 | |
|
Membre Expert
![]() ![]() |
Citation:
S'il faut passer par les DDS, un petit programme Cobol ou RPG qui récupère en paramètres les noms du fichier physique, du membre et de la bibliothèque pour modifier la ligne dans le membre source DDS. Le CL enchaîne par la compilation des DDS pour créer le logique et le tour est joué. Cette solution est fonctionnelle dans tous mes logiciels où la création des fichiers physiques et logiques est dynamique dans des environnements multi-sociétés. |
|
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2009 Messages : 24 ![]() |
|
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Oui, d'accord avec K2R400, utilisez SQL dynamique pour faire des CREATE TABLE et CREATE INDEX dans un programme RPG ou COBOL avec SQL intégré (type de source SQLRPGLE ou SQLCBLLE). C'est bien plus moderne, bien plus facile à faire (c'est même du gâteau) et autrement plus souple que de faire çà avec les DDS.
|
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 816 ![]() |
Dans le CLP on peut appeler le shell unix qui peut lancer des ordres SQL.
ex : QSH CMD('db2 "CREATE ALIAS MABIB.LADDS FOR MABIB.QDDSSRC (CLIENTL1)"') Dans cet exemple il crée un alias nommé LADDS dans MABIB (ou fichier DDMF comme tu veux) qui pointe vers un membre. Puis il suffit de lancer par le même biais un UPDATE SQL sur l'alias créé. M'enfin il est tellement plus simple de créer un INDEX (c'est un fichier logique), celà évite les DDS et c'est beaucoup plus performant. Maintenant qui veut reste à l'ancien temps. |
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 816 ![]() |
Autre façon en CLP, toujours par QSH
Code :
|
||
|
|
00
|
|
|
#8 | |||||
|
Membre Expert
![]() ![]() |
Citation:
Le CL, ayant déterminé le nom du fichier physique sur lequel va se baser le logique à créer, appelle le programme Cobol pour modifier les DDS. Le CL enchaîne ensuite par le CRTLF. Un exemple simple d'un programme Cobol qui fait ça, j'en ai de plus compliqué. Code :
Code :
|
|||||
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2009 Messages : 24 ![]() |
Merci pour cette réponse très claire mais, malheureusement, je n'utilise pas le COBOL mais le RPG...
|
|
|
00
|
|
|
#10 | |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2009 Messages : 24 ![]() |
Citation:
Merci d'avance |
|
|
|
00
|
|
|
#11 | |
|
Membre Expert
![]() ![]() |
Citation:
- Récupérer le nom du physiaque et la biblio - lire le premier enregistrement - construire le string PFILE(Biblio/fichierPhy) - faire l'update. |
|
|
|
00
|
|
|
#12 | ||
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 816 ![]() |
Voici un programme RPG qui créé l'index.
Code :
Dernière modification par K2R400 ; 08/01/2010 à 17h40. |
||
|
|
00
|
|
|
#13 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2009 Messages : 24 ![]() |
Bonjour,
Merci K2R400 pour ce sources. Pas très familière du free, j'aimerai connaitre la syntaxe pour écrire plusieurs zones clé ? et comment écrire une instruction sur plusieurs lignes ? d'avance merci, |
|
|
00
|
|
|
#14 | ||||
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 816 ![]() |
Code :
Code :
|
||||
|
|
00
|
|
|
#15 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2009 Messages : 24 ![]() |
Lorsque j'exécute ce programme, j'ai le message :
Elément syntaxique RCDFMT n'est pas correct. Eléments possibles : PARTITIONED. Pourquoi ? que puis-je faire pour qu'il fonctionne ? |
|
|
00
|
|
|
#16 |
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 816 ![]() |
En quelle version est-tu ?
Car RCDFMT pour désigner le nom du format du fichier est apparu en V5R4. Si tu as une version antérieure à la V5R4, dans ce cas tu ne peux pas donner un nom de format différent (enlever RCDFMT). Le format aura le même nom que l'index ce qui t'oblige à faire un rename de format dans ton rpg |
|
|
00
|
|
|
#17 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2009 Messages : 24 ![]() |
Maintenant, nous aimerions passer le nom des fichiers physiques et logiques en paramètre.
Voilà notre source: Code :
Merci d'avance pour votre aide. Dernière modification par Hédhili Jaïdane ; 11/01/2010 à 16h42. Motif: Balise Code |
||
|
|
00
|
|
|
#18 | ||
|
Membre Expert
![]() Patrick Inscription : mai 2008 Messages : 816 ![]() |
Code :
|
||
|
|
00
|
|
|
#19 | |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 4 ![]() |
Citation:
Voilà |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com