[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Oct 2015
    Beiträge
    109

    Cool Sourcen kompilieren: CRTSQLRPGI / CRTBNDRPG

    Hallo zusammen,

    spricht etwas dagegen "normale" RPGLE Sourcen mit CRTSQLRPGI zu wandeln?
    Ich bau mir da gerade eine Art Automatismus und frage mich, ob die Typ-Unterscheidung
    überhaupt notwendig ist.
    Hab hier im Forum schon folgende Information gefunden:
    Ein CRTSQLRPGI mit OBJTYPE(*PGM)ruft immer ein CRTBNDRPG auf mit DFTACTGRP(*YES).

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Wenn die Quelle kein SQL enthält ist das eigentlich unnötig. Allerdings ist es auch nicht schädlich.
    Was die DFTACTGRP angeht, so kann man das in den H-Bestimmungen individuell anpassen.

    Schau doch mal auf Dieters (D*B) Homepage nach, der bietet da entsprechende Tools kostenlos an.
    Man trägt einfach die nötigen Anweisungen (durchaus mehrere) in die Quelle ein, den Rest erledigt das Tool.
    http://www.bender-dv.de/
    Stichwort Freeware->Precompiler
    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
    Oct 2015
    Beiträge
    109
    Super, Dankeschön!

    Für diese Anforderung reicht mir momentan mein:
    cha_obj = %scanrpl('SRC':'OBJ':L);
    cha_cmd = 'CRTSQLRPGI OBJ(' + %trim(cha_obj) + '/' + %trim(N)+
    ') SRCFILE('+%trim(L)+'/'+%trim(F)+') COMMIT(*NONE)';
    pac_cmd = %len(%trim(cha_cmd));
    monitor;
    callcmd(cha_cmdac_cmd);
    on-error;
    endmon;
    Hab da nur einfache RPGLE oder SQLRPG Programme die ihre ACTGRP ggf. auch in der H Bestimmung haben. Ich ändere lediglich eine Reihe Definitionen in eine Copystrecke ab und wandel.
    Aber für die zukunft ist das sicher sehr nützlich!

  4. #4
    Registriert seit
    Oct 2015
    Beiträge
    109
    Noch eine Frage in Gleicher Sache:

    wenn ich im klassischen Editor F3 gedrückt habe, gab es immer die Option
    "Teildatei neu anordnen".
    Gibt es diesen Befehl einzeln? Kennt den jmd.?

  5. #5
    Registriert seit
    Jun 2001
    Beiträge
    1.973
    Nein, ich denke nicht

    mach mal ein dsppfm deinelib/qrpg(le)src mbr(xxxxx)

    dann siehst du, das die ersten 6 stellen die Nr. und die 2. 6 Stellen das Datum ist
    Das kannst du mit beliebigen Mitteln manipulieren

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Der klassische Editor arbeitet ja auf einer Kopie und nicht auf dem Original.
    Genauso musst du dies auch machen.
    Per CPYF die Teildatei z.B. in QTEMP kopieren, beim CPYF zurück kannst du per SRCOPT bestimmen, ob die SEQNR und/oder das Datum neu gesetzt werden sollen.
    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

  7. #7
    Registriert seit
    Jan 2007
    Beiträge
    189
    German (after trying to fix Google's translation):
    Eine Sache zu beachten, wenn ein Quellenteildatei von einer Bibliothek (oder Datei) nach eine andere kopiert wird (z.B. Test nach Produktion) und das Nach-Teildatei existiert bereits. Wenn das Attribut der Nach-Teildatei RPGLE ist und die Von-Teildatei ist SQLRPGLE, wird dieses Attribut nicht geändert. D.h. nach dem Kopieren, wird das Teildatei in der Produktion immer noch ein RPGLE sein.
    In Ihrem Fall wäre dies kein Problem sein, da Sie nicht SQL in das Programm haben. Wenn Sie SQL in das Programm haben, und es ist jetzt eine richtige SQLRPGLE Quelle, wird es nicht kompilieren, wenn Sie von der Produktion Kompilieren (weil die attruibute noch RPGLE ist).

    English:
    One thing to note when copying a source member from one library to another (e.g. Test to Production) and the to member already exists. If the to member's attribute is RPGLE and the from member's is SQLRPGLE, this attribute is NOT changed. i.e. After the copy, the member in Production will still be an RPGLE.
    While in your case this would not be a problem as you have not added SQL into the program. If you have added SQL into the program and it is now a proper SQLRPGLE source, it will not compile when compiling from Production (because the attruibute is still RPGLE).
    mfg

    Kit
    www.ecofitonline.com
    DeskfIT - ChangefIT - XrefIT

  8. #8
    Registriert seit
    Oct 2015
    Beiträge
    109
    @Robi Danke für die Info. Ich mach das momentan per alias auf die Teildatei, da bekomm ich die Felder auch angezeigt.
    @Fuerchau Alles klar! Hatte gehofft dem entgehen zu können. Dankeschön
    @kitvb1 Thanks for this information. Might be useful in the future.

    Ich hatte vor die letzte Zeile mit ctl-opt per SQL zu selektieren und ein Insert auf die Teildatei mit einem um 0,01 erhöhten Zeilenwert der ermittelten Zeile durchzuführen.
    Im Anschluss wollt ich dann einen order by nach Zeile setzen und mit dem Ergebnis die alte Source updaten. Klappt das auch ohne neu anordnen? Also ist sichergestellt, dass die Zeilen einer Source - mal abgesehen von meiner SQL Manipulation - immer in der richtigen Reihenfolge sind?

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Nein, das klappt nicht da die SRC-PF's keinen Key haben.
    Wenn die Numerierung nicht stimmt gibts maximal (wenn überhaupt eingeschaltet) einen Fehler der Stufe 10.
    Wenn du schon selber einliest und kopierst musst du an der richtigen Stelle die Zeile einfügen.
    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

  10. #10
    Registriert seit
    Jan 2003
    Beiträge
    746
    Doch, das klappt - wenn Du Dir eine Arbeitsdatei zwischenschaltest:

    1) CRTSRCPF FILE(QTEMP/QWRKSRC) ACCPTH(*KEYED)
    2) CPYSRCF FROMFILE(MYLIB/QRPGLESRC) TOFILE(QTEMP/QWRKSRC) FROMMBR(MYMBR) SRCSEQ(1.00 1.00)
    3) Maschinelle Änderungen in QTEMP/QWRKSRC
    4) Anschliessend zurück nach QRPGLESRC kopieren

Similar Threads

  1. Problem mit CRTSQLRPGI
    By homue in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 19-05-16, 19:01
  2. Logging beim CRTBNDRPG
    By rischer in forum IBM i Hauptforum
    Antworten: 12
    Letzter Beitrag: 29-03-16, 09:33
  3. CRTSQLRPGI erzeugt 2 Wandlungsllisten
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 04-07-14, 12:20
  4. CRTSQLRPGI Problem
    By tarkusch in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 21-03-14, 14:25
  5. CRTBNDRPG ??
    By Gimli in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 04-04-03, 13:15

Berechtigungen

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