-
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).
-
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
-
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_cmd ac_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!
-
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.?
-
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!)
-
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.
-
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).
-
@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?
-
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.
-
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
-
By homue in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 19-05-16, 18:01
-
By rischer in forum IBM i Hauptforum
Antworten: 12
Letzter Beitrag: 29-03-16, 08:33
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 04-07-14, 11:20
-
By tarkusch in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 21-03-14, 13:25
-
By Gimli in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 04-04-03, 12:15
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks