Suchen:
Art: Beiträge; Benutzer: B.Hauser
Suchen:
Die Suche dauerte 0,02 Sekunden.
-
Dann erstell' das Programm das nächste Mal auf einer Maschine mit SQL und übernimm' das Objekt.
Die Runtime ist auf jedem System vorhanden, d.h. embedded SQL Programme können auch ausgeführt werden,...
-
Du musst aufpassen, wo Du aufsetzst.
Das Array ist indexFields und nicht item .
Versuch's mal so:
select * from JSON_TABLE(:JSON,'$.indexFields '
COLUMNS...
-
An dieser Stelle musst Du mit verschachtelten (NESTED) Anweisungen arbeiten.
The powerful JSON_TABLE function
Etwa so:
Select x.*
from JSON_TABLE(YourJSONDocument,
...
-
Hast Du mal versucht in ACS die Job-Umgebung zu setzen?
CL:CHGJOB LANGID(ENU) CNTRYID(US) CCSID(37);
Birgitta
-
Entferne doch einfach die (evtl.) führenden und folgenden *Blanks:
exec sql insert into xx.xx values(get_clob_from_file(Trim(: MyFileName)));
Birgitta
-
Ich habe KEINE CLOB-Variable nur eine CLOB-File!
Zuerst in eine Variable und dann ins IFS ist ein Schritt zuviel.
Birgitta
-
Das ist ein Schritt zuviel!
In dem folgenden Beispiel werden 3 Texte (nacheinander) direkt in eine IFS-Datei geschrieben.
Der Trick ist, dass die File Operation LocClobFile_FO richtig gesetzt...
-
Wenn wir immer noch beim gleichen Problem sind und der andere Benutzer weiterhin den folgenden Fehler bekommt:
1 -- Das externe Programm oder Serviceprogramm hat SQLSTATE 42926
zurückgegeben. Die...
-
Nochmal zum Mitschreiben!
Wenn man im embedded SQL LOB-File-Referenz-Variablen (z.B. SQLTYPE(CLOB_FILE)) verwendet und nur mit SQL darauf zugreift kann man bis zu 2 GB große IFS-Dateien...
-
Wenn man mit LOB-File-Referenz-Variablen arbeitet können IFS-Files mit bis zu 2GB verarbeitet werden, zumindest solange man die LOB-File mit SQL-Funktionen bearbeitet.
Versucht man die LOB-File in...
-
Das geht mit SQL und zwar mit einer der Funktionen GET_CLOB_FROM_FILE, GET_DBCLOB_FROM_FILE und GET_BLOB_FROM_FILE ... oder falls Du ein XML-Dokument übernehemen wills GET_XML_FILE.
Die Datei muss...
-
Frohe Weihnachten ... in aller Ruhe und Stille zu Hause
Birgitta
-
Das passiert, weil Du direkt eine Zahl angibst. Diese Zahl wird als Integer interpretiert.
Mit Digits wird daraus: '0000001166'
Mit Char wird daraus: '1166' plus 6 folgende Blanks
Und beides kann...
-
Ich gehe mal davon aus, dass es sich bei 001116 eigentlich um eine Spalte im Format DEC(6, 0) handelt.
Wenn das so ist, musst Du den numerischen Wert mit Digits umsetzen.
Oder notfalls wie ich...
-
Die richtige Syntax für einen Update über 2 Dateien sieht wie folgt aus:
update Tabelle1 a
set a.UpdFld = (Select b.UpdFldX
...
-
... ach ja, wenn man die xml-Datei direkt mit RPG erzeugt (SQLTYPE(XML_CLOB_FILE)) wird die Datei automatisch in UTF-8 generiert (zumindest sofern man den Default in der Abfrage-Options-Datei QAQQINI...
-
Hier ist ein ganz einfaches Beispiel, bei dem auf eine IFS-Datei zugegriffen wird.
Select a.*
from XMLTABLE('Staff/Department/Employee'
passing xmlparse(Document...
-
Hast Du mal versucht bei der %Handler() Funktion die CCSID anzugeben?
Beispiel: Hier werden die Daten als UCS2 ausgegeben.
XML-SAX %handler(hdlr:comm) %XML(xmldata : 'ccsid=ucs2');
Birgitta
-
Mit Common Table Expressions hättest Du Dir eine ganze Menge COALESCES und Konvertierungen sparen können, ... und da nicht immer wieder alles mögliche wiederholt werden muss, wäre das Ganze auch...
-
Es gibt natürlich viele Wege nach Rom!
Das hier geht auch:
Case When Coalesce(frei, 0) = 0 or Coalesce(stlj, 0) = 0 Then 0 Else frei/Stlj / 10 End
Birgitta
-
Wenn man mit NULL-Werten arbeitet, muss man wissen, dass wenn man zu einem NULL-Wert etwas hinzufügt oder abzieht oder einen NULL-Wert in einer Formel hat, dass das Ergebnis wieder NULL ist.
Wenn...
-
1. Du hast einen LIKE ohne Platzhalter % ist das so gewollt?
Birgitta
-
Wenn Du 4 Spalten haben möchtest, brauchst Du auch 4 Case Anweisungen.
Ansonsten ist die Frage-Stellung wirklich nicht klar.
Kannst Du vielleicht ein Beispiel für die "komplexe" WHERE-Bedingung...
-
Die Funktion funktioniert korrekt.
SQL arbeitet bei dem Datum immer mit der Scaliger No (einer internen laufenden Nr.).
Das Datums-Format wird nur zur (lesbaren) Anzeige der Scaliger No...
-
So wie es aussieht handelt es sich bei Deinem Datum um ein numerisches Datum im Format 2-st. Jahr, 2-st. Monat, 2-st. Tag.
Du musst zunächst das numerische Datum in ein echtes Datum verwandeln....
-
Das ist eine Satz-Sperre!
Entweder wartet man bis der Satz frei ist, d.h. man versucht die Aktion (z.B. über eine Schleife) solange erneut durchzuführen bis sie erfolgreich beendet wurde.
... oder...
-
Integer 9 gibt es nicht! Vermutlich schaust Du Dir die Daten mit DSPFFD (oder einem anderen Tool an und siehst B(9) o.ä.
Eine echte Integer-Definition in SQL enstspricht INT(10) in RPG
Birgitta
-
Ich gehe mal davon aus, dass die Datei nicht in einem Journal aufgezeichnet ist.
Wenn das so ist, ist m.E. die einfachste Möglichkeit ein (System-)Trigger-Programm hinzuzufügen, das die Änderungen...
-
Hast Du Dir eigentlich mal die Funktion HTTPHEAD (in Bibliothek SYSTOOLS) angesehen?
HTTPHEAD Scalar Function.
Im übrigen würde ich die JSON-Daten nicht in eine RPG-Variable einlesen ... um dann...
-
Entfernt! --> War doppelt!
-
Mit SQL und den Schlüssel Worten ROLLUP, CUBE und GROUPING SETS können beliebige Zwischen- und Gesamtsummen generiert werden.
Group By Clause
Birgitta
-
Cursors müssen nach den Variablen und vor den Handlern deklariert werden
Birgitta
-
Du willst den Default User (und nicht zwangsläufig das Kennwort) ändern?
Den Default-User musst Du in der System Configuration ändern
Birgitta
-
Es ist schon das beste Analyse-Tool für die IBMi (alle anderen vergleichbaren Tools können weit weniger abdecken).
Birgitta
-
Meine Antwort hat genau der Anforderung entsprochen!
Der Casus-Knacksus ist, dass die Werte aufgrund derer die Spalten gebildet werden sollten
a) nicht bekannt sind und sich
b) ändern können.
...
-
Wenn Du eine View basteln willst, benötigst Du eine fixe Spalten-Anzahl. Wenn die Werte (und somit auch die Anzahl der Spalten nicht bekannt ist), wird es schwierig.
Das einzige was Du machen...
-
1. In einer Stored Procedure oder User Defined Table Function wird auf eine View wie auf eine Tabelle zugegriffen.
2. Bei einer UDTF werden die Ergebnisse normalerweise durch ein SELECT-Statement in...
-
Der JOIN muss a.Value >= b.Value und nicht a.Value <= b.Value sein!
Birgitta
-
Das SQL-Statement kann auch nicht funktionieren, da es nicht korrekt ist!
Counter ist eine Common Table Expression und keine Spalte. Der Spalten-Name ist VALUE.
Wenn Du das Statement wie folgt...
-
Count(*) zählt auch alles ab und bei vielen Sätzen, ohne entsprechenden (Encoded) Vector Index, kann das schon dauern!
Wenn Du nur wissen willst, ob ein Satz vorhanden ist oder nicht, solltest Du...
-
Du kannst eine logische Datei (oder besser einen SQL Index) mit Feld-Auswahl anlegen und dann den RPG Write in diese logische Datei/Index machen. Für die übrigen Felder sollten dann die Default-Werte...
-
Natürlich kann man ;)
Du musst lediglich mit mehreren Common Table Expressions arbeiten.
Zuerst selektierst Du die Rohdaten und dann fängst Du an das JSON Dokument ausgehend vom untersten Level aus...
-
Liegt ein klassisches Source-Member nicht auf der IBM i?
Also warum kopieren, anstatt einfach zu sichern?
-
Und warum kopierst Du das Ganze überhaupt nach RDi?
Views kannst Du direkt mit ACS erstellen und auch die Quelle kann wahlweise als PC-Datei, IFS-Datei oder als klassisches Source-Member gesichert...
-
Das liegt daran, dass Du mit den "bunten Bildern" mit SQL Naming arbeitest und im Schwarz/Grünen mit System Naming.
-
Hä?!
SQL hat schon immer Dezimal-Punkt und Dezimal-Komma für Zahlen erlaubt.
Welches Trennzeichen verwendet wird, hängt von der Einstellung im Job oder der Connection ab.
Parameter wurden schon...
-
Ich nehme mal an, dass Du mit Dezimal-Trennzeichen Komma arbeitest.
Dann mach mal bei allen Numerischen Definitionen nach dem Komma ein Blank.
7,0 ist wahrscheinlich als eine einzige Zahl und nicht...
-
@Baldur:
Wer außer Dir behauptet denn, dass EVIs sehr viel Platz benötigen?
EVIs sind im Gegenteil sehr viel kompakter als Binary Radix Tree Indices
... außerdem werden Binary Radix Tree Indexes...
-
SQL Performance Optimierung ist nicht ganz so einfach auch wenn wir inzwischen im SQL Perfomance Center gute Tools haben, musst Du verstehen wie SQL arbeitet, um dann auch die richtigen Indices zu...
-
Du solltest aber auch daran denken, dass bei den Regular Expressions alles in DBCLOBs konvertiert, was sich doch sehr negativ auf die Performance auswirken kann.
Ebenso sollte man auch die Double...
-
Hier 2 Varianten, die funktionieren (vorausgesetzt JJJJ ist 4,0 und MM und DD sind 2,0 definiert):
Date(Digits(JJJJ) concat Digits(MM) concat Digits(TT) concat '000000')
Date(Right(Digits(JJJJ...
-
Nachdem jetzt jeder seinen Senf dazugegeben hat, darf ich auch noch!
Wie wär's denn mit SQL und Regular Expressions?
Select RegexP_Replace(Text, '[\W+]', ' ')
from YourTable;
Birgitta
-
Wenn Du auf Release 7.3 oder höher bist, kannst Du mit SQL direkt die Tabellen-Funktion IFS_OBJECT_STATISTICS auslesen:
Beispiel:
Select * from...
-
Man kann natürlich auch eine (temporäre) View mit entsprechenden WHERE-Bedingungen generieren und dann die View ganz normal wie eine Datei verarbeiten.
Die Sortierung hängt dann natürlich von den...
-
Wenn Du auf Release 7.3 (oder höher mit relativ neuem PTF-Stand) bist, kannst Du auch die Tabellen-Funktion MESSAGE_FILE_DATA in der Bibliothek QSYS2 mit SQL verwenden.
... und diese Funktion...
-
Du must eine Datenstruktur definieren mit sovielen Elementen wie Spalten und diese Feldgruppe dann nach der Datenstruktur getrennt durch ein Blank angeben.
Birgitta
-
Da Prozeduren überladen werden können, d.h. die gleiche Prozedur (bzw. gleicher Prozedur-Name) jedoch mit einer unterschiedlichen Anzahl von Parametern kann in der gleichen Bibliothek mehrfach...
-
Hier habe ich sogar noch einen Link zu einem Artikel in Deutsch! gefunden:
Release 7.1 – Verarbeiten von Result Sets mit embedded SQL
Birgitta
-
Frag nochmal nach! Einen Cursor zurückgeben gibt es eigentlich nicht. Ich vermute es wird ein Result Set zurückgegeben.
Wenn das so ist, musst Du die folgenden Schritte machen:
1. Definiere in...
-
%Parms muss immer geprüft werden, wenn mit *NOPASS gearbeitet wird!
-
Works as designed!
Was mich viel eher wundert, dass das Programm überhaupt kompiliert werden konnte!
Der 2. Parameter muss eigentlich übergeben werden.
Options(*OMIT) bedeutet, dass an dieser...
-
Aus- und Weiterbildung ist immens wichtig, besonders auf der IBMi.
SQL, Db2 for i, Webservices u.v.m. aber auch RPG sind heiße Themen.
Deshalb ist es gerade jetzt wichtig, sich...
-
Aus- und Weiterbildung ist immens wichtig, besonders auf der IBMi.
SQL, Db2 for i, Webservices u.v.m. aber auch RPG sind heiße Themen.
Deshalb ist es gerade jetzt wichtig, sich weiterzubilden. ...
-
Ich bin mir zwar sicher, dass Du etwas kostenloses suchst...
wenn's aber auch was kosten darf (und wenn Englisch kein Problem ist), schau Dir mal an, was imPower Technologies zu bieten hat:...
-
Wenn Du in der Session auf das Icon neben dem X klickst, solltest Du ein eigenes Fenster bekommen.
Alternativ kannst Du die Sitzungen auch trennen durch:
Actions --> Tab --> Detach Tab (habe...
-
@xenofob
Ich will jetzt auch keinen Kleinkrieg anzetteln.
... aber was glaubst Du wohl ist leichter zu lesen bzw. zu ändern, FETCH/READ am Anfang der Schleife oder am Ende, wenn bereits 10...
-
... und was passiert, wenn Dein Programm fehlerhaft beendet wurde und erst gar nicht zu dem CLOSE kommt?
Dann hast Du beim nächsten Aufruf u.U. ein Problem.
Natürlich versucht jeder so sicher...
-
Hallo Michael,
vielleicht noch so ein einfacher Trick, um sicherzugehen, dass der Cursor auch wirklich geschlossen wurde.
... mach einfach ein CLOSE vor dem OPEN.
War der Cursor noch geöffnet,...
-
1. Beim Erstellen einer Stored Procedure wird i.d.R. ein Programm erstellt. Sofern ein Service-Programm erstellt werden sollte, muss der Program Typ SUB angegeben werden.
2. Es gibt einen...
-
So wie es aussieht hast Du über Position 80 rausgeschrieben.
Beim RUNSQLSTM musst Du die Spaltenbreite (Margins) entsprechend verändern, ansonsten wird der Quellcode bei Stelle 80 abgeschnitten.
...
-
... allerdings sind wir da soweit wie vorher.
Auch in dynamischem SQL bzw. beim PREPARE und EXECUTE bzw. bei der Verwendung von Parameter Marken darf die Datei nicht als Variabler Wert gehandelt...
-
Du machst das einfach mit dynamischem SQL, d.h. du bildest zur Laufzeit einen String mit dem kompletten SQL Statement und dann führst Du es mit EXECUTE IMMEDIATE aus.
Etwa so:
Create Or...
-
Ich bin mir nicht sicher, ob Du von Indices oder Views redest.
Auf einen Index kannst Du nur mit Native I/O zugreifen.
Einen Index kann man nicht in SQL angeben, sondern nur eine View.
Also auf...
-
Auch die INKx für Funktionstasten habe ich als erstes abgeschafft.
Hex-Wert in Datei-Status-Datenstruktur gegen Konstanten-Wert prüfen.
F18 ist leicher zu lesen als INK war's nochmal R oder S?!....
-
Du must mit allen Elementen des Arrays aufsetzen:
Select *
From JSON_TABLE('{"list": [{"id":1},{"id":2},{"id":3},{"id":4}]}',
'$.list '
Columns("id"...
-
Boah! Da bist Du besser als ich! Ich habe es nicht mehr gefunden!
Birgitta
-
Mir ist zwar nicht klar warum Du weder Common Table Expressions, noch verschachtelte Sub-Selects verwenden kannst.
Wenn ich das richtig verstanden habe, willst Du zwar den Maximal bzw. den...
-
Wofür brauchst Du das überhaupt. Kannst Du das etwas näher beschreiben.
Normalerweise sind Spalten-Namen (in Tabellen, Views, User Defined Table Functions) fix vorgegeben.
In einem...
-
Das liegt daran, dass Du mit STRSQL arbeitest und das wurde seit Release 4.5 nicht mehr erweitert!
Verwende ACS (Access Client Solutions) Run SQL Script und schon siehst Du die Werte.
Was die...
-
Schau Dir doch mal die Tabellen-Funktion IFS_Object_Statistics an:
Die folgende Abfrage bringt liest die Verzeichnisstruktur (incl. Sub-Directories) unter '/home/YourDir1/YourDir2) aus.
Select...
-
Wenn die Sortierung dauerhaft geändert werden soll, musst Du die Schlüssel-Werte in der DDS-Beschreibung ändern und anschließend die Datei neu erstellen.
... das könnte allerdings kritisch sein, da...
-
Wenn Du eine (externe) Prozedur schreibst und die Escape-Message aus der Prozedur aufrufst, kommt diese sehr wohl in dem Programm an.
-
Die einzige Möglichkeit ist eine Prozedur zu schreiben, die nach dem SQL-Statement aufgerufen wird, die den SQLCODE prüft und bei einem negativen SQLCODE eine Abbruch-Nachricht schickt.
Birgitta
-
Du kannst Dir auch mal die Tools von Fresche ansehen:
Catapult
Formastic
Birgitta
-
Man sollte die Ausgabe-Felder immer zunächst initialisieren bzw. nach dem SQL-Statement zunächst die Indikator-Variablen prüfen und dann die Ausgabe-Felder entsprechend initialisieren.
Auszug aus...
-
Also bei mir klappt auch das folgende Statement:
Select *
from JSON_TABLE('{ "numeric": { "value.common.machine.hours.operation.total":
{ "time":...
-
Dann wär's nicht besser als VALUES, bei dem immer eine Kopie erstellt wird.
-
Nicht ganz:
Bei call by VALUE wird nicht die Adresse sondern das ganze Feld an die rufende Prozedur übergeben.
Bei constant Reference wird immer eine Adresse weitergegeben, je nachdem die Adresse...
-
Wenn ein Parameter mit CONST definiert wurde, wird die Adresse des Original-Feldes an die aufgerufene Prozedur übergeben, sofern Datentyp und Länge mit der Parameter-Definition übereinstimmen.
Bei...
-
Das Problem ist nicht "numeric", sondern die Punkte in "value.common.machine.hours.operation.total".
Punkte in einem Pfad anzugeben, bedeutet eine Verschachtelung.
Damit wird der Wert nicht mehr...
-
... und wie machst Du es dann, wenn Du eine wirklich lange Variable hast und keine Datenstruktur-Unterfeldern oder Datenstruktur-Unterfelder mit einem sehr langen Namen?
Birgitta
-
Du kannst auch jederzeit (auch innerhalb einer Variablen) mit 3 aufeinanderfolgenden Punkten umbrechen:
For LocInd5 = 1 to
Edi_pdf_export.Positions...
...
-
Wie ist denn das zugehörige Datenstruktur-Unterfeld definiert, bzw. welchen Namen hat das Unterfeld?
Als Order_... oder Bis_Order_... ?
Was passiert, wenn Du countprefix=XXX angibst und...
-
Wenn Du die Bibliothek und/oder die Tabelle angibst, läuft das Ganze schnell, da die Auswertung nur für die Selektions-Kriterien erfolgen kann.
Wenn Du nach Job suchst dauert das ewig, da zunächst...
-
Auch wenn viele es nicht glauben wollen, außerhalb Deutschlands und Österreichs gibt es durchaus Neuerungen, Erweiterungen und Modernisierungen auf der IBM i und jede Menge Erfolgsgeschichten dazu!...
-
Wenn Du dem Optimizer eine logische Datei angibst, dann interessiert ihn das relativ wenig.
Das SQL-Statement wird im Untergrund umgeschrieben. Dabei nimmt der Optimizer aus der DDS Beschreibung...
-
Wie Manuel sagte, du musst Deine Abfragen analysiseren.
Am einfachsten geht das, indem Du über ACS in das Performance Center reinschaust und Dir die SQL-Statements anschaust ... und nach lang...
-
Und wer das Ganze gerne mit SQL machen würde ...
Das folgende Beispiel richtet den Inhalt der OrigFields rechtsbündig aus und füllt bis zur Länge von 15 Zeichen linksbündig mit Nullen auf....
-
Ich würde zunächst die Texte pro Auftrag (über alle Zeilen) ermitteln.
Im nächsten Schritt würde ich dann feststellen, welche Texte mehrfach vorkommen.
Und zum Schluss dann die Aufträge mit den...
-
In der Tabelle SERVICES_INFO in der Bibliothek QSYS2 sind sämtliche Services (inklusive ab welchem IBM i Release und einem Beispiel wie sie aufgerufen und verwendet werden können) hinterlegt.
Die...
|
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
|