Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > ERP > SAP
SAP Forum d'entraide sur SAP et sur la programmation avec le langage ABAP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/06/2006, 10h34   #1
Invité de passage
 
Inscription : février 2005
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 14
Points : 2
Points : 2
Par défaut [ABAP] Unicode et abap

Salut
je travaille en ce moment sur le langage abap et je voudrais en fait récupérer les caractères d'une table et, si on a affaire à un caractère étranger, renvoyer sa valeur unicode.
J'ai essayé de voir s'il existait des fonctions prédéfinies sous sap mais je n'ai rien trouvé.
Ca ne m'interesse pas non plus de travailler caractère par caractère (trop long).
Merci pour vos réponses
corbier32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 08h53   #2
Rédacteur
 
Avatar de pcaboche
 
Homme Pierre Caboche
Inscription : octobre 2005
Messages : 2 197
Détails du profil
Informations personnelles :
Nom : Homme Pierre Caboche
Âge : 32
Localisation : Singapour

Informations forums :
Inscription : octobre 2005
Messages : 2 197
Points : 4 721
Points : 4 721
A voir le titre du ton sujet, pas besoin de demander pour quelle SSII tu travailles... Lapsus révélateur?
pcaboche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 15h33   #3
Invité de passage
 
Inscription : février 2005
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 14
Points : 2
Points : 2
Le pire c'est que c'est meme pas pour eux que je travaille
corbier32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 18h30   #4
Membre expérimenté

 
SAP for Banking
Inscription : juin 2002
Messages : 539
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : SAP for Banking
Secteur : Conseil

Informations forums :
Inscription : juin 2002
Messages : 539
Points : 566
Points : 566
Bonjour,

J'imagine que ta question est liee a un transfert de donnees d'une stack ABAP (unicode) vers un systeme tiers non-unicode. Ne travaillant pas a ce niveau de programmation, je ne peux pas vraiment repondre a ta question mais te suggerait peut-etre de serialiser l'unicode en XML UTF-8 + Binary Code.

Pour se faire, il suffit d'utiliser un CALL TRANSFORMATION avec XSTRING en tant que cible.

Ludovic
__________________
TRY.
N/A
CATCH cx_root.
ludovic.fernandez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2006, 14h19   #5
Invité de passage
 
Inscription : février 2005
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 14
Points : 2
Points : 2
en fait le but est d ecrire le contenu de certaines tables dans un fichier xml;
Pour ce qui est des caracteres courant ca marche bien mais pour les caracteres etrangers je voudrais remplacer ces caracteres par leur valeur unicode
par exemple si le document xml contient la lettre arabe ر je voudrais remplacer par ر
J ai pas non plus envie de realiser cette substitution caractere par caractere (trop long)
Sinon quand tu parles de stack je saisis pas trop a quoi tu fait reference; aux tables?
corbier32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2006, 11h32   #6
Membre expérimenté

 
SAP for Banking
Inscription : juin 2002
Messages : 539
Détails du profil
Informations personnelles :
Âge : 35
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : SAP for Banking
Secteur : Conseil

Informations forums :
Inscription : juin 2002
Messages : 539
Points : 566
Points : 566
Bonjour,

Et ceci ne marche pas directement ?
J'appelle stack, l'environnement ABAP (WebAS - R/3 etc.)
Code :
1
2
3
4
5
6
7

* UNICODE ENABLING 'X'. "Optionnel puisque defini par defaut

CALL TRANSFORMATION id
      SOURCE {arg1} = {value1}
      RESULT XML {xml_value}.
Ludovic
__________________
TRY.
N/A
CATCH cx_root.
ludovic.fernandez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 11h27   #7
Invité de passage
 
Inscription : février 2005
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 14
Points : 2
Points : 2
Salut
ce que je comprend pas en fait c'est qu'est ce que je pourrais mettre au niveau de la source; comme valeur pour chaque argument qui pourrait me renvoyer la valeur unicode.
Ou bien c'est peut etre moi qui ait mal saisie je doit avouer que malgres la doc cette fonction reste assez trouble pour moi quand meme
corbier32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2006, 15h13   #8
Invité de passage
 
Inscription : février 2005
Messages : 14
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 14
Points : 2
Points : 2
En fait ca y est j'ai tésté avec ta methode mais ca donne rien
je me retrouve toujours avec le meme caractere etranger et pas sa valeur unicode
corbier32 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2006, 13h53   #9
Candidat au titre de Membre du Club
 
Homme Sébastien Ferry
Consultant ERP
Inscription : décembre 2006
Messages : 6
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Ferry
Localisation : Chine

Informations professionnelles :
Activité : Consultant ERP
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 6
Points : 13
Points : 13
Avec SAP version 4.6C je n'ai pas accès à CALL TRANSFORMATION,
alors j'utilise TRANSLATE.

translate variable_chaine
* from code page '1100' " SAP internal / ISO8859-1
to code page '4110' " <=> UTF-8


Voici un exemple réel:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
*----------------------------------------------------------------------*
* translate_to_utf8                                                    *
*----------------------------------------------------------------------*
* Conversion d'un texte en jeu de caractères UTF-8                     *
* (depuis le jeu de caractères courant/interne?)                       *
*----------------------------------------------------------------------*
form     translate_to_utf8
using    value(p_text_in)
changing p_text_out.

  data l_chaine type string.

  l_chaine = p_text_in.

  translate l_chaine
* from code page '1100' " SAP internal / ISO8859-1
  to code page '4110' " UTF-8 (voir transaction SPAD, tables TCP*)
  .

  p_text_out = l_chaine.

endform.
sebastien_ferry est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2007, 12h51   #10
mav
Invité régulier
 
Inscription : juillet 2002
Messages : 9
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 9
Points : 9
Points : 9
Envoyer un message via ICQ à mav
Salut,

Utilise le module fonction 'SCP_TRANSLATE_CHARS'
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        CALL FUNCTION 'SCP_TRANSLATE_CHARS'                     
          EXPORTING                                             
            inbuff           = w_xstr_html                      
*           inbufflg         = l_xlength                        
            incode           = '4110'          " 'utf-8'        
            outcode          = '1100'          " 'iso-8859-1'   
            substc_space     = 'X'                              
            substc           = '00035'                          
          IMPORTING                                             
            outbuff          = w_str_html                       
            outused          = w_str_html_len                   
          EXCEPTIONS                                            
            invalid_codepage = 1                                
            internal_error   = 2                                
            cannot_convert   = 3                                
            fields_bad_type  = 4
            OTHERS = 5.
mav est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h05.


 
 
 
 
Partenaires

Hébergement Web