- 
	
	
		
		
		
				
					
					
				
				
		
			
				
					Muss ich Dir wieder einmal vollkommen Recht geben. Bei uns scheitert es am nicht ausgeben wollenden Geld und aber vor allem an der Manpower(1,5 Pgmer). Was passiert wenn man Fremde ans Werk lässt, die keinen blassen Schimmer von der Anwendung haben und kaum Ahnung von AS/400 hat die Firma in den Jahren 2007 und 2008 bei der Umstellung von DKS auf SAP gesehen. Keinen Bedarf das nochmal zu erleben. Und zu diesem Zeipunkt waren wir noch 7 interne Programmierer.
				 
			 
			
		 
			
				
			
				
			
			
				Andreas 
Ein AS/400 Dinosaurier since 1989  
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					DKS - da dürften inzwischen wohl die pgmer aussterben die das noch aktuell halten, bzw in der Lage sind notwendige Neuerungen Einzupflegen. 
 
 
Gruß Lehrling
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Hallo, 
an Hand Deiner Anleitung wollte ich die Konvertierung von Dezimal nach Hex in SQL erledigen. 
Leider läuft das Teil auf Fehler und ich weis nicht warum 
 
5722ST1 V5R4M0 060210          SQL-COBOL-Programm erstellen        DOSBANK                     25.12.14 12:10:54         Seite   2  
Satz    *...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8   FLGNR. Letzte Änderung                   
   55              EXEC SQL SET : SQL-WERT-X = CAST(HEX(WERT9) AS CHAR(4))                         
DIAGNOSENACHRICHTEN                                                                    
SQL0104  30      55  Position 49 Token WERT9 ungültig. Gültige Token: :.                                                            
 
Für Hinweise dankbar. 
 
GG
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					WERT9 ist vermutlich eine Host-Variable (innerhalb des Souce Codes definiert) und muss deshalb mit einem führenden Doppelpunkt angegeben werden. 
 
Birgitta
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					gelöscht, da doppelt gepostet 
 
Birgitta
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Danke Dir für den Hinweis, werde ich morgen ausprobieren, lasse gerade ein rclstg auf der Kiste laufen. 
Ich befürchte das ich morgen wieder in die Firma fahren muß da er nach dem rclstg ja wohl kein Subsystem startet um aus der Frene zuzugreifen. 
 
GG
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Hallo, 
manchmal ist es zum Mäusemelken... BTW, war heute in der Firma um die AS/400 nach dem rclstg neu zu starten und habe festgestellt das mein Weihnachtsmann von einer Maus angeknabbert wurde...... Danke. 
 
Aber zum Thema. 
 
Folgende Deklaration habe ich: 
 EXEC SQL BEGIN DECLARE SECTION END-EXEC. 
01  SQL-WERT-9     PIC 9(04).              
01  SQL-WERT-X    PIC X(04).              
 EXEC SQL END DECLARE SECTION END-EXEC.   
 
Und folgenden Code will ich benutzen: 
 
ST-04.                                                        
    MOVE WERT-9 TO SQL-WERT-9.                                    
    EXEC SQL SET :SQL-WERT-X = CAST(HEX(:SQL-WERT-9) AS CHAR(04)) 
    END-EXEC.                                                 
      GO TO ST-88.                                            
 
Und die Fehlermeldung lautet: 
   49              EXEC SQL SET :SQL-WERT-X = CAST(HEX(:SQL-WERT-9)           
5722ST1 V5R4M0 060210          SQL-COBOL-Programm erstellen        DOSBANK    
                                             DIAGNOSENACHRICHTEN              
MSG ID  WTK  SATZ  TEXT                                                       
SQL0312  30      49  Position 49 Variable SQL-WERT-9 nicht definiert oder     
                     nicht verwendbar.                                        
 
Für Hinweise dankbar. 
 
GG
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Tja, die allwissende Müllhalde hat ab und zu auch antworten parat.  
 
Es muss wie folgt definiert werden:  
01  SQL-WERT-9    PIC S9(07) COMP-3.  
 
Dann klappt es auch. 
 
GG
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
		
			
				
					Hier sind verschiedene Sachen vermischt. 
PIC 9(04) kann nicht verwendet werden, da SQL aus irgendwelchen Gründen kein Unsigned mag. 
PIC S9(04) währe gegangen. 
Allerding liefert die Funktion HEX eine Zeichenkette doppelter Länge! 
Ein CAST(... char(4)) führt zum Abschneiden, was ohne NULL-Anzeiger zu einem negativen SQL-Code führt. Mit Nullanzeiger entspricht dies eher einem LEFT(HEX(...), 4). 
Ob du das gewollt hast? 
 
Und das Ergebnis von HEX(: SQL-WERT-9) ist nun auch 8 Bytes lang .
				 
			 
			
		 
			
				
			
			
				
			
			
		 
	 
	
	 
 
- 
	
	
		
		
		
				
				
					
				
		
			
				
					Nein, gewollt habe ich es nicht, wie aber immer an Weihnachten bekommt man auch Dinge die man nicht will ;-) 
 
Habe nun substr benutzt und schlußendlich nach dem Motto: Du wiilst es, Du kriegst es doch meinen Wert bekommen... 
 
GG
				 
			 
			
		 
			
				
			
			
			
		 
	 
	
	 
 
		 
		
		
	
 
	
	
 
	
	
	
	
	
	
		Similar Threads
		
			
			
- 
  
    
    
       By tarkusch in forum NEWSboard Programmierung
     
   
  
    Antworten: 7
       
        Letzter Beitrag: 29-06-14, 16:12
       
   
 
- 
  
    
    
       By tarkusch in forum NEWSboard Programmierung
     
   
  
    Antworten: 5
       
        Letzter Beitrag: 02-06-14, 10:45
       
   
 
- 
  
    
    
       By Ludger Muhmann in forum IBM i Hauptforum
     
   
  
    Antworten: 3
       
        Letzter Beitrag: 30-07-02, 10:49
       
   
 
- 
  
    
    
       By Joshua in forum IBM i Hauptforum
     
   
  
    Antworten: 5
       
        Letzter Beitrag: 11-04-02, 10:42
       
   
 
- 
  
    
    
       By Stefan_R in forum IBM i Hauptforum
     
   
  
    Antworten: 0
       
        Letzter Beitrag: 12-10-01, 10:47
       
   
 
			 
		 
	 
	
	
	
	
	
		
		
		
		
			
				 
				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