- 
	
	
		
		
		
		
			ADO und QSYS.QCMDEXC --> Syntaxfehler
		
		
				
					
					
				
				
		
			
				
					Hallo, 
V5R4, WINXP SP3 
  
Irgendwo ist beim Befehl QCMDEXC ein Syntaxfehler und den finde ich nicht? 
  
CallCmd = "STRQMQRY QMQRY(TRUMPFH/TTRWLSVST1) OUTPUT(*OUTFILE) OUTFILE(TRUMPFH/TTRWLSVST1) ALWQRYDFN(*YES) SETVAR((VAR1 " & VAR1 & "))" 
  
CallCmd = Replace(CallCmd, "'", "''") 
  
cnn.Execute("CALL QSYS.QCMDEXC ('" & CallCmd & "', " & Format(Len(CallCmd), "0000000000.00000") & ")") 
  
  
Fehlermeldung von VBA: 
[IBM][iSeries Access ODBC-Treiber][DB2 UDB]CPF0006 - Im Befehl ist ein Fehler aufgetreten. 
  
Ich finde den Fehler nicht, trotz der Recherche in diesem Forum. 
  
Vielen Dank 
Gruss 
Tobias
				 
			 
			
		 
			
				
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Genau dieses Problem hattest du ja schon einmal. 
Hast du denn schon versucht den kompletten Befehl auf der AS/400 abzusetzen? Dann solltest du eine genauere Fehlermeldung erhalten.
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Schau dir das Ergebnis von CallCmd mal an und führe ihn auf einer Kommandozeile der AS/400 aus. 
Ggf. mit F4 mal prompten.
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Hallo, 
  
der Befehl auf der AS400 funktioniert: 
  
Befehl eingeben und Eingabetaste drücken  
===> STRQMQRY QMQRY(TRUMPFH/TTRWLSVST1) OUTPUT(*OUTFILE) OUTFILE(TRUMPFH/TTRWLSVST1) ALWQRYDFN(*YES) SETVAR((VAR1 100717))  
  
Ich übergebe den Wert 100717 als Variable VAR1 (VAR1 ist im Format string): 
SETVAR((VAR1 " & VAR1 & "))". 
  
CallCmd beinhaltet dann den obigen String (STRQMQRY...) 
  
Fehler hier: 
cnn.Execute("CALL QSYS.QCMDEXC('" & CallCmd & "', " & Format(Len(CallCmd), "0000000000.00000") & ")") 
 
[IBM][iSeries Access ODBC-Treiber][DB2 UDB]CPF0006 - Im Befehl ist ein Fehler aufgetreten. 
  
Die zweite Variable VAR1 scheint der ODBC-Treiber nicht übersetzen zu können. Wie ist denn da falsch? 
 
Danke. 
Gruss 
Tobias
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Hallo, 
  
der Befehl auf der AS400 funktioniert: 
  
Befehl eingeben und Eingabetaste drücken  
===> STRQMQRY QMQRY(TRUMPFH/TTRWLSVST1) OUTPUT(*OUTFILE) OUTFILE(TRUMPFH/TTRWLSVST1) ALWQRYDFN(*YES) SETVAR((VAR1 100717))  
  
Ich übergebe den Wert 100717 als Variable VAR1 (VAR1 ist im Format string): 
SETVAR((VAR1 " & VAR1 & "))". 
  
CallCmd beinhaltet dann den obigen String (STRQMQRY...) 
  
Fehler hier: 
cnn.Execute("CALL QSYS.QCMDEXC('" & CallCmd & "', " & Format(Len(CallCmd), "0000000000.00000") & ")") 
 
[IBM][iSeries Access ODBC-Treiber][DB2 UDB]CPF0006 - Im Befehl ist ein Fehler aufgetreten. 
  
Die zweite Variable VAR1 scheint der ODBC-Treiber nicht übersetzen zu können. Wie ist denn da falsch? 
 
Danke. 
Gruss 
Tobias
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Setz' mal Deinen Variablen-Wert in Hochkommata!  
 
Auch wenn Dir das nicht logisch scheint, da der Variablen-Wert numerisch ist. 
  
Aber beim Aufruf von QM-Queries müssen numerische Werte mit Hochkommata über geben werden und bei alphanumerischen Werten muss das ganze in weitere Hochkommata eingebettet werden. 
 
Birgitta
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Hallo, 
  
bringt bei einfachen und doppelten Hochkomma immer noch den selben Fehler CPF0006 (s.o.): 
  
CallCmd = "STRQMQRY QMQRY(TRUMPFH/TTRWLSVST1) OUTPUT(*OUTFILE) OUTFILE(TRUMPFH/TTRWLSVST1) ALWQRYDFN(*YES) SETVAR((VAR1 ''" & VAR1 & "''" & "))" 
  
cnn.Execute("CALL QSYS.QCMDEXC('" & CallCmd & "', " & Format(Len(CallCmd), "0000000000.00000") & ")") 
  
Gruss 
Tobias
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Und nochmal: 
Schau die den Inhalt deiner Variablen CallCmd mal an bevor du den Execute ausführst. 
Irgendwas machst du halt noch falsch.
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Hallo, 
  
die Variable CallCmd hat genau den String, den ich auf der AS400 ausführen möchte. Ich weiß bald nicht mehr, welche Variation ich noch probieren soll. 
  
Die Variable VAR1 übergibt einen Wert für ein Datumsfeld auf der AS400, welches das Format Decimal(6,0) fordert. 
  
Gruss 
Tobias
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					CPF0006 bedeutet, dass es wohl noch einen Syntaxfehler gibt. 
  
Beachte ggf. Klein/Großschreibung.
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Mal was ganz stumpfes, probiere mal ' als Hochkomma bzw '' als doppeltes. 
 
Gruß AS400.lehrling
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
					
				
		
			
				
					
	
		
			
			
				
					  Zitat von  padawan
					 
				 
				der Befehl auf der AS400 funktioniert: 
  
Befehl eingeben und Eingabetaste drücken  
===> STRQMQRY QMQRY(TRUMPFH/TTRWLSVST1) OUTPUT(*OUTFILE) OUTFILE(TRUMPFH/TTRWLSVST1) ALWQRYDFN(*YES) SETVAR((VAR1 100717)) 
			
		 
	 
 
Solange du nicht den kompletten Befehl (also mit dem CALL QCMD...) auf der Command-Line absetzt, werden wir den wahren Fehler nur erraten können. 
Speichere dir den kompletten Befehl  
"CALL QSYS.QCMDEXC('" & CallCmd & "', " & Format(Len(CallCmd), "0000000000.00000") & ")" 
in eine Variable, lies die mal aus und führe diesen Call 1:1 auf der Maschiene aus. Dann bekommst du im Joblog eventuell mehr Infos!
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
		 
		
		
	
 
	
	
 
	
	
	
	
	
	
		Similar Threads
		
			
			
- 
  
    
    
       By Asti in forum IBM i Hauptforum
     
   
  
    Antworten: 2
       
        Letzter Beitrag: 26-10-06, 10:39
       
   
 
- 
  
    
    
       By Asti in forum IBM i Hauptforum
     
   
  
    Antworten: 3
       
        Letzter Beitrag: 29-08-06, 14:24
       
   
 
- 
  
    
    
       By TARASIK in forum IBM i Hauptforum
     
   
  
    Antworten: 3
       
        Letzter Beitrag: 27-06-06, 14:32
       
   
 
- 
  
    
    
       By cseitz in forum IBM i Hauptforum
     
   
  
    Antworten: 0
       
        Letzter Beitrag: 20-06-06, 15:40
       
   
 
- 
  
    
    
       By woki in forum NEWSboard Java
     
   
  
    Antworten: 3
       
        Letzter Beitrag: 06-06-06, 16:57
       
   
 
			 
		 
	 
	
	
	
	
	
		
		
		
		
			
				 
				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