-
ADDPFM - Name automatisch vergeben
Hallo zusammen,
Gibt es eine einfache Möglichkeit, einer Datei ein Member per ADDPFM hinzuzufügen, ohne einen eigenen Namen zu vergeben ?
Der Name sollte ein Zähler oder so sein.
Ich dachte einen Timestamp, aber der ist wohl zu LAnge für den Dateinamen, da er bis auf die Sekunde genau sein muss, um Dopplungen zu verhindern.
Das Ganze soll in einem CL passieren.
Eine Möglichkeit wäre auch, die Anzahl der Member zu ermitteln und eins auf zu addieren, aber wie komme ich im CL an die Anzahl der Member einer Datei ?
Vielleicht hat einer von euch ne Idee ?
Gruß jo
-
Hole einfach den Namen des letzten Members und addiere 1 auf den Zähler (Teil des Membernames) drauf.
RTVMBRD FILE(MYFILE) MBR(*LASTMBR) RTNMBR(&RTNMBR)
Die Variable &RTNMBR enthält den Namen des letzten Members.
-
Hallo nochmal,
Danke für den Tipp Herbert.
Ich werde mir wohl beim Extrahieren des Substrings mit dem Zaehler bzw. beim Zusammensetzen des Namens im CL die Zähne ausbeissen, werde es aber mal probieren.
Gruß jo
-
Auch das ist kein Hexenwerk:
DCL &NUM *DEC 9
DCL &CHR *CHAR 9
DCL &MBR *CHAR 10
RTVMBRD ... RTNMBR(&MBR)
CHGVAR &NUM (%SST(&MBR 1 9))
CHGVAR &NUM (&NUM + 1)
CHGVAR &CHR (&NUM)
CHGVAR &MBR ('X' *CAT &CHR)
ADDPFM ...
Vorausgesetzt, die MBR-Namen haben das Format 'XNNNNNNNNN', du kannst es natürlich auch variieren.
-
-
ein Gedanke dazu noch:
Wenn die Mbr nur von 1 Job aus geschrieben werden, ist das ok so.
Hast Du aber ggf. parallele Verarbeitung, würde ich den Zähler in eine Datei legen, dann kann während des CHAIN + ADD 1 + UPDATE kein anderer Job dazwischenfunken.
Gruß, Christian
-
Hi Christian,
ein MONMSG mit zus. CHGVAR (&NUM + 1) tät's doch auch...
Gruß, Robert
P.S. Was ich da noch vermisse, ist eine Logik zum Aufräumen bzw. eine Reaktion auf max. Anzahl Teildateien ;-)
-
Hallo jogisarge,
prüfe den Parameter maxmbrs der physischen Datei. Wenn der auf *nomax steht und jeden Tag nur 1 Teildatei hinzugefügt wird, dann dauert es knapp 90 Jahre bis nichts mehr geht.
Werden häufiger Members hinzugefügt, dann den Zähler nicht per rtvmbrd ermitteln, sondern woanders her holen. Bei 32767 dann nicht mehr 1 addieren, sondern wieder bei 1 anfangen. Bei einem vorhandenen Member dann natürlich CLRPFM statt ADDPFM, vorausgesetzt, die Informationen dieser alten Member werden nicht mehr benötigt.
Similar Threads
-
By Der_Unwissende in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 14-09-06, 09:35
-
By jgv in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 27-02-06, 12:08
-
By Deficiency in forum NEWSboard Java
Antworten: 2
Letzter Beitrag: 12-10-05, 15:29
-
By angelone in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 17-03-05, 14:16
-
By Fleischner in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 04-01-02, 09:02
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks