Si je souhaite ajouter des enregistrements à un fichier existant, quels paramètres DISP dois-je utiliser?Ajout d'enregistrements à un fichier existant
Répondre
DISP=MOD
Ceci ajoutera à la fin d'un jeu de données séquentiel existant. Si l'ensemble de données spécifié n'existe pas encore, il sera créé (dans ce cas DISP = MOD et DISP = NOUVEAU équivalent)
méfiez-vous des suivants:
datasets multi-volume
Le comportement de DISP=MOD
varie selon que vous spécifiez ou non un volume spécifique. Vous devriez examiner cette reference les règles
partitionnées datasets
Si vous spécifiez un nom de membre dans le paramètre DSNAME, le nom du membre ne doit pas exister déjà. Le système positionne le mécanisme de lecture/écriture à la fin de l'ensemble de données. Si le nom de membre existe déjà, le système termine le travail.
Si vous ne spécifiez pas de nom de membre, le système positionne le mécanisme de lecture/écriture à la fin de l'ensemble de données. Le système n'effectue pas d'entrée automatique dans le répertoire. Ajouter des données à la fin d'un membre d'un PDS/PDSE est un peu une astuce. Vous devez généralement supprimer et réécrire le membre entier avec les nouveaux enregistrements ajoutés.
séquentielle et datasets le verbe COBOL OUVERT
Il y a une certaine "interaction" entre le DISP
donné JCL et le verbe COBOL OPEN
.
Si vous spécifiez DISP=MOD
dans votre JCL, un programme COBOL ajoutera des enregistrements à la fin d'un jeu de données séquentielle pour les OPEN OUTPUT
et OPEN EXTEND
.
Si vous spécifiez DISP=OLD
dans votre JCL, un programme COBOL ajoute des enregistrements à l'extrémité d'un jeu de données séquentiel pour OPEN EXTEND
. Si vous ouvrez le jeu de données séquentiel en tant que OPEN OUTPUT
, , le contenu original de l'ensemble de données est supprimé et vous recommencez avec un jeu de données vide (comme si vous l'aviez supprimé et réattribué).
VSAM datasets
fichiers virtuels de stockage Méthode d'accès (VSAM) sont un tout autre de poissons bouilloire.jeux de données VSAM sont disponibles dans une variété d'organisations:
- KSDS (clé séquencée ensemble de données)
- ESDS (Entrée séquencée ensemble de données)
- RRDS (Relative record de données)
- LSD (linéaire de données spatiales Set)
Chaque organisation a ses propres caractéristiques et usages.
Les jeux de données VSAM doivent être prédéfinis avant qu'un programme COBOL puisse les référencer. Ceci est souvent fait en tant que travail séparé IDCAMS. Une fois que l'ensemble de données VSAM a été défini , il peut être accédé via un programme COBOL (ou autre). Ce reference fournit un bon aperçu de la manipulation des jeux de données VSAM sous COBOL. La section: Adding records to a VSAM dataset couvre les spécificités de l'ajout d'enregistrements à un ensemble de données VSAM à partir d'un programme COBOL. Utilisez la version OPEN EXTEND
de l'instruction open COBOL pour ajouter des enregistrements à la fin d'un ensemble de données ESDS ou KSDS VSAM existant. Notez que pour les ensembles de données KSDS, les enregistrements doivent être ajoutés dans l'ordre croissant par rapport à la clé.
Le langage JCL utilisé pour connecter un ensemble de données VSAM à un programme est en réalité assez simple et est décrit here. L'utilisation de DISP=MOD
est la même que DISP=OLD
pour les jeux de données VSAM existants (utilisez l'une ou l'autre - elle ne fait pas de différence ). Utilisez DISP=SHR
si vous ne mettez pas à jour le jeu de données et ne souhaitez pas bloquer d'autres programmes d'accès simultané.
- 1. Ajout d'un fichier XML existant
- 2. Ajout d'un champ à un fichier de données COBOL existant
- 3. Ajout d'un formulaire QT à un projet VS2008 existant
- 4. Ajout d'un élément à un nœud XML existant
- 5. Ajout d'une image à un fichier PDF EXISTANT à l'aide d'itextsharp
- 6. Ajout d'une méthode doRead() à un objet socket existant
- 7. Ajout d'un champ à un modèle Django existant
- 8. Ajout à un fichier image
- 9. Comment renommer un fichier existant
- 10. Fichier inexpliqué introuvable pour un fichier existant
- 11. Ajout d'un cadre existant à l'erreur Xcode (iPhone)
- 12. Comment ajouter un fichier cs à un projet C# existant?
- 13. Ajout de DataTables à un fichier XML
- 14. Ajout d'en-tête à un fichier .doc
- 15. Ajout de texte à un fichier image
- 16. Ajout d'un lien avec href existant
- 17. Compresser un fichier existant avec Rubyzip
- 18. ajout dans un fichier compressé à l'aide GZipStream
- 19. ar sur un fichier .a existant?
- 20. Ajout d'un fichier .dll à un fichier java
- 21. écriture à un fichier déjà existant en utilisant FileWriter Java
- 22. Ajouter une ligne à un fichier existant en Python
- 23. AudioFileOpenURL renvoie -43 sur un fichier existant
- 24. C++: Écrire dans un fichier existant?
- 25. Supprimer un fichier existant d'un Git Repo
- 26. StreamWriter n'écrit pas dans un fichier existant
- 27. Comment télécharger un fichier existant en PHP
- 28. Ajout de module confirmable à un site existant à l'aide de Devise
- 29. Ajout d'un bloc de chaînes XML à un objet XmlDocument existant
- 30. Ajout de propriétés: paires de valeurs de GooglemapsAPI à un objet json/javascript existant
Salut Neal, Merci pour le repy. Si j'utilise DISP = MOD alors est-il comme mon quand j'ouvre que le curseur de fichier est déjà positionné au dernier enregistrement? – Saisha
@Manasi L'ouverture d'un ensemble de données séquentiel avec 'DISP = MOD' place le mécanisme de lecture/écriture après le dernier enregistrement dans l'ensemble de données. L'écriture suivante émise par votre programme ajoute un nouvel enregistrement à l'ensemble de données (ne remplacera pas les enregistrements existants). DISP = MOD implique que vous écrivez dans l'ensemble de données (par opposition à la lecture de celui-ci). Remarque: Le terme "curseur" est généralement associé aux opérations de base de données (par exemple position du curseur par rapport à une requête SQL multi-lignes). Pour les opérations de jeu de données, nous nous référons généralement à la position de lecture/écriture dans l'ensemble de données. – NealB
Merci Neal, Si j'utilise DISP = MOD, je dois ouvrir le fichier en mode EXTEND, non? Puis-je utiliser EXTEND avec DISP = OLD? Si j'utilise DISP = OLD pour ajouter des enregistrements, où sera ma position de lecture/écriture dans l'ensemble de données? – Saisha