[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005

    Umwandlung mit RPGPPOPT(*LVL2)

    Hallo,

    wir haben SQLRPGLE-Programme und Copystrecken in zwei verschiedenen PF-SRC Dateien mit jeweils einer Satzlänge von 250, da wir neue Programme in Total Free erstellen und somit nicht mehr auf die 80 Stellen beschränkt sein wollen.
    Beim Umwandeln des SQLRPG-Programms mit der Option RPGPPOPT(*LVL2) läuft das auf einen Fehler ("The record length of the output file is too small"). Jetzt habe ich festgestellt, dass der Preprocessor temporär für die Umwandlung eine PF-SRC namens QSQLPRE in QTEMP erstellt mit der Satzlänge von 112. Das ist der Grund für diesen Fehler.

    Gibt es irgendeine Möglichkeit die Satzlänge bei Erstellen der QSQLPRE anzugeben bzw. zu verändern?

    Vielen Dank,
    KM

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das hat D*B ja schon des öfteren gesagt. Der SQL-Precompiler hinkt den RPGLE-Möglichkeiten ziemlich hinterher.
    Das einzige, was ich als Umgehung sehe ist, die PF-SRC vorher selber in passender Länge zu erstellen.
    Allerdings kann das auch in die Hose gehen, da bei der Ausgabe in die QTEMP-Datei Inhalte abgeschnitten werden können.
    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
    Jan 2012
    Beiträge
    1.120
    Hallo KM,
    das was du vorhast, funktioniert grundsätzlich. Wir machen das genauso. Allerdings haben wir uns auf 240 Zeichen beschränkt. Wenn ich mich recht erinnere, hatten wir am Anfang aber auch ein Problem mit SQLRPGLE. Damals gab es ein entsprechendes PTF dazu. Wahrscheinlich seit ihr noch auf 7.1 ?
    Wir sind inzwischen auf 7.3. Da klappt das automatisch.
    Wenn du das PTF so nicht findest, versuche ich mal, die Infos hier nochmal wiederzufinden.

    Aber noch eine Anmerkung: Genau aus dem Grund, alles free zu machen, haben wir die Umstellung auf 240 Zeichen in allen Sourcefile vorgenommen. Im Nachhinhein betrachtet würde ich das nicht nochmal machen. Wir hatten vorher eine Sourcelänge von 132. Aus heutiger Sicht würde das vollständig reichen. Wir schreiben auch die neuen fully free Sourcen praktisch nie über 100 Zeichen hinweg. Das wird selbst im RDi irgendwann zu breit. Dadurch, dass du bei fully free schon mal weiter links anfangen kannst und es rechts den Kommentarbereich nicht mehr gibt, gewinnst du schon einiges an Platz.

    Du musst ja dran denken: ALLE Sourcefiles, die RPGLE enthalten können, müssen vergrößert werden. Sonst bekommst da beim Umkopieren von Sourcen Probleme, dass Daten abgeschnitten werden.

    Dieter

  4. #4
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Ich glaube, es waren die folgenden PTFs:

    Please note that in addition to the DB2 PTF Group, you also need these ILE RPG language PTFs:

    IBM i 7.2 IBM i 7.1
    SF99702 Level 9
    &
    PTFs SI58137 and SI58110
    SF99701 Level 38
    &
    PTF SI58136

  5. #5
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Hallo Dieter,

    vielen Dank schon mal für Deine Hilfe!

    Wir haben V7R2 und die von Dir aufgeführten PTFs und PTF-Gruppen haben wir bereits installiert. Wir sind hier eigentlich auf dem neuesten Stand. Aber trotzdem funktioniert's leider nicht.

    Gruß,
    KM

  6. #6
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Das Problem ist ja, dass die temporäre PF-SRC QSQLPRE in QTEMP automatisch nur mit Länge 112 erstellt wird. Und darauf hab ich ja leider keine Einfluss. es wäre schön, wenn ich die Länge irgendwo selbst festlegen könnte.

    Gruß,
    KM

  7. #7
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Merkwürdig. Wir wandeln auch mit RPGPPOPT(*LVL2) (Beim Befehl CRTSQLRPGI).
    Ich habe gerade mal nachgeschaut. Bei uns hat die QSQLPRE in der QTEMP eine Satzlänge von 240. Das ist ja genau die Satzlänge der Datei, aus der der zu kompilierende Source stammt.

  8. #8
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Hier ein Hinweis von einer IBM-Seite:
    RNF0733


    The record length of the output file is too small.
    20
    Cause . . . . . : The record length of the output file specified on the PPSRCFILE parameter is too small to hold at least one source record in a source member with **FREE in the first line. The record length of the output file must be long enough to hold records from all of the input source members. Some records are truncated.
    Recovery . . . : If the CRTSQLRPGI command is used with a value of *LVL1 or *LVL2 for the RPGPPOPT parameter, create file QTEMP/QSQLPRE with a sufficiently long record length prior to using the CRTSQLRPGI command again. Otherwise, correct the PPSRCFILE parameter on the CRTBNDRPG or CRTRPGMOD command to have a file with a sufficiently long record length or specify the PPSRCSTMF parameter to have the output written to a stream file in the Integrated File System. Compile again.

  9. #9
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Ich habe nochmak genauer geschaut. IBM hat uns damals noch ein weiteres PTF genannt, das das Problem bei uns gelöst hat:

    Ptf 5770WDS / SI58914 und 5770SS1 / SI58913 (kommt als prereq Ptf bei der Bestellung mit )

    Ob das so für 7.2 geht, weiß ich nicht. Wir waren damals auf 7.1.

  10. #10
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Aber diese beiden PTFs haben doch gar nichts mit diesem Problem zu tun, sondern da geht es um XML-INTO bzw. XML-SAX.

  11. #11
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Zitat Zitat von KM Beitrag anzeigen
    Aber diese beiden PTFs haben doch gar nichts mit diesem Problem zu tun, sondern da geht es um XML-INTO bzw. XML-SAX.
    Das weiß ich nicht. Ich habe in meinem mail-Archiv nachgesehen. Wir hatten damals einen PMR bei IBM aufgemacht. Das war laut meinem mail-Arciv die letzte IBM-Antwort:
    Hallo Herr Schröder,
    ich habe das Ptf 5770WDS / SI58914 und 5770SS1 / SI58913 (kommt als prereq Ptf bei der Bestellung mit ) angelegt und das Modul kann jetzt erstellt werden.
    Testen Sie das Ptf bitte und teilen mir mit ob das Problem gelöst ist.

    Es ging damals um ein Wandlungsproblem bei SQLRPGLE mit fully free. Nennt IBM die PTFs vielleicht um? Oder gibt es eigene Nummernkreis pro Release? Wie gesagt, wir waren damals auf 7.1. Nach dem Einspielen des PTFs war das Problem gelöst.

    Vielleicht löst das PTF ja mehrere Probleme.

  12. #12
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.005
    Stimmt, dieses PTF behebt mehrere Fehler. Einer davon hat auch mit RPGPPOPT zu tun.
    Wir haben das entsprechende PTF für V7R2 (SI63821) installiert. Das war es leider nicht.

    Ich denke, dass ich da einen Service Request aufmachen muss.

    Trotzdem Danke!
    KM

Similar Threads

  1. SQL0312 bei Umwandlung von SQLRPGLE mit Variablen
    By msost in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 02-03-16, 17:39
  2. V7R1 Fehler Umwandlung SQLRPGLE
    By Peet in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 29-10-14, 07:54
  3. FTP AS400 zu PC, Probleme mit Umwandlung numerischer Felder
    By uweulmer in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 08-01-01, 13:43

Berechtigungen

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