[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Da doch wohl dieser Vorgang als CLP bereits vorliegt, müsste dieser doch ebenso funktionieren?
    Was dir nur im DCL-F fehlt ist der RENAME des Fileformats.
    Inputfelder werden automatisch deklariert, allerdings ist hier eine Umbenennung erforderlich:

    dcl-f ..... rename(MYFILE:MYFILEF);

    dcl-ds FileDS extname('MYFILE');
    MyFld extfld(MYFILE);
    end-ds;
    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

  2. #14
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    ... warum so umständlich?
    CREATE TABLE FOO
    (
    FOO CHAR (20 ) NOT NULL WITH DEFAULT
    , FOFO CHAR (10 ) NOT NULL WITH DEFAULT
    )
    rcdfmt poo

    oder einfach per SQL lesen/schreiben. Rename war einmal!

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #15
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    SQL hatte ichja oben schon mal vorgeschlagen, scheint wohl aber kein Thema zu sein.
    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

  4. #16
    Registriert seit
    Oct 2017
    Beiträge
    14
    Ich habe das ganze jetzt versucht mit SQL zu lösen.
    exec sql setOptionnaming=*sys, commit = *none;

    PGM1
    exec sql
    create table bib.wrkfle1(
    ...
    );

    exec sql
    insert into bib.wrkfle1
    values(...);

    PGM2 nach der Verarbeitung wird zum Schluss eine Unterprozedur aufgerufen
    exec sql
    drop table bib.wrkfle1

    In der Theorie(ACS) funktioniert dieser drop Befehl.
    In der Praxis leider nicht, obwohl er im Debug aufgerufen wird.

  5. #17
    Registriert seit
    Aug 2001
    Beiträge
    2.869
    Prüfe nach dem Drop Statement den SQLSTATE oder den SQLCODE. Beide Felder sind in der SQL Communications Area (SQLCA) hinterlegt.
    Die SQLCA wird vom SQL Precompiler automatisch in das Programm integriert. Bei jedem SQL-Statement, das zur Laufzeit ausgeführt wird, wird die SQLCA aktualisiert.
    Die Felder SQLSTATE und SQLCODE kannst Du wie andere Variablen in Deinem Programm verwenden oder den Inhalt beim Debuggen anzeigen.

    Ein negativer SQLCODE oder ein SQL Status, der weder mit 00, noch 01 noch 02 beginnt signalisiert einen SQL Fehler.
    Der SQLCODE oder der SQLSTATE sollte übrigens nach jedem SQL Statement geprüft werden und im Fehlerfall entsprechende Aktionen ausgeführt werden.

    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

  6. #18
    Registriert seit
    Oct 2017
    Beiträge
    14
    Positionierung der Prozedur war falsch, da die Datei noch geöffnet war..
    Jetzt funktionieren die Programme, CLs´ und der Ablauf.

    Ein Dankeschön an alle Antworten, die mich enorm weitergebracht haben
    und mir die Möglichkeit bieten mich mit anderen Wegen zu beschäftigen.

    ----------------------------ERLEDIGT----------------------------

  7. #19
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von JGreim Beitrag anzeigen
    Ich habe das ganze jetzt versucht mit SQL zu lösen.
    exec sql setOptionnaming=*sys, commit = *none;

    PGM1
    exec sql
    create table bib.wrkfle1(
    ...
    );

    exec sql
    insert into bib.wrkfle1
    values(...);

    PGM2 nach der Verarbeitung wird zum Schluss eine Unterprozedur aufgerufen
    exec sql
    drop table bib.wrkfle1

    In der Theorie(ACS) funktioniert dieser drop Befehl.
    In der Praxis leider nicht, obwohl er im Debug aufgerufen wird.
    ... das ist ohnehin schräges Design und funzt nicht wirklich wenn:
    - das Programm zweimal gleichzeitig läuft
    - das Programm zwischendrin abkackt
    außerdem kannst Du keine externe Datenstruktur nutzen, da die Datei zur Compiletime nicht da ist.

    Mach das doch einfach so, wie in einem vorhergehenden Beitrag von mir empfohlen.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #20
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Das macht dem Compiler inzwischen gar nichts mehr, da er Namen, die zu diesem Zeitpunkt nicht existieren, für globale Variablen hält. Erst zur Laufzeit erfolgt die tatsächlich Prüfung.
    Ausnahmen sind Namen die explizit erkannt werden wie z.B. insert into (f1, f2, ) bzw. update table set f1 = ...
    Ein "select abc from myfile" ist dem compiler erst mal egal.

    Das ist der Nachteil seit der Einführung globaler Variablen, dass der Compiler Schreibfehler nicht mehr meldet und Fehler erst zur Laufzeit festgestellt werden.
    Schöne neue Welt....
    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. #21
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Das macht dem Compiler inzwischen gar nichts mehr, da er Namen, die zu diesem Zeitpunkt nicht existieren, für globale Variablen hält. Erst zur Laufzeit erfolgt die tatsächlich Prüfung.
    Ausnahmen sind Namen die explizit erkannt werden wie z.B. insert into (f1, f2, ) bzw. update table set f1 = ...
    Ein "select abc from myfile" ist dem compiler erst mal egal.

    Das ist der Nachteil seit der Einführung globaler Variablen, dass der Compiler Schreibfehler nicht mehr meldet und Fehler erst zur Laufzeit festgestellt werden.
    Schöne neue Welt....
    ... der e ds (dcl irgendwas) geht aber immer noch schief...

    D*B

    PS: @schöne... wenn sich halt Dilletanten mit der Erfindung "neuer" Programmiersprachen beschäftigen...
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. RPG-Code in Free
    By Wavum in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 12-07-16, 11:27
  2. %dec in free-rpg ??
    By Gimli in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 11-03-03, 11:16
  3. Free RPG??
    By DEVJO in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 05-03-03, 08:18
  4. Free - RPG
    By Gimli in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 04-03-03, 10:47
  5. Free-RPG
    By Gimli in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 03-03-03, 11:23

Tags for this Thread

Berechtigungen

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