[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2012
    Beiträge
    1.120

    Fully Free und SQLRPGLE

    Hallo,

    nur mal eine kurze Frage? Nutzt jemand bereits das Fully Free RPG? (Stichwort **FREE). Und falls ja, klappt das bei euch auch mit der Dateiart SQLRPGLE? Bei uns können wir keine Copy-Strecken einbinden, wenn die Dateiart SQLRPGLE ist. Ich habe bereits einen Call bei IBM aufgemacht. Aber ich habe noch keine Lösung erhalten. Bisher sagt man nur, es müsste eigentlich gehen.

    Deshalb meine Frage, ob jemand von euch etwas dazu sagen kann.

    Dieter

  2. #2
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Sorry, habe gerade gesehen, dass ich das falsche Forum gewählt habe. Sollte eigentlich in Programmierung gestellt werden. Aber ich lasse es jetzt einfach mal hier.

  3. #3
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Hallo Dieter,

    kann es sein dass du nach der Compile Option:
    RPGPPOPT > *LVL2
    suchst?

    lg Andreas

  4. #4
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Hallo Andreas,

    danke für die Antwort. Aber nein, diese Option ist bei uns bereits gesetzt.

    Wir wandeln prinzipiell mit folgenden CMD:
    Code:
          
    // Basis-Command festlegen:       
    cmd = 'CRTSQLRPGI COMMIT(*NONE) OBJTYPE(*MODULE) TGTRLS(*CURRENT) +
                  DATFMT(*EUR) DBGVIEW(*SOURCE) USRPRF(*OWNER) +
                  DYNUSRPRF(*OWNER) RPGPPOPT(*LVL2) ';
    (Ein paar Parameter sind hier jetzt nicht angegeben).

    Ich muss dazusagen, dass ich versuche, ein Serviceprogramm zu erstellen. Mit einem "normalen" PGM habe ich es noch gar nicht versucht.

    Dieter

  5. #5
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Mein Problem ist, dass gar nichts funktioniert, sobald ich die Teildateiart SQLRPGLE habe UND eine Copy-Strecke eingebettet ist. Es spielt dabei keine Rolle, was in der Copy-Strecke drinsteht. Es kann auch eine Copy-Strecke mit reinem free-Format Kommentar sein. Der Parser erkennt nur Blödsinn. Er erkennt auch keine SQL-Anweisungen mehr. Erst wenn ich die von ganz links nach Spalte 8 schiebe, erkennt er die SQL-Anweisungen zumindest. Sieht für mich so aus, als würde die Dateiart SQLRPGLE gar nicht mit Copy-Strecken klarkommen und den Parser dann auf das "normale" Free umschalten.

    Dieter

  6. #6
    Registriert seit
    Aug 2001
    Beiträge
    2.875
    Aktuell ist es so, dass der SQL-Precompiler, Copy-Strecken, die mit /COPY oder /INCLUDE definiert sind, nur dann im FULL-Free auflösen kann, wenn der Slash (/) genau auf Position 7 steht.

    Wenn in der Copy-Strecke nur für den SQL-Precompiler uninteressante Informationen hinterlegt sind, würde ich die Copy-Strecke mit /INCLUDE einfügen und mit RPGPPOPT *NONE umwandeln.

    Prüfe sicherheitshalber, ob Ihr auch alle PTFs installiert habt, ich hatte meine Freude damit, dass SQLCA vor die H-Bestimmungen kopiert wurde!!!

    Birgitta

    Birgitta
    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

  7. #7
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Danke Birgitta.

    Das mit dem Slash auf Position 7 hatte ich schon probiert. Bringt bei mir nichts. Selbst wenn in der Copy-Strecke nur Kommentar steht, geht es nicht. Für den Echtfall benötigen wir jedoch Copy-Strecken, in denen teilweise fixed Format drinsteht. In den Copy-Strecken sind wiederum andere Copy-Strecken mit include eingebunden. Wir haben also 2-schichtige Copy Strecken: In das Programm wird eine Copy-Strecke mit /copy eingebunden. In der Copy Strecke selber steht dann noch ein /include.

    Die PTFs sind alle da. Habe ich schon an IBM gemeldet.

    Deine Sache mit SQLCA vor den H-Bestimmungen: Wurde das durch ein PTF beseitigt?
    Wir haben die PTFs SF99701 mit Level 38 und das SI58136. Hast du noch neuere?

    Dieter

  8. #8
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Ich möchte nur mal kurz den Stand der Dinge verkünden:
    Es sieht so aus, als würde der (Pre-)Compiler nicht korrekt arbeitet, wenn man das Schlüsselwort RPGPPOPT(*LVL2) verwendet. Es geht, wenn man es auf *NONE stellt. Das funktioniert aber inhaltlich bei uns nicht, da es einige Programme gibt, die per embedded SQL eine per Copy-Strecke eingebundene Datenstruktur füllen.

    Mal sehen, was IBM für einen Lösungsvorschlag hat.

    Dieter

  9. #9
    Registriert seit
    Aug 2001
    Beiträge
    2.875
    Vielleicht noch eine Anmerkung:
    Sobald Du auf **FREE bist können danach keine Fix-Format-Definitionen mehr eingebunden werden.
    Es gibt keine Möglichkeit den FULL-Free wieder abzustellen.
    Wenn Deine Datenstruktur im Fix-Format ist, darfst Du erst nach der Definition der Datenstruktur auf FULL-Free gehen.

    Birgitta
    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

  10. #10
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Steht das echt so im Handbuch? Ich dachte, ich hätte gelesen, dass man in der ersten Zeile des Sourcecodes **FREE eintragen muss. Dann darf nur noch free Code in der Quelle folgen. Wenn man doch fixed format code benötigt, muss man den über eine Copy-Strecke einbinden. Ich habe bisher nichts gelesen, was eine Unterscheidung zwischen Definitionen und sonstigen Anweisungen notwendig macht.

    Aber ich gestehe, ich habe auch nicht viel Literatur dazu gefunden.

    Dieter

  11. #11
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Nochmal zur Klarstellung: Unsere Copy-Strecken enthalten niemals Programmcode, sondern nur Prototypes und Datenstrukturen (als Templates). Unsere Copy-Strecken werden deshalb immer ganz oben bei den Deklarationen eingebunden. Da alle Datenstrukturen in den Copy-Strecken Templates sind, verwenden wir die auch nie direkt, sondern nutzen sie nur, um eine likeds Definition für eine echte Datenstruktur machen zu können.

    Dieter

Similar Threads

  1. Zugriff vom SQlRPGLE AUF DB2 Linux
    By woodstock99 in forum NEWSboard Programmierung
    Antworten: 23
    Letzter Beitrag: 29-07-15, 11:31
  2. SQLRPGLE und Printerfile
    By Toschie in forum IBM i Hauptforum
    Antworten: 12
    Letzter Beitrag: 02-02-15, 14:28
  3. SQLRPGLE: Abfrage als Tabelle
    By ExAzubi in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 10-11-14, 10:12
  4. SQLRPGLE und offene Dateien
    By Tonazzo in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 16-06-14, 09:30
  5. Compilierung SQLRPGLE
    By B.Hauser in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 01-10-01, 17:31

Berechtigungen

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