[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2

Thema: SQL-Trigger

  1. #13
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Vielleicht hilft dir ja folgendes CLP ein wenig:

    Code:
     
    			 PGM		PARM(&START &PROG)							  
    																		
    			 DCL		VAR(&START) TYPE(*CHAR) LEN(10)				 
    			 DCL		VAR(&PROG) TYPE(*CHAR) LEN(10)				  
    																		
    /* API-FELDER */														
    			 DCL		VAR(&RCV) TYPE(*CHAR) LEN(9999)				 
    			 DCL		VAR(&RCVLEN) TYPE(*CHAR) LEN(4)				 
    			 DCL		VAR(&RCVFMT) TYPE(*CHAR) LEN(8) VALUE(CSTK0100) 
    			 DCL		VAR(&JOBID) TYPE(*CHAR) LEN(56)				 
    			 DCL		VAR(&JOBFMT) TYPE(*CHAR) LEN(8) VALUE(JIDF0100) 
    			 DCL		VAR(&ERRCD) TYPE(*CHAR) LEN(128)				
    																		
    /* ARBEITSFELDER */													 
    			 DCL		VAR(&NOCENT) TYPE(*DEC) LEN(9)				  
    			 DCL		VAR(&OFFSET) TYPE(*DEC) LEN(9)				  
    			 DCL		VAR(&ENTRY) TYPE(*DEC) LEN(9)			 
    			 DCL		VAR(&ENTLEN) TYPE(*DEC) LEN(9)			
    			 DCL		VAR(&POS) TYPE(*DEC) LEN(9)			   
    			 DCL		VAR(&PGM) TYPE(*CHAR) LEN(10)			 
    			 DCL		VAR(&LIB) TYPE(*CHAR) LEN(10)			 
    																  
    /* INIT'S */													  
    			 CHGVAR	 VAR(%BIN(&RCVLEN)) VALUE(9999)			
    			 CHGVAR	 VAR(%BIN(&ERRCD 1 4)) VALUE(128)		  
    			 CHGVAR	 VAR(%BIN(&ERRCD 5 4)) VALUE(0)			
    			 CHGVAR	 VAR(%SST(&JOBID 1 10)) VALUE('*')		 
    			 CHGVAR	 VAR(%SST(&JOBID 43 2)) VALUE(X'0000')	 
    			 CHGVAR	 VAR(%BIN(&JOBID 45 4)) VALUE(1)		   
    			 CHGVAR	 VAR(%SST(&JOBID 49 8)) +				  
    						  VALUE(X'0000000000000000')			  
    																  
    /* AUFRUF */														   
    			 CALL	   PGM(QWVRCSTK) PARM(&RCV &RCVLEN &RCVFMT +	  
    						  &JOBID &JOBFMT &ERRCD)					   
    																	   
    			 IF		 COND(%BIN(&ERRCD 5 4) > 0) THEN(DO)			
    			 SNDPGMMSG  MSGID(%SST(&ERRCD 9 7)) MSGF(QCPFMSG) +		
    						  MSGDTA(%SST(&ERRCD 17 112)) TOPGMQ(*PRV) +   
    						  MSGTYPE(*ESCAPE)							 
    			 ENDDO													 
    																	   
    /* ALLES OK */														 
    			 CHGVAR	 VAR(&NOCENT) VALUE(%BIN(&RCV 17 4))			
    			 CHGVAR	 VAR(&OFFSET) VALUE(%BIN(&RCV 13 4) + 1)		
    																	   
    /* SCHLEIFE ÜBER EINTRÄGE */										   
    STACK:																 
    			 CHGVAR	 VAR(&NOCENT) VALUE(&NOCENT - 1)			
    																   
    			 IF		 COND(&NOCENT >= 0) THEN(DO)				
    			 CHGVAR	 VAR(&ENTLEN) VALUE(%BIN(&RCV &OFFSET 4))   
    																   
    			 CHGVAR	 VAR(&POS) VALUE(&OFFSET + 24)			  
    			 CHGVAR	 VAR(&PGM) VALUE(%SST(&RCV &POS 10))		
    			 CHGVAR	 VAR(&POS) VALUE(&POS + 10)				 
    			 CHGVAR	 VAR(&LIB) VALUE(%SST(&RCV &POS 10))		
    																   
    /* TESTAUSGABE */												  
    			 SNDPGMMSG  MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&PGM + 
    						  *CAT &LIB) TOPGMQ(*PRV) MSGTYPE(*INFO)   
    																   
    			 CHGVAR	 VAR(&OFFSET) VALUE(&OFFSET + &ENTLEN)	  
    			 GOTO	   CMDLBL(STACK)							  
    			 ENDDO		 
    						   
    			 ENDPGM
    Anstelle der Testausgabe kannst du ja PROG und LIB entsprechend auswerten und abfragen.
    Zu beachten ist lediglich, dass der 1. Stackeintrag das eigene Programm ist !
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #14
    Registriert seit
    Jul 2003
    Beiträge
    338

    Wink

    Hallo Baldur, das CL hat mir sehr geholfen.

    Jetzt konnte ich gut die Reihenfolge der Aufruf-Programme erkennen.
    Nach entspr. Modifikation habe ich das CL jetzt eingesetzt.

    Danke für de Unterstützung. Ludger

Similar Threads

  1. SQL Trigger
    By Jenne in forum NEWSboard Programmierung
    Antworten: 0
    Letzter Beitrag: 19-01-07, 09:24
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL Trigger
    By bigmoon in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 14-09-06, 18:26
  4. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  5. Erstellen Trigger über SQL / Read Funktion
    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
  •