[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Dec 2003
    Beiträge
    89

    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

  2. #2
    Registriert seit
    Mar 2008
    Beiträge
    34
    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.

  3. #3
    Registriert seit
    Dec 2003
    Beiträge
    89
    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

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Dec 2003
    Beiträge
    89
    Super
    Vielen Dank !!

  6. #6
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    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

  7. #7
    Registriert seit
    Jan 2003
    Beiträge
    746
    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 ;-)

  8. #8
    Registriert seit
    Mar 2008
    Beiträge
    34
    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

  1. Spooldateien automatisch löschen
    By Der_Unwissende in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 14-09-06, 09:35
  2. iSeries Access Session automatisch beenden
    By jgv in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 27-02-06, 12:08
  3. Antworten: 2
    Letzter Beitrag: 12-10-05, 15:29
  4. *SQLPKG werden nicht automatisch erstellt?
    By angelone in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 17-03-05, 14:16
  5. Client Access - Name QPADEV.... !! ändern???
    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
  •