-
STRQM und update funktioniert nicht
Hallo
V5R4
folgendes führe ich aus -
in VBA wird gestartet:
...
CallCmd = New ADODB.Command
OnErrorResumeNext
CallCmd3 = "CALL TRUMPFH.TTAUEBFAC2(" & " " & VAR1 & " " & ")"
CallCmd.CommandText = CallCmd3
CallCmd.ActiveConnection = cnn
CallCmd.Execute(cnn)
Im CL --> TRUMPFH.TTAUEBFAC2 :
...
PGM PARM(&VAR1)
DCL VAR(&VAR1) TYPE(*DEC) LEN(6 0)
DCL VAR(&VAR1_A) TYPE(*CHAR) LEN(6)
CHGVAR VAR(&VAR1_A) VALUE(&VAR1)
*/
AUSFÜHREN *********************************************/
*/
DMPCLPGM
STRQMQRY QMQRY(TRUMPFH/TTRINSERT) ALWQRYDFN(*YES) +
SETVAR((VAR1 &VAR1_A))
MONMSG MSGID(CPF0000)
hier die Query (in STRQM):
update trumpfh/ttrwlsvspp set wvldat = &VAR1
VBA übergibt korrekt die Variable an das CL und dann hörts auch schon auf.
5722SS1 V5R4M0 060210 CL-Programmspeicherauszug ICHAS 18.08.10 15:02:50 Seite
Jobname . . . . . . . . . : QZDASOINIT Benutzername . . . . . . : TRUMPFH Jobnummer . . . . . . . . : 023105
Programmname. . . . . . . : TTAUEBFAC Bibliothek . . . . . . . : TRUMPFH Anweisung . . . . . . . . : 2200
Nachrichten
Nachrichten- Nachrichten- Von Bis
Uhrzeit ID Bewertg. Art Text Programm Befehl Programm Befehl
(In Programmnachrichtenwarteschlange keine Nachrichten gefunden)
Variablen
Variable Art Länge Wert Hexadezimalwert
*...+....1....+....2....+ * . . . + . . . . 1 . . . . + . . . . 2 . . . .
&VAR1 *DEC 6 0 100821
&VAR1_A *CHAR 6 '100821' F1F0F0F8F2F1
&VAR2_A *CHAR 6 '100821' F1F0F0F8F2F1
&VAR3_A *CHAR 6 '100821' F1F0F0F8F2F1
* * E N D E D E S S P E I C H E R A U S Z U G S * *
Ist evt bei der SQL-Syntax des Updates etwas falsch oder bei STRQMQRY ???
Vielen Dank.
Gruss
Tobias
-
...achso, in der Tabelle ist nur eine Spalte und ein Feld:
Spalte: WVLDAT
Satz: 100821
-
Hi,
gibt es eine Fehlermeldung oder wo ist das Problem?
-
das update der Tabelle wird nicht ausgeführt und ich finde den Fehler nicht.
-
Hallo Tobias,
ehrlich gesagt staune ich etwas:
Bist Du sicher, dass das CL den richtigen Dezimalwert hat?
Ich dachte immer, dass man nur Zeichenketten, Hex-Werte oder 15,5-stellige Dezimalwerte ohne Probleme im CALL übergeben kann?
Also CALL TRUMPFH/TTAUEBFAC2(x'0100821F')
anstatt CALL TRUMPFH/TTAUEBFAC2(100821)
---
Vielleicht kann man auch gar keinen UPDATE im QMQRY machen?
Was kommt denn als Fehler, hast Du ein Joblog?
Du könntest hinter dem QMQRY den Befehl: DSPJOBLOG *PRINT ausgeben.
---
Naja, und mittlerweile hätte man schon ein RPG schreiben können, was den UPDATE problemlos macht
Gruß, Christian
-
Hallo Christian,
ich übergebe aus VBA der Variablen einen Hex-Wert:
CallCmd3 = "CALL TRUMPFH.TTAUEBFAC2(" & " " & VAR1 & " " & ")"
Wert von CallCmd3:
CallCmd3 "CALL TRUMPFH.TTAUEBFAC2( X'0100821C' )"
das funktioniert, wie Du aus dem Speicherauzug (Dump) an den Variablen erkennen kannst. Das Feld WVLDAT aus der Tabelle hat den Datentyp Dec(6 0).
Ich habe den Befehl STRQMQRY auf der AS400 vorher getestet und der Befehl macht das was er soll. Auch mein Profil habe ich überprüft und habe alle Berichtigungen auf INSERT, UPDATE, DELETE etc..
Ich bin im Moment irgendwo im Niemandsland und weiß nicht welches Schräubchen ich noch drehen kann...
-
hast Du hinter dem STRQMQRY den Befehl: DSPJOBLOG *PRINT schon probiert?
Was kommt denn da für ein Fehler?
-
Versuch' mal spasseshalber am Ende des Update-Statements WITH NC hinzuzufügen.
SQL versucht normalerweise mit Commitment Control zu arbeiten. Dazu müssen die Dateien journalisiert werden. Dies könnte ein Problem verursachen, wenn ihr ohne Journaling arbeitet.
WITH NC besagt, dass bei diesem Statement OHNE Commitment Control gearbeitet wird.
Code:
update trumpfh/ttrwlsvspp set wvldat = &VAR1 WITH NC
Birgitta
-
na toll, ich weiß nicht wo ich jetzt gedreht haben soll, aber jetzt funktioniert es plötzlich. Komisch, aber yipiii es geht...
Nochmals, danke an alle...
Similar Threads
-
By mk in forum NEWSboard Programmierung
Antworten: 13
Letzter Beitrag: 13-07-12, 08:53
-
By synus in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 06-10-06, 15:38
-
By wuwu in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 18-07-06, 15:31
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
-
By mdhl in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 18-05-06, 13:27
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