Suchen:
Type: Posts; Benutzer: B.Hauser
Suchen:
Search took 0,07 seconds.
-
Du musst die Variable als VARCHAR definieren ... und sicherheitshalber solltest Du auch bei der Parameter-Übergabe eventuelle führende/folgende Blanks abtrimmen.
declare gblstring Varchar(256);...
-
RPG varucs2(100000) zurückgegeben und in der UDF wird das als dbclob(100000) ccsid 1200
Felder mit Variabler Länge, und > 65535 Bytes haben in RPG automatisch 4 führende Bytes.
Felder mit...
-
Ich würde für UCS2 immer Graph()/VarGraphic() CCSID 13488 verwenden - Für CCSID 1200 würde ich auch in RPG VARGRAPH mit CCSID verwenden.
Alphanumerische Felder > 32740 Byte können von SQL nicht...
-
ChatCPT hat gelogen!
Bei einer SQL UDF müssen alle Ausgabewerte über den Ausgabe-Parameter zurückgegeben werden.
Wenn man mehrere Werte zurückgeben will, erstellt man eine UDTF, die man dann in den...
-
SQL0952 sagt lediblich, dass das Statement abgebrochen wurde.
Gibt es vielleicht noch einige zusätzliche Joblog-Einträge?
Wie groß ist denn die Tabelle in Byte?
Eine Tabelle mit 275000 Zeilen...
-
Wenn Du mit IFS_READ oder mit IFS_READ_UTF8 arbeitest sollte per Default (Parameter End_Of_Line - Default = 'ANY') der Umbruch bei jedem CRLF, LF, CR oder LFCR erfolgen.
Die Umbruchwerte werden...
-
Wie wäre es mit der View Scheduled_Job_Info in der Bibliothek QSYS2 (gibt es seit Release 7.1)
-
Du hast die Quelle gesehen und auch Break-Points gesetzt?
Oder läuft es sich schon tot, wenn Du ein (Service-)Programm auswählst?
Zweiteres passiert, wenn Du ohne VPN direkt über das Internet...
-
... geh zurück ins SQL Script und führ' die Funktion aus
Values(FunktionsAufruf(Par));
-
Schon okay!
Nervt nur leider, wenn man z.B. mal wieder bei einem Amt antanzen muss (am besten noch mit beglaubigter Geburtsurkunde) bloß weil irgendjemand mal wieder nicht richtig lesen konnte.
-
Ich weiß nach wie vor nicht warum es nicht funktionieren sollte!
Das folgende Programm wird beim mir ordnungsgemäß kompiliert und auch ausgeführt:
DCL-S DateEur Date(*Eur); ...
-
Wieso musst Du das nochmal umlanden?
Beim Konvertieren eines numerischen bzw. alphanumerischen Datums wird im 2. Parameter das Format des numerischen oder alphanumerischen Datums übergeben. Fehlt...
-
Wie ist denn SYSDAT überhaupt definiert? Datum oder alphanumerisch?
Wird beim Compilieren die Option DATFMT (oder in einem SET OPTION STATEMENT) auf ein Format mit einem 4-stelligen Jahr gesetzt....
-
Wenn es sich um eine echte Zeitmarke handelt bekommst Du das Jahr mit:
Year(TRANS00001)
Ich liebe es, wenn in einem Thread so um das Thema herum geschwafelt wird, dass man das eigentliche Thema...
-
Wow! Dokumentationen von Release 7.1 - völlig UpToDate!
Wir sind in Release 7.5 und in der Zwischenzeit hat sich auch beim CREATE TABLE einiges getan!
-
Blick in die Glaskugel?
Was ist denn die Fehlermeldung, die Du bekommst?
... auf den ersten Blick und ohne die Fehlermeldung zu kennen, würde ich sagen:
With Data oder With No Data fehlt (vor...
-
Würde ich mir (notfalls) den Befehl entweder mit der Stored Procedure GENERATE_SQL oder über ACS - Reverse Engineering holen, anstatt mir über DSPFD die Informationen zusammensuchen zu müssen
Wenn...
-
View sollte ausreichen!
In der View wird der WebService aufgerufen und auch gleich das zurückgegebene JSON aufgedröselt.
Dann kann man diese mit DCLF definieren und das Ergenbis bzw. die einzelnen...
-
Auf welcher Ebene erfolgt denn der Override? OVRSCOPE *JOB oder Default *ACTGRP?
ggf. mal mit Override Scope *JOB versuchen.
-
Auch von mir ein "Frohes Weihnachtsfest" und falls man sich nicht mehr sieht und hört einen "Guten Rutsch ins Neue Jahr 2024"
-
Eigentlich werden die Daten in UTF-8 ausgetauscht und müssten somit richtig ankommen (es sei denn DEEPL würde ein anderes Format schicken, das dann als UTF-8 interpretiert wird).
Hast Du...
-
Man kann das Ganze noch um einige Sub-Selects reduzieren:
with
kunden(kdnr, knz1, knz2, knz3, knz4, knz5) as (
values
(1, 'AAA', 'BBB', 'CCC', 'DDD', 'EEE'),
(2, 'AAA',...
-
1. Würde ich Dir raten die aktuelle Version zu installieren, bevor Du behauptest, das etwas nicht geht. Wenn Du ACS - SQL-Sripts öffnest und dann versuchst eine "Datei" zu öffnen kannst Du zwischen...
-
Es gibt aktuell wirklich keinen Grund mehr STRSQL zu verwenden.
Mit ACS - Run SQL Scripts kann man jedes beliebige SQL Statement ausführen.
Das SQL Skript kann wahlweise als PC-Datei,...
-
iSeries Navigator ist bereits seit Release7.1 nicht mehr erweitert worden. Das Nachfolge-Produkt und aktuell strategisches Produkt ist IBM i Access Client Solutions (ACS).
ACS ist auch für den mac...
-
Wenn das Ausgabe-Feld nicht alle Dezimal-Stellen halten kann, wird abgeschritten, so ist nun mal die Aufbereitung.
Es sei denn, Du hättest auf die Anzahl der ausgegebenen Dezimal-Positionen explizit...
-
Wenn du eine konstante Zahl ohne Nachkomma-Stellen angibst wird diese als Integer-Wert interpretiert.
Die Regeln bei Integer-Werten sind etwas anders:
1. Werden 2 Integer-Werte miteinander...
-
Ich würde zunächst einmal prüfen was die letzte ID ist und welches die nächste sein sollte.
Select Next_Identity_Value, a.*
from qsys2.syspartitionstat a
Where Table_Schema = 'YOURSCHEMA'...
-
Commit und Rollback werden OHNE EXECUTE aufgerufen!
EXEC SQL COMMIT;
EXEC SQL ROLLBACK;
Execute wird nur in Verbindung mit dynamischem SQL verwendet und zwar um einen mit PREPARE in ein...
-
Was passiert, wenn Du vor dem ENDCMTCTL einen COMMIT ausführst und dafür den RCLRSC auslässt?
-
Da Du lieber Dieter immer so auf der optimalen Welt mit sauberen ILE-Konzepten, Datenbanken-Handling und 100% sauberem Aktivierungsgruppen-Design herumreitest ... sollte ein RCLACTGRP einer einzelnen...
-
Nein reicht nicht! Das Programm darf nicht in der Default-Aktivierungsgruppe laufen, ... sonst ist es weiterhin SQL. Das CL in einer benannten Aktivierungsgruppe ausführen, dann sollte auch der Rest...
-
@1: es sieht für mich so aus, dass STRCMTCTL vor Aufruf (oder im CL-Programm erfolgt) genauso wie der ENDCMTCTL.
@3:Ich wüsste nicht, dass ich empfohlen habe in dieser Situation den RCLACTGRP zu...
-
Das Problem ist ganz klar, dass die RPGLE-Programme in der Default-Aktivierungsgruppe laufen.
In ILE-Programmen geöffnete Dateien bleiben solange geöffnet bis die Aktivierungsgruppe geschlossen...
-
Wenn aus mehreren Dateien upgedated wird, muss sichergestellt werden, dass es zu jedem Satz, der upgedated wird GENAU einen Satz in den abh. Tabellen gibt.
Zuerst setzt man sicherheitshalber einen...
-
Das war aber nicht gefragt!
... und wenn, warum sollte man sich in RPG die Fingerchen brechen wenn es in SQL die Funktion CEILING gibt. Diese kann man dann in RPG einbinden genauso mit Division und...
-
... Alles Gute, Gesundheit ... und noch ein langes erfülltes Rentnerdasein
-
Einfach: Dividieren, Runden und danach multiplizieren
Ich hab's jetzt hier nur mit SQL ... aber in RPG sollte es genauso funktionieren:
Values(Round(7,4 / 5,0 , 0) * 5);
Values(Round(7,5 /...
-
Schau Dir mal die skalare Funktion INTERPRET an, ob Du damit weiterkommst
https://www.ibm.com/docs/en/i/7.5?topic=functions-interpret
-
Frage: Was würde denn an dieser Stelle gegen dynamisches SQL sprechen?
Den Inhalt des Arrays mit als String aufbereiten (z.B. mit der RPG Built-In-Function %CONCATARR).
Und dann das SQL Statement...
-
Mir ist nicht klar, an welcher Stelle du das Array einsetzen willst.
Allerdings ist es so, dass man im Statischen SQL eigentlich weder ein Array noch einzelne Elemente direkt angeben kann.
Wenn...
-
Das ist eine klassische Satz-Sperre ...
Abfangen kann man Satz-Sperren in dem man beim Lese-Befehl (E) angibt ... und dann nach dem Read/Chain entweder auf %ERROR (= allgemeiner Fehler) oder auf...
-
Vielleicht sieh ich das mal wieder zu einfach!
Ich würde einfach den CL-Befehl STMCMTCL ausführen. Wenn er klappt, war Commitment Steuerung nicht aktiv, dann beende ich die Commitemnt Control...
-
In welcher Aktivierungsgruppe läuft denn Dein PGMXXX?
Mit welchem Commitment Scope wird denn die Commitment Steuerung gestartet?
Sollte es *ACTGRPDFN sein, würde ich die Aktivierungsgruppe mit...
-
Was für ein Trigger ist es?
SQL oder System-Trigger?
Bei einem System-Trigger ist das Commit Lock Level im Trigger Buffer auf Position 32 hinterlegt (0=*NONE, 1=*CHG, 2=*CS, 3=*ALL)
Trigger...
-
Das stimmt ja auch ... SQE gibt es ja auch erst seit V5R2M0 (grin)
aber ab und zu aktualisiert die IBM auch nicht alle Dokumente!
-
Die Zugriffspläne von ALLEN von der SQE ausgeführten SQL-Abfragen werden in dem SQE Plan Cache gespeichert. Dabei spielt es keine Rolle, ob die Zugriffs-Pläne von einem statischen SQL-Statement in...
-
Ich weiß eigentlich nicht warum Ihr Euch alle beschwert, was angeblich nicht funktioniert oder nicht integriert ist.
Dann müsst Ihr eben mal den einen oder anderen RFE (Request for enhancement)...
-
Versuch mal ob Du mit der SQL-Funktion HEX das gewünschte Ergebnis bekommst:
Values(Cast(Hex(Integer(256)) as Char(50)));
Oder im RPG
DCL-S Value Int(10);
DCL-S ...
-
Vielleicht habe ich es noch nicht ganz verstanden, aber das sollte mit der SQL-Funktion INTERPRET gehen. Du musst lediglich den Wert in der Variablen als Binary Hex angeben:
...
-
Ich würde vorrangig immer die Views verwenden, die mit SYS beginnen, also SYSVIEWS.
-
Wie wäre es mit Catalog view QSYS2.SYSFUNCS?
Ich würde auch QSYS2.SYSPROCS verwenden.
-
REGEXP_REPLACE kann das!
Select RegexP_Replace(TelefonNr, '[\D]', ''), TelefonNr, x.*
from YourTable x
-
Dann frag sie doch!
Nur warum soll ich mir die Arbeit mit den Pointern selber machen, wenn RPG das für mich erledigt!
Das ganze Pointergefuddell ist viel fehleranfälliger.
-
Damit hast Du doch schon alles definiert was Du brauchst:
DCL-DS DSKW;
KW01;
KW02;
KW03;
...
KW53;
KW Like(KW01) Dim(53) Pos(1);
-
Bei euren Pointer-Lösungen vergeßt Ihr nur eines:
Die 53 Felder müssen in der Tabelle hintereinander weg stehen ansonsten klappt das nicht!
... und bei Datei-Änderungen (mit und ohne Compile) würde...
-
Geht das nicht einfach so?
DCL-DS DSKW;
KW01;
KW02;
KW03;
... ...
-
Bevor man irgendetwas behauptet sollte man es zuerst testen!
... oder aber einfach mal ausprobieren, was andere empfehlen!
647
-
Versuch mal vor dem Komma (Trennzeichen) ein Blank einzufügen.
Außerdem solltest Du bei gepackten und gezonten Werten tatsächlich ein Dezimal-Trennzeichen angeben. Numerische Werte ohne...
-
Stress hin oder her!
Ich wünsche allen ein Frohes Weihnachtsfest und einen guten Rutsch ins Neue Jahr!
... und für alle die die fragen was Urlaub ist! Weihnachten, Silvester und Neu Jahr sind...
-
Du willst also mit SQL in einer .csv-Datei, die vermutlich im IFS liegt &.AMP; durch & ersetzen?
Am einfachsten geht das mit den neuen IFS-IBM Services und REPLACE.
Etwa so:
Call...
-
Hast Du schon einmal versucht einen Derived Index mit einer Schlüssel-Spalte auf die relative Satz-Nr. anzulegen?
Etwa so:
Create Index YourSchema.YourIndex
On YourSchema.YourTAble
...
-
... sollte eine Identity Column nicht ausreichen (z.B. weil auf unterschiedlichen Systemen in die "gleiche" Tabelle geschrieben wird und die Tabellen irgendwann wieder zusammengemischt werden)...
...
-
Ich würde mir SYSPARTITIONINDEXSTAT anschauen:
https://www.ibm.com/docs/en/i/7.5?topic=views-syspartitionindexstat
-
Warum bringt es der HEX in SQL nicht?
Was Du möchtest ist der Hex-Wert eines Integers. Wenn es sich bei deinen Daten nicht um einen Integer-Wert handelt, sondern z.B. um DECIMAL (=gepackt numerisch)...
-
Natürlich funktionniert der LIMIT in Verbindung mit einem ORDER BY.
In diesem Fall wird nämlich zunächst das volle Query ausgeführt und dann die gewünschte Anzahl an Datensätzen zurückgegeben.
-
Limit (und Offset) gibt es seit 7.1 (TR)
Fetch First X Rows only, das die ersten x Zeilen zurückgibt, gibt es allerdings schon seit ca. V5R1M0.
-
So ganz habe ich nicht verstanden was Du brauchst.
Deshalb fasse ich zunächst einmal zusammen wie ich Deine Anforderung verstehe:
1. Du möchtest von einer Tabelle, die ersten 10.000 Sätze sortiert...
-
Anstatt eine temporäre Tabelle zu generieren, würde ich über den IBM Service OBJECT_STATISTICS gehen.
Da solltest Du alle benötigten Informationen bekommen.
Select * from...
-
Nein, was fertiges gibt es auf der IBM i nicht (zumindest nicht im Standard-Umfang der Db2 for i).
Vielleicht findest Du etwas Open Source.
... ansonsten selberbasteln.
-
1. Timestamp(n) with timezone gibt es NICHT in Db2 for i! (nur auf den anderen Db2s)
2. Die Konvertierung geht auch einfacher:
Values Timestamp(Translate('2022-09-07T17:16:12.123Z', ' ', 'TZ'));
-
Hast Du einmal geprüft, ob der Compile-Fehler auch auftritt, wenn Du den Quellentyp auf RPGLE änderst?
Wenn Du dann auch den Fehler MCH3601 bekommst liegt das Problem bei Dir.
Außerdem ...
Es...
-
Nur leider kannst Du dabei keine Fehler behandeln, oder implementierst Du dynamische Compound statements mit Condition Handler? Wen ja, dann kannst Du auch gleich eine Stored Procedure (oder User...
-
Da ist ein Programm, aufgrund eines Fehler aufgelaufen.
Du musst prüfen wass in Programm EXC500 auf Statement 1450 steht (vermutlich ein CALL auf das (Service-)Programm EXB700. Dieses Programm ist...
-
Schau dir mal den folgenden Link von Scott Forstie an:
https://gist.github.com/forstie/cec5b0bf5c0e6983125ae078b0d04b48
-
Ich würde an dieser Stelle eine externe UDTF (user defined table function) erstellen.
In einem RPG-Programm kann der Datensatz leicht in eine Datenstruktur eingelesen werden (ohne irgendwelche...
-
Wenn's nur darum geht, zu prüfen, ob auf den ersten 7 Zeichen Zahlen stehen, dann sollte es auch ohne Regular Expressions gehen:
In dem folgenden Beispiel werden nur die "bösen" Daten selektiert:...
-
Für mich sieht das eher nach: "Jedem Dierle sin Pläsierle" aus ... und dann muss halt "nur noch" alles zusammengeschustert werden, damit es richtig läuft.
-
Wenn Du Variablen verwendest, musst Du diese auch im richtigen Format (Datentyp) definieren.
Der Parameter Start_Path_Name, also der erste Parameter in der UDTF IFS_OBJECT_STATISTICS ist als DBCLOB...
-
Nein! Das ist quasi statisch, d.h. einmal aufbereitet und mehrfach (mit unterschiedlichen Parameter-Werten) verwendet.
In diesem Fall kann die Datei sowenig über eine Variable gesteuert werden wie...
-
Was mir nicht klar ist, wann werden denn die Aliase in der QTEMP erstellt?
In den embedded SQL Programmen vor dem Aufruf oder einmalig?
Wie stellst Du denn überhaupt fest, welche Umgebung du...
-
Eine Möglichkeit wäre mit dem API QMHSNDSM (Send Scope Message) zu arbeiten.
Bei dem API-Aufruf kann man ein (Scope-)Programm und ggf. auch Parameter-Werte die an das (Scope-)Programm übergeben...
-
Lass mal das DESCEND weg.
-
Und warum willst Du denn 2 SELECT Statements verwenden, wenn eines reichen würde?
Update Transaktion
Set Status = '1'
Where Exists (Select *
From Master
...
-
Stored Procedures werden mit CALL aufgerufen und können somit nicht direkt in einem SQL-Statement hinterlegt werden.
Was Du brauchst ist eine SQL-Funktion, and die Du die Parameter übergibst und die...
-
Das ist noch der iSeries Navigator!
In ACS kann man Verbindungen festlegen, die man beim Connect angibt.
Die Verbindungen können gepflegt werden über:
Edit --> JDBC Configuartions
Das Loglevel...
-
Hast Du das mal probiert?
Vielleicht setzt Du dann auch noch explizit ein WITH NC (ohne Commitment Control) dazu:
SELECT * from View
For Read Only
With NC;
-
Manchmal würde schon helfen einen Blick in den Source Code zu werfen!
Die Tabelle wird mit On Replace Delete Rows in der QTEMP erstellt!
Damit ist weder eine Prüfung, ob die Datei vorhanden ist...
-
Die UDTF steht in der Bibliothek SYSTOOLS.
Bei den (meisten) SQL-Funktionen oder Stored Procedures in der SYSTOOLS ist es möglich sich den Source Code über Reverse Engineering zu generieren.
...
-
Das war einmal! Zu CQE-Zeiten.
Heute wird das SQL-Statement analysiert und in Verbindung mit dem Statistics Manager, der Informationen darüber liefert wie viele verschiedene Schlüssel und Werte ein...
-
Wenn jeder seinen Senf dazugeben kann ... schlage ich noch eine Lösung mit statischem SQL vor (ebenfalls in hunderten Programmen eingesetzt)
Select ...
from ...
Where Column1 = Case...
-
Und warum denn nicht?
Solange die Original-Spalte auf der linken Seite des Vergleichsoperators (BETWEEN) nicht verändert wird (z.B. durch eine Scalare Funktion) KANN der Optimizer einen regulären...
-
Was heißt hier alt oder neu?
Das sind einfach 2 unterschiedliche Techniken, und jede hat ihre Existenzberechtigung!
Das Überlagern von Arrays mit anderen Array und Sortierung nach den...
-
Ich hoffe, dass Du die Datenstruktur im Free-Format etwa so:
DCL-DS DS01 Inz;
Satz Dim(5);
DS01ArtN Zoned(8) Overlay(Satz);
DS01LinNr Zoned(8) ...
-
Lass das! Spätestens bei der nächsten DDS-Änderung hast Du die Identity vergessen!
Konvertiere die Tabelle nach DDL und füge dann die Spalte hinzu.
Erstelle das SQL Skript über Reverse...
-
Such mal nach Identity Columns:https://www.ibm.com/docs/en/i/7.4?topic=language-creating-altering-identity-column
Solange Du über die Identity Column einen Primary Key Constraint (oder einen Unique...
-
Um eine Tabellen-Funktion oder eine Stored Procedure, die Result-Sets ausgibt, performant ausführen zu können sind ebenfalls die richtigen Zugriffswege erforderlich.
Stored Procedures können nicht...
-
Nicht alles was früher geklappt hat war auch gut! Da könnte man tausende von Beispielen nennen.
... allerdings habt Ihr m.E. mit der Modernisierung an der falschen Stelle angefangen.
Ihr hättet...
-
Ein Index kann immer nur auf eine einzige Physische Datei oder Tabelle gelegt werden!
Wie sieht denn Deine View aus?
Wie werden die Tabellen verknüpft?
Abh. von dieser JOIN-Anweisung kannst Du...
-
Ach ja, dann versuch doch mal die folgende Abfrage auszuführen:
Values(Cast(Cast('Dies ist ein Test' as VarChar(25) CCSID 65535) as VarChar(50) CCSID 1208));
Aktuelles Release aktueller...
|
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
|