-
Hallo Birgitta, da klappt ja wunderbar.
Ich habe aber noch ein anderes Problem. Ich habe versucht, aus Deiner Beschreibung: "Welches Programm aktivierte meinen Trigger ?" das auslösende Programm zu ermitteln.
Dabei wird mir aber folgende Fehlermeldung angezeigt:
PHP-Code:
Routine TRIWERCL in MUHSTANPGM mit angegebenen Parametern nicht gefunden. SQL-Auslöser TR_LAGBES2 in ANCRAPGM ist mit SQLCODE -440 SQLSTATE 42884 fehlgeschlagen. Fehler im Auslöserprogramm. Fehler im Auslöserprogramm.
Ich habe folgendes CL erstellt und compiliert:
PHP-Code:
/*****************************************************************/ /* T R I W E R C L / compiliert nach MUHSTANPGM */ /* welches Programm löste das Trigger-Programm aus ? */ /* Author . . . . . . . . : B.Hauser */ /*****************************************************************/ PGM PARM(&CALLER + &CALLED) /* ---------------------------------------------------------------*/ DCL VAR(&CALLER) TYPE(*CHAR) LEN(10) DCL VAR(&CALLED) TYPE(*CHAR) LEN(10) DCL VAR(&MSGKEY) TYPE(*CHAR) LEN(4) DCL VAR(&SENDER) TYPE(*CHAR) LEN(80) /* ---------------------------------------------------------------*/ SNDPGMMSG MSG('TEST') + TOPGMQ(*PRV (&CALLED)) + MSGTYPE(*RQS) + KEYVAR(&MSGKEY) RCVMSG PGMQ(*PRV (&CALLED)) + MSGKEY(&MSGKEY) + SENDER(&SENDER) CHGVAR VAR(&CALLER) VALUE(%SST(&SENDER 56 10)) ENDE: ENDPGM
Folgende Stored-Procedure habe ich erstellt und mit RUNSQLSTM erstellt
PHP-Code:
CREATE PROCEDURE MUHSTANPGM/TRIWERPC ( OUT ParmCaller CHAR(10) , IN ParmCalled CHAR(10) ) LANGUAGE CL SPECIFIC MUHSTANPGM/TRIWERPC NOT DETERMINISTIC NO SQL CALLED ON NULL INPUT EXTERNAL NAME 'MUHSTANPGM/TRIWERCL' PARAMETER STYLE SQL ;
Der Trigger sieht folgendermassen aus:
PHP-Code:
CREATE TRIGGER ancrapgm/tr_lagbes2 AFTER UPDATE OF LAPROS, LALORT ON lagbespf REFERENCING NEW ROW AS neu OLD ROW AS alt FOR EACH ROW MODE DB2ROW BEGIN DECLARE I_pgm CHAR(10) default 'QDBUDR'; DECLARE O_pgm CHAR(10) default ' '; DECLARE A_QUAL CHAR(6); DECLARE B_QUAL CHAR(6); SET A_QUAL = substring(alt.laarti, 1, 6); SET B_QUAL = substring(neu.laarti, 1, 6); call MUHSTANPGM/TRIWERPC(O_pgm, I_pgm); INSERT into ancradta/LATRIGpf (LWFIRM, LWstkn, LWprgr, LWvkg1, LWpros, LWlort, LWnmen, LWvgre12, LWqual, LWvere, LWDESS, LWPROGRA) values( neu.LaFIRM, neu.Lastkn, neu.Laprgr, neu.Lavkg1, neu.Lapros, neu.Lalort, neu.Lanmen, neu.Lavgre12, B_qual, neu.Lavere, neu.LaDESS, O_PGM) ; end
Sobald ich die Anweisung: CALL MUHSTANPGM/TRIWERPC weglasse, funktioniert es, allerdings natürlich ohne die Ermittlung des Programm-Namens.
( TRIWERCL ist als Objekt in MUHSTANPGM vorhanden )
Was mache ich falsch ?
Ludger
Similar Threads
-
By Jenne in forum NEWSboard Programmierung
Antworten: 0
Letzter Beitrag: 19-01-07, 09:24
-
By FNeurieser in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 11-10-06, 14:53
-
By bigmoon in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 14-09-06, 18:26
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-06-06, 09:43
-
By GHoffmann in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 07-07-05, 09:18
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