[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2005
    Beiträge
    30

    Wie ändere ich in vielen CL-Quellen "automatisch" einen String in einen anderen?

    Kann man irgendwie mittels SQL auf eine 2. und alle weitere Teildateien eine Datei zugreifen oder kann man das mittels des Querymanagers realisieren?
    Kann man mittels COBOL oder RPG auf die unterschiedlichen Teildateien der Dateien zugreifen?

    Im speziellen Fall müssen in ca. 1900 CL-Sourcen fest eingegebene Bilibliotheksnamen durch einen anden Namen ersetzt werden.

    Da ich zur Zeit keinen Weg weis, das zu automatisieren, bin ich über jeden Vorschlag der mir das erspart dankbar.
    Besonders erfreut bin ich über die Lösungsvorschläge die sich mit Cobol, RPG, CL, SQL, QM, Delphi/400 oder dem OM realisieren lassen. Ansonsten könnten ich noch einen Änderungsdienst über ODBC laufen lassen, wenn dazu jemand etwas Kluges sagen kann.


    Danke im Voraus

    Burkhard

  2. #2
    Registriert seit
    Jan 2001
    Beiträge
    835
    Hallo Butkhard,

    verwende
    DSPFD FILE(ASMTOOL_S/QCLLESRC) TYPE(*MBRLIST) OUTPUT*OUTFILE) OUTFILEQTEMP/X)

    Damit erhälst Du eine Datei mit allen Member Einträgen

    Mit einem kleinen RPG Programm kann man die Member lesen
    und den String suchen und zurückschreiben.

    Vorher aber ein OVRDBF auf die entsprechende Teildatei.

    Gruss
    Michael

  3. #3
    cbe is offline [professional_User]
    Registriert seit
    May 2005
    Beiträge
    392
    Hallo Burkhard,

    um per SQL an die einzelnen Teildateien zu kommen, musst Du einen OVRDBF vorab machen:
    OVRDBF FILE(SRC) TOFILE(LIB/QPRGSRC) MBR(MBR)

    und anschließend im SQL mit SELECT * FROM SRC etc. bearbeiten.

    Du könntest quick&Dirty ein CL schreiben, was als Parameter Lib. Fil, Mbr het und aus dem MBRPDM heraus per Kurzbefehl & F13 (mit F16 definieren) aufgerufen wird.
    Dies CL macht den OVRDBF und ruft anschließend ein SQL oder sonst ein Programm auf, was die Umsetzung macht.

    Gruß
    Christian

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.247
    In CLP ist kein DSPFD erforderlich, da mittels RTVMBRD die Teildateien abgearebitet werden können: MBR(*NEXT).
    Der OVRDBF ist natürlich erforderlich.
    Per SQL den Update durchzuführen ist insofern kritisch, als dass der neue Wert mittels SUBSTR und POSSTR und CONCAT zusammengebaut werden muss.
    In RPG/COBOL kann ich natürlich den Feldinhalt besser korrigieren.

    Übrigens:
    In ILERPG kann ich in den F-Bestimmungen eine Variable zur Übergabe des Member-Namens angeben, USROPN ist allerdings zusätzlich erforderlich.
    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
    42
    vielleicht sowas ?


    SCAN & REPLACE TEXT (SCNRPLSRC)

    Auswahl eingeben und Eingabetaste drücken.

    ENTER FILE NAME . . . . . . . . Name
    LIBRARY . . . . . . . . . . . *LIBL Zeichenwert, *LIBL
    ENTER MEMBER NAME . . . . . . . *ALL *ALL, NAME, GENERIC*
    STRING TO FIND . . . . . . . . .


    VALUE TO REPLACE WITH . . . . .


    IGNORE CASE . . . . . . . . . . *YES *YES, *NO




    Gruss
    WL

  6. #6
    Registriert seit
    Jan 2005
    Beiträge
    30

    Smile Danke

    Danke für die vielen hilfreichen Tipps.
    Ich werde mir das passende daraus aussuchen.

    Ich denke mal das mit dem Substring und der Position ist mit am sympatischten, da ich dann mittels SQL hier wieder alle "verblüffen" kann, was alles geht.

    Könnte man eigentlich auch mit SQL:CREATE ALIAS für die einzelnen Teildateien arbeiten.
    Ich habe mich damit noch nicht ernsthaft beschäftigt.

    Schönes Wochenende wünscht
    Burkhard

  7. #7
    Registriert seit
    Jan 2005
    Beiträge
    30

    Question

    Zitat Zitat von lieser
    vielleicht sowas ?


    SCAN & REPLACE TEXT (SCNRPLSRC)

    Auswahl eingeben und Eingabetaste drücken.

    ENTER FILE NAME . . . . . . . . Name
    LIBRARY . . . . . . . . . . . *LIBL Zeichenwert, *LIBL
    ENTER MEMBER NAME . . . . . . . *ALL *ALL, NAME, GENERIC*
    STRING TO FIND . . . . . . . . .


    VALUE TO REPLACE WITH . . . . .


    IGNORE CASE . . . . . . . . . . *YES *YES, *NO




    Gruss
    WL
    Ahem ... was bitte ist das für ein Befehl und wo finde ich den.
    Zumindest im Befehlssatz unserer beiden iSeries ist er nicht enthalten.

    Ich bin zugegebener Maßen hochinteressiert!
    Burkhard

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.247
    Klar geht auch Create Alias, allerdings 1900-Mal Create Alias / Drop Alias !
    Da ist ein OVRDBF doch einfacher.
    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

  9. #9
    Registriert seit
    Aug 2004
    Beiträge
    923
    Zitat Zitat von Burkhard
    Ahem ... was bitte ist das für ein Befehl und wo finde ich den.
    Zumindest im Befehlssatz unserer beiden iSeries ist er nicht enthalten.

    Ich bin zugegebener Maßen hochinteressiert!
    Burkhard
    guckst du hier

    http://www.iseriestools.com/

Similar Threads

  1. Dynamisches SQL in einem CL erstellen
    By Sony in forum IBM i Hauptforum
    Antworten: 27
    Letzter Beitrag: 20-07-09, 21:48
  2. Programmbibliothek in einem Cobol oder CL Programm ermitteln
    By schatte in forum NEWSboard Programmierung
    Antworten: 19
    Letzter Beitrag: 10-01-07, 11:32
  3. JobProtokoll in CL Job
    By RLPforum in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 22-09-06, 09:39
  4. Listenfelder eines Befehls im CL füllen
    By Phuntomias in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 27-06-06, 09:21
  5. Übergabeparameter im CL Script
    By bo1 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 23-06-06, 15:00

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •