RPG (3 et 4, free), CL, SQL, etc...
			
		
		
			
				
																			
								N1kos 							 
									
		Messages :  34 Enregistré le :  ven. 08 févr. 2013,  09:41:45 
		
						
						
													
							
						
									
						Message 
					 
								par N1kos  ven. 29 nov. 2013,  17:00:15 
			
			
			
			
			Bonjour,
Je souhaite récupérer pour une valeur alpha une valeur numérique:
A => 10
B => 11
C => 12
ETC ...
Une solution simple est d'utiliser la table ASCII, ainsi la requête suivante me permet d'obtenir les valeurs directement:
Code : Tout sélectionner 
values CHAR(ASCII(UPPER('A')) - 55) ;
Le problème étant que si le résultat de la requête est bien "10" sur mon requêteur de mon System I Navigator il est de "138" dans un programme ou dans mon strsql 5250.
En effet le code retourné n'est pas le ASCII mais le EBCDIC.
http://www.xdocs400.com/spip.php?article180 
Mon problème est que la table correspondance EBCDIC n'est pas utilisable aussi facilement car de A à Z il ne s'agit pas d'une suite.
Je souhaiterais savoir si il est possible de forcer la récupération du ASCII et non EBCDIC dans la requête SQL de mon programme?
Merci d'avance
N1kos
						 
		 
				
		
		 
	 
	
		
		
			
				
																			
								cmasse 							 
						Site Admin 			
		Messages :  813 Enregistré le :  mer. 14 févr. 2007,  18:00:03Localisation :  Nantes
				Contact : 
				
			 
				
		 
		
						
						
													
							
						
									
						Message 
					 
								par cmasse  lun. 02 déc. 2013,  08:28:18 
			
			
			
			
			Je suis très surpris de ce que vous racontez la documentation dit :
The first character of the string will be converted to ASCII CCSID 367 for processing by the function.
Examples
De fait sur ma machine en V7, le code suivant
Retourne 65 dans une session 5250 (STRSQL)
Christian Massé (Volubis.fr)
						 
		 
				
		
		 
	 
	
		
		
			
				
																			
								N1kos 							 
									
		Messages :  34 Enregistré le :  ven. 08 févr. 2013,  09:41:45 
		
						
						
													
							
						
									
						Message 
					 
								par N1kos  lun. 02 déc. 2013,  08:53:23 
			
			
			
			
			Je suis également surpris, j'ai fait à l'instant un nouveau test.
retourne:
Code : Tout sélectionner 
 ....+....1....                      
 ASCII ( 'A' )                       
           193                       
 ********  Fin de données  ********  
Je pense faire appel au point service IBM.
Merci de votre retour.
N1kos
						 
		 
				
		
		 
	 
	
		
		
			
				
																			
								cmasse 							 
						Site Admin 			
		Messages :  813 Enregistré le :  mer. 14 févr. 2007,  18:00:03Localisation :  Nantes
				Contact : 
				
			 
				
		 
		
						
						
													
							
						
									
						Message 
					 
								par cmasse  lun. 02 déc. 2013,  08:58:50 
			
			
			
			
			Ne seriez vous pas en CCSID 65535, ce qui empêcherait toute forme de conversion ?
			
			
			
									
									Christian Massé (Volubis.fr)
						 
		 
				
		
		 
	 
	
		
		
			
				
																			
								N1kos 							 
									
		Messages :  34 Enregistré le :  ven. 08 févr. 2013,  09:41:45 
		
						
						
													
							
						
									
						Message 
					 
								par N1kos  lun. 02 déc. 2013,  09:14:49 
			
			
			
			
			En effet,
			
			
			
									
									N1kos
						 
		 
				
		
		 
	 
	
		
		
			
				
																			
								cmasse 							 
						Site Admin 			
		Messages :  813 Enregistré le :  mer. 14 févr. 2007,  18:00:03Localisation :  Nantes
				Contact : 
				
			 
				
		 
		
						
						
													
							
						
									
						Message 
					 
								par cmasse  lun. 02 déc. 2013,  10:22:11 
			
			
			
			
			OUi, la commande CHGJOB modifiant le JOB jusqu'à avis contraire, l'utilisation de QCMDEXC va modfier le CCSID.
			
			
			
									
									Christian Massé (Volubis.fr)
						 
		 
				
		
		 
	 
	
		
		
			
				
																			
								N1kos 							 
									
		Messages :  34 Enregistré le :  ven. 08 févr. 2013,  09:41:45 
		
						
						
													
							
						
									
						Message 
					 
								par N1kos  lun. 02 déc. 2013,  10:57:53 
			
			
			
			
			Merci beaucoup pour votre retour.
			
			
			
									
									N1kos