[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Dec 2009
    Beiträge
    314

    COBOL, SQL und Subfile

    Hallo Leute,
    zuerstmal Prosit 2016 und vielen Dank für die zahlreiche Unterstützung, die ich im letzten Jahr erhalten habe.

    Ich hätte ein für wissende wahrscheinlich kleines Anliegen.

    Wäre es vielleicht einem von euch möglich, mir ein Cobol-PGM Gerüst zur Verarbeitung eines Subfiles mittels embedded SQL zur Verfügung zu stellen.

    Der Hintergrund dafür ist folgender: Auf Grund notorischen Personalmangels bei uns ist es mir nicht möglich mich ausgiebig mit der Thematik zu beschäftigen, da ich aber in anderen Bereichen die Vorteile von SQL schätzen gelernt habe, würde ich es auch gerne statt native I-O in online Programmen (5250) verwenden.

    Die Subfiledefinitionen und so sind mir schon klar mir wäre nur mit einem COBOL-Beispiel unheimlich geholfen.

    Danke im Voraus.

    Andreas
    Andreas
    Ein AS/400 Dinosaurier since 1989

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Das sind nun doch 2 verschiedene Paar Schuhe.
    Subfile sind normale Read/Write/Rewrite-Befehle, SQL wird per EXEC SQL wie in RPG auch eingeleitet.

    Subfile:

    read subfile filename Format "Format"
    invalid key
    :
    end-read

    write subfile filename Format "Format"
    invalid key
    :
    end-write

    rewrite subfile filename Format "Format"
    invalid key
    :
    end-rewrite

    read subfile filename next modified Format "Format"
    at end
    :
    end-read

    Das Schlüsselwort "subfile" ist hier entscheidend, ansonsten wird die Subfile wie eine Random-Datei mit Relative-Key verarbeitet.

    SQL ist wenig komplizierter.
    Da in COBOL nicht alle Felder automatisch für SQL zur Verfügung stehen, muss man diese für SQL verfügbar machen:

    exec SQL begin declare section
    end-exec
    77 ...
    01 ...
    exec SQL end declare section
    end-exec

    Diese Gruppe von Anweisung darf beliebig oft in der "Working-Storage Section" oder auch "Linkage Section" wiederholt werden.
    Ab der "Procedure Division" folgen dann die SQL-Anweisungen:

    exec SQL set Option ....
    end-exec

    exec SQL declare blabla Cursor for select * from myfile where key = : MyKey
    end-exec

    exec SQL open blabla end-exec
    exec SQL fetch blabla into : F1, : F2, ....
    end-exec

    exec SQL Close blabla end-exec

    SQLCA und SQLCODE stehen automatisch zur Verfügung.
    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

  3. #3
    Registriert seit
    Dec 2009
    Beiträge
    314
    Hallo Hr. Fuerchau,

    das mit den 2 paar Schuhen ist mir schon klar, mir ging es eigentlich vornehmlich um die Befüllung des Subfiles aus SQL, da die Dateien die ich verwenden muss nicht aus unserer Anwendung stammen, sondern mittels SQL CREATE erstellt wurden.

    Gruss
    Andreas
    Andreas
    Ein AS/400 Dinosaurier since 1989

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    SQL-Tabellen kann man wie normale physische Dateien verwenden und SQL Indices wie logische Dateien, also ist die Verarbeitung mittels SQL bei SQL beschriebenen Datenbanke-Objekten nicht zwingend erforderlich.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Wo ist denn da nun dein Problem?
    Wenn du COBOL programmierst, müsstest du die Subfile kennen.
    Für SQL definierst du nun Variablen wie oben beschrieben (kann auch Copy DDS/DDR sein), deklarierst einen Cursor und befüllst die Subfile halt wie wenn du die Daten native gelesen hättest.
    Wenn du embedded SQL für COBOL noch nicht gemacht hast, kannst du die SQL-Tables als ganz normale Dateien in COBOL deklarieren und verwenden.
    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

Similar Threads

  1. Subfile-Anzeige
    By AK1 in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 02-12-15, 16:54
  2. Antworten: 2
    Letzter Beitrag: 19-05-15, 10:21
  3. SUBFILE-Problem
    By AK1 in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 17-07-14, 09:23
  4. SNGCHCFLD - Subfile
    By malzusrex in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-07-14, 15:04
  5. Subfile
    By brittner in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 18-11-13, 15:24

Berechtigungen

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