Wie Sie die Größe des Mitglieds einer PDS-Datei lesen. Eine PDS-Datei hat viele Mitglieder. Wenn wir ein PDS durchsuchen, können wir die Mitgliedsnamen, ihr Erstellungsdatum, ihre Zeit, ihren Benutzer, ihre Größe usw. sehen. Also, wie man diese Attribute in Variablen getrennt erhält.Lesen Sie die Größe des Mitglieds der PDS
Antwort
Wenn unter TSO/ISPF ausgeführt (Sie können dies auch in Batch), können Sie den LMMFIND Service mit der Statistik (ja) Option verwenden. Sie werden
zu tun haben, bevor Sie die tun LMFIND. Auch als zarchasmpgmr müssen Sie LMCLOSE und LMFREE
tun, wenn Sie Mitglied Liste angezeigt werden soll, haben einen Blick auf LMMDISP
Als Bruce erwähnt LMMFIND die ISPF Statistiken für eine PDS-Member haben . Stellen Sie sicher, dass die STATS YES für den Dienst verwendet wird. Möglicherweise müssen Sie auch nach erweiterten Statistiken suchen (Variable ZLEXT). Eine Website kann erweiterte Statistiken verwenden, wenn die Mitgliedsgröße 64 KB überschreitet. Bitte beachten Sie die ISPF Services Guide. Unten ist der Link für LMMFIND im 2.1 Handbuch.
Beachten Sie, dass die Statistiken Sie schreiben von ISPF gehalten werden. Es gibt viele Möglichkeiten, ein Mitglied außerhalb von ISPF zu erstellen, und diese Mitglieder werden diese Statistiken haben nicht. Der ISPF-Dienst LMMSTATS wird diese Statistiken festlegen (das 3.5 R-Panel ist ein Frontend für diesen Dienst). Die Reihenfolge der Anrufe ist
Aus irgendeinem Grund hat LMMSTATS nicht die LMOPEN und LMCLOSE Dienste erfordern.
Ich glaube, dass LMOPEN und LMCLOSE nicht erforderlich sind, da sie effektiv für das PDS-Verzeichnis ausgeführt werden, wo stats (in den Benutzerdaten des Verzeichniseintrags eines Mitglieds) von LMINIT bzw. LMFREE gehalten werden. Das heißt, ich denke, LMINIT öffnet das Verzeichnis und LMOPEN öffnet das eigentliche PDS-Mitglied. LMCLOSE schließt das PDS-Mitglied, LMFREE schließt das PDS-Verzeichnis. Um Statistiken und Mitgliederlisten zu erhalten, brauchst du nur LMINIT/LMFREE. – MikeT
Es ist schon lange her, aber wenn die PDS keine ISPF-Statistiken hat (oder die STATS sind zweifelhaft (zB können sie außerhalb von ISPF geändert werden)). Dann könnten Sie versuchen, das Verzeichnis zu bearbeiten.
Jedoch enthält ein PDS-Verzeichnis standardmäßig nicht so viele Informationen. Wenn also keine ISPF-Statistiken vorhanden sind, können Sie nicht viele Informationen erhalten. Was ein PDS-Verzeichnis hat, ist ein benutzerdefinierbarer Bereich und es ist der Bereich, den ISPF verwendet. Diesem Bereich wird ein Längen-Deskriptor vorangestellt (siehe Link für weitere Informationen). Ein weiterer Grund, warum ISPF-Statistiken nicht existieren oder genau sein können, ist, dass ich (wenn ich mich recht erinnere) die Statistiken entfernen kann, die etwas Verzeichnisplatz freigeben können (möglicherweise um den E37-Abend herumkommen oder ihn umgehen) Ereignis).
kann ich nicht mit Rexx versucht erinnern zu haben (habe einen Assembler PDS entladen Dienstprogramm schreiben), aber Sie könnten das Verzeichnis mit EXECIO auf dem Basisnamen der PDS (dh ohne (öffnen und lesen können Mitglied)).
Das Verzeichnis ist bei 256 Bytes blockiert. Mehr Informationen in Bezug auf die Struktur finden Sie hier PDS Directory. Ich glaube nicht, dass dies für PDSEs funktionieren würde.
Für mich ist dies die beste Antwort, da es normalerweise besser ist, sich nicht auf ISPF und die verschiedenen LM * -Funktionen zu verlassen, wenn Sie jemals auf Nicht-ISPF-Datensätze stoßen. Ordnen Sie für PDS und PDSE das Basis-Dataset (also nur DSN ohne Member-Namen) zu, öffnen Sie es mit RECFM U, BLKSIZE 256 und Sie können das PDS-Verzeichnis lesen - dies kann sicherlich mit EXECIO geschehen. Leider, wenn das Dataset keine zuverlässigen Statistiken hat (ISPF oder anders ... Bibliotheken von ausführbaren Dateien werden auch einige nützliche Informationen für Sie haben), ist die einzige Möglichkeit, die Memberlänge zu erhalten, das Lesen des Members von TTR bis zu einem EOF Marker. –
Und KEYLEN = 8, sonst erhalten Sie das erste Mitglied (gespeichert als Schlüssel im CKD-Format) des Datensatzes, der in Ihrem E/A-Puffer dupliziert wurde, und Sie können einen Pufferüberlauf verursachen, wenn Sie nur 256 Bytes zugewiesen haben. – zarchasmpgmr
- 1. Wie lies ich die Größe eines PDS-Mitglieds mit lminit, lmmfind ..?
- 2. Größe eines Bitfeld-Mitglieds?
- 3. Name des Mitglieds drucken
- 4. So lesen Sie die Größe des UISlider thumb image
- 5. Segfault bei der Rückgabe des privaten Mitglieds
- 6. Wie bekomme ich die Startadresse von der Adresse des Mitglieds
- 7. Folgen Sie pds über Maschinen (SSH)
- 8. Lesen Größe des aktuellen Dokuments von Javascript
- 9. Mögliche Probleme mit der Absenderadresse und dem Absenderkopf des Mitglieds
- 10. Größe der Größe des Matplotlib-Plotfensters ermitteln
- 11. Hol dir die Elternklasse des Mitglieds in MouseEvent
- 12. Erhalten Sie die endgültige Größe des Hintergrundbildes
- 13. Ändern Sie die Größe des Bedienfelds dynamisch
- 14. Aktivität des Mitglieds Umfang und AsyncTask
- 15. Einstellung eines Mitglieds des generischen Objekts?
- 16. die Größe des Layouts
- 17. Was verursacht "Der Typbibliothekimporteur konnte die Signatur für die Warnungen des Mitglieds nicht konvertieren"?
- 18. Finden Sie die Größe der unbekannten Größe Array
- 19. Wie verhindern Sie, die Größe der Picturebox zu ändern, wenn Sie die Größe des Steuerelements ändern, das die Picturebox enthält?
- 20. Ändern Sie die Größe der ColorPicker-Palette
- 21. Ändern Sie die Größe der Zahleneingabe Spinner?
- 22. Größe des Zeichenfeldes und die Größe des Zeichenzeigers
- 23. die Größe des Selenrahmens reduzieren
- 24. IAV-Mitglieds-Login
- 25. Reduzieren Sie die Größe der Vorlagenheader
- 26. Ändern der Farbe und Größe des Diagrammtextes
- 27. Valgrind: Ungültige lesen/schreiben der Größe 8
- 28. Wie die Größe des div auf die Anzahl der Buchstaben
- 29. Die Array-Größe ist kleiner als die des Datensatzes
- 30. Wie ändere ich die Eigenschaften eines ps oder eines pds
Vergessen Sie nicht, LMCLOSE und LMFREE. :) – zarchasmpgmr
Guter Punkt wird zur Antwort hinzufügen. –