Partager via


Types de données SAP de base

Les types de paramètres pris en charge par l’adaptateur Microsoft BizTalk pour mySAP Business Suite sont régis par :

  • Types de données ABAP pris en charge par SAP

  • Types de données de base de données pris en charge par SAP

    Cette section présente un mappage entre les types de données ABAP et de base de données, et leurs types de schémas .NET et XML correspondants.

Notes

Les informations contenues dans cette section s’appliquent aux RFC, tRFC et BAPI. Les types de données SAP sont toujours représentés sous forme de chaînes (xsd :string) dans les AIDO. Il s’agit de prendre en charge l’analyseur de fichiers plats BizTalk Server.

Types de données ABAP pris en charge

L’adaptateur Microsoft BizTalk pour mySAP Business Suite prend en charge la saisie sécurisée pour certains types de données ABAP. Lorsque la saisie sécurisée est activée, ces types de données sont représentés sous forme de chaînes. Vous configurez la saisie sécurisée en définissant la propriété de liaison EnableSafeTyping . La saisie sécurisée est désactivée par défaut. Pour plus d’informations sur les propriétés de liaison de l’adaptateur SAP, consultez En savoir plus sur les propriétés de liaison de l’adaptateur BizTalk pour mySAP Business Suite.

Le tableau suivant montre comment les types de données ABAP sont exposés lorsque la saisie sécurisée n’est pas activée. (EnableSafeTyping a la valeur false). Les types de données exposés différemment lorsque la saisie sécurisée est activée sont marqués d’un astérisque (*).

Type de données ABAP RFC Type Type XSD Type .NET Chaîne de format
I (entier) RFC_INT xsd:int Int32 -
Interne (RFC_INT1) RFC_INT1 xsd:unsignedByte Byte -
Interne (RFC_INT2) RFC_INT2 xsd:short Int16 -
F (Float) RFC_FLOAT xsd:double Double -
P (numéro BCD) RFC_BCD xsd :decimal si length <= 28
xsd :string si longueur > 28
Decimal
String
Nombre décimal. avec 0 décimale
Nombre décimal. avec >0 décimale
C (caractère) RFC_CHAR xsd:string String -
D (Date : AAAAMMJJ)* RFC_DATE xsd:dateTime DateTime En interne, l’adaptateur désérialise la valeur dans un objet DateTime . Il appelle ensuite la méthode DateTime.ToUniversalTime pour convertir la valeur de cet objet en UTC. Enfin, le composant date (DateTime.Date) est utilisé pour créer la valeur envoyée au système SAP. Le système SAP traite cette valeur de date comme une heure locale.

Vous devez spécifier des valeurs de date utc pour éviter la conversion.

- Pour xsd :dateTime, le modèle suivant est recommandé : « (\d\d\d\d-\d\d\d\d)T(00 :00 :00)(.*)Z ».
- Pour les objets DateTime , définissez DateTime.Kind sur DateTimeKind.Utc.
T (Heure : HHMMSS)* RFC_TIME xsd:dateTime DateTime En interne, l’adaptateur désérialise la valeur dans un objet DateTime . Il appelle ensuite la méthode DateTime.ToUniversalTime pour convertir la valeur de cet objet en UTC. Enfin, le composant d’heure (DateTime.Time) est utilisé pour créer la valeur envoyée au système SAP. Le système SAP traite cette valeur de temps comme une heure locale.

Vous devez spécifier des valeurs d’heure utc pour éviter la conversion.

- Pour xsd :dateTime, le modèle suivant est recommandé : « (0001-01-01)T(\d\d :\d :\d :\d\d)(.*) ».
- Pour les objets DateTime , définissez DateTime.Kind sur DateTimeKind.Utc.

Par exemple, si votre heure locale est 9 :15, exprimez ceci comme suit : « (001-01-01)T(09 :15 :00)Z »
N (chaîne numérique)* RFC_NUM xsd :int if lenrth <= 9
xsd :long si longueur > 9 et <= 19
xsd :string si longueur > 19
Int32
long
String
-
X (octet) RFC_BYTE xsd:base64Binary Byte[] -
STRING RFC_STRING xsd:string String -
XSTRING RFC_BYTE xsd:base64Binary Byte[] -

*Indique que le type de données est exposé différemment lorsque la saisie sécurisée est activée.

Saisie sécurisée activée

Le tableau suivant montre les types de données ABAP qui sont exposés différemment lorsque la saisie sécurisée est activée (la propriété de liaison EnableSafeTyping a la valeur true).

Type de données ABAP RFC Type Type XSD Type .NET Chaîne de format
D (Date : AAAAMMJJ) RFC_DATE xsd:string String Format de date SAP : AAAAMMJJ.

Les caractères étant autorisés pour les chiffres de date, la valeur est essentiellement une chaîne de huit caractères
T (Heure : HHMMSS) RFC_TIME xsd:string String Format d’heure SAP : HHMMSS.

Les caractères étant autorisés pour les chiffres temporels, la valeur est essentiellement une chaîne de six caractères.
N (chaîne numérique) RFC_NUM xsd:string String Chaîne de n caractères ; où n = longueur du champ numc.

Les types de données ABAP qui ne figurent pas dans cette table sont exposés de la même façon que lorsque la saisie sécurisée n’est pas activée.

Prise en charge des champs de date et d’heure

Lorsque la saisie sécurisée n’est pas activée, les types ABAP Date (D) et Heure (T) sont exposés sous la forme xsd :dateTime ; Toutefois, la facette de motif exposée pour les types Date et Heure est différente.

  • La facette de modèle pour Date est la suivante : (\d\d\d\d-\d\d-\d\d)T(00:00:00)(.*)

    Par exemple, le 7 juillet 2007 (2007-07-07) est représenté comme suit :

    (2007-07-07)T(00:00:00).

  • La facette de modèle pour Time est la suivante : (0001-01-01)T(\d\d:\d\d:\d\d)(.*)

    Par exemple, 18 :30 :30 (18 :30 et 30 secondes) est représenté comme suit :

    (0001-01-01)T(18:30:30).

Comment l’adaptateur représente-t-il les valeurs de temps minimales et maximales sur les messages entrants (provenant de SAP) ?

L’adaptateur SAP utilise les instructions suivantes lorsqu’il reçoit des valeurs de temps du système SAP :

  • L’adaptateur traite 000000 (hhmmss) et 240000 (hhmmss) comme 0 heure, 0 min et 0 seconde.

Types de données de base de données pris en charge

La façon dont l’adaptateur Microsoft BizTalk pour mySAP Business Suite expose les types de données de base de données varie également selon que la saisie sécurisée est activée ou non. Le tableau suivant montre comment l’adaptateur expose les types de données de base de données lorsque la saisie sécurisée n’est pas activée (la propriété de liaison EnableSafeTyping a la valeur false). Les types de données exposés différemment lorsque la saisie sécurisée est activée sont marqués d’un astérisque (*).

Type de données de base de données RFC Type XSD Type .NET
ACCP (période d’affichage)* RFC_NUM xsd:int Int32
CHAR RFC_CHAR xsd:string String
CLNT (client) RFC_CHAR xsd:string String
CURR (champ Devise) RFC_BCD xsd :decimal Remarque : l’adaptateur SAP arrondit les valeurs décimales en fonction de la définition du paramètre DECIMAL. Par exemple, si un paramètre DECIMAL peut accepter jusqu’à cinq chiffres après la virgule décimale, une valeur telle que 4,000028 est arrondie à 4,00003. Decimal
CUKY (Clé monétaire) RFC_CHAR xsd:string String
DATS (champ Date)* RFC_DATE xsd:dateTime

En interne, l’adaptateur désérialise la valeur dans un objet DateTime . Il appelle ensuite la méthode DateTime.ToUniversalTime pour convertir la valeur de cet objet en UTC. Enfin, le composant date (DateTime.Date) est utilisé pour créer la valeur envoyée au système SAP. Le système SAP traite cette valeur de date comme une heure locale.

Vous devez spécifier des valeurs de date utc pour éviter la conversion. Le modèle suivant est recommandé : « (\d\d\d\d-\d\d-\d\d)T(00 :00 :00)(.*)Z ».
DateTime

Vous devez spécifier des valeurs de date utc (DateTime.Kind = DateTimeKind.Utc) pour éviter la conversion.
DEC (Amount) RFC_BCD xsd :decimal Remarque : l’adaptateur SAP arrondit les valeurs décimales en fonction de la définition du paramètre DECIMAL. Par exemple, si un paramètre DECIMAL peut accepter jusqu’à cinq chiffres après la virgule décimale, une valeur telle que 4,000028 est arrondie à 4,00003. Decimal
FLTP (virgule flottante) RFC_FLOAT xsd:double Double
INT1 RFC_INT1 xsd :unsignedbyte Byte
INT2 RFC_INT2 xsd:short Int16
INT4 RFC_INT xsd:int Int32
LANG (Language Key) RFC_CHAR xsd:string String
LCHR RFC_STRING xsd:string String
LRAW (long byte seq) RFC_BYTE xsd :base64binary Byte[]
NUMC* RFC_NUM xsd:int
xsd:long
xsd:string
Int32 if length <=9
Int64 si longueur >9 et <=19
Chaîne si longueur > 19
PREC (Précision) RFC_INT2 xsd:short Int16
QUAN (Quantity) RFC_BCD xsd :decimal Remarque : l’adaptateur SAP arrondit les valeurs décimales en fonction de la définition du paramètre DECIMAL. Par exemple, si un paramètre DECIMAL peut accepter jusqu’à cinq chiffres après la virgule décimale, une valeur telle que 4.000028 est arrondie à 4.00003. Decimal
RAW (séquence d’octets) RFC_BYTE xsd :base64binary Byte[]
RAWSTRING (longueur variable) RFC_BYTE xsd :base64binary Byte[]
STRING (longueur variable) RFC_STRING xsd:string String
TIMS (Champ d’heure)* RFC_TIME xsd:datetime

En interne, l’adaptateur désérialise la valeur dans un objet DateTime . Il appelle ensuite la méthode DateTime.ToUniversalTime pour convertir la valeur de cet objet en UTC. Enfin, le composant d’heure (DateTime.Time) est utilisé pour créer la valeur envoyée au système SAP. Le système SAP traite cette valeur de temps comme une heure locale.

Vous devez spécifier des valeurs d’heure utc pour éviter la conversion. Le modèle suivant est recommandé : « (0001-01-01)T(\d\d :\d\d :\d\d)(.*)Z ».

Par exemple, si votre heure locale est 9 :15, exprimez ceci comme « (001-01-01)T(09 :15 :00)Z »
DateTime

Vous devez spécifier des valeurs d’heure UTC (DateTime.Kind = DateTimeKind.Utc) pour éviter la conversion.
UNIT (Unité pour Qty) RFC_CHAR xsd:string String
[Non pris en charge] -- -- String

*Indique que l’adaptateur présente le type de données différemment lorsque la saisie sécurisée est activée.

Saisie sécurisée activée

Le tableau suivant montre les types de données de base de données qui sont exposés différemment lorsque la saisie sécurisée est activée (la propriété de liaison EnableSafeTyping est true).

Type de données de base de données RFC Type XSD Type .NET Format de valeur de chaîne
ACCP (période de publication) RFC_NUM xsd:string String Chaîne de caractères
NUMC RFC_NUM xsd:string String Chaîne de caractères
DATS (champ Date) RFC_DATE xsd:string String AAAAMMJJ
TIMS (champ d’heure) RFC_TIME xsd:string String HHMMSS

Les types de données qui ne figurent pas dans cette table sont exposés de la même manière que lorsque la saisie sécurisée n’est pas activée.

Facettes XSD prises en charge

L’adaptateur SAP prend en charge les facettes XSD suivantes.

RFC Type Facette XSD (EnableSafeTyping = false) Facette XSD (EnableSafeTyping = true)
RFC_BCD Facette de modèle XSD

Zéro décimale :"([\\-]{0,1})(([0-9]{1,"+ digitsBeforeDecimal +"}))"

Une ou plusieurs décimales :"([\\-]{0,1})(([0-9]{0," + digitsBeforeDecimal +``"}\\.[0-9]{0,"``+ digitsAfterDecimal +``"})&#124;([0-9]{1,"``+ digitsBeforeDecimal +``"}))"
identique
RFC_NUM Facette XSD totalDigits si longueur <=19

Facette de modèle XSD si longueur > 19
Facette XSD maxLength (dépend de la longueur de la valeur sur SAP)
RFC_DATE Facette de modèle XSD

"(\d\d\d\d-\d\d-\d\d)T(00:00:00)(.*)"

Le modèle contient l’heure 00 :00 :00 pour être compatible avec xsd:datetime
Facette XSD maxLength = 8
RFC_TIME Facette de modèle XSD

"(0001-01-01)T(\d\d:\d\d:\d\d)(.*)"

Le modèle contient la date 0001-01-01 pour être compatible avec xsd:datetime
Facette XSD maxLength = 6
RFC_CHAR Facette maxLength XSD identique

Types de données non pris en charge

L’adaptateur SAP ne prend pas en charge le type de données suivant :

  • Types de table ITAB II (hiérarchique)