Partager via


RFC personnalisés utilisés par le fournisseur dans SAP

Le fournisseur de données pour SAP fournit les RFC personnalisés suivants qu’il utilise en interne pour effectuer des opérations sur le système SAP.

  • Z_EXTRACT_DATA_OO RFC. La RFC d’extraction de données, Z_EXTRACT_DATA_OO, extrait les données de tables ou de vues dans le système SAP R/3, convertit les données et retourne les données de manière synchrone dans une table SQL Server ou vide les données dans un fichier plat. Le Z_EXTRACT_DATA_OO est utilisé pour effectuer une opération SELECT avec des clauses WHERE. Les performances de cette RFC dépendent de votre matériel système SAP.

    Pour plus d’informations sur la façon dont les types de données .NET et SAP sont mappés pour Z_EXTRACT_DATA_OO RFC, consultez Mappage des types de données pour les RFC personnalisés.

  • Z_EXECUTE_SAP_QUERY RFC. Cette RFC est utilisée par le fournisseur de données pour SAP afin d’exécuter des requêtes déjà définies dans le système SAP. Cette RFC exécute en interne la RFC SAP, RSAQ_REMOTE_QUERY_CALL. Les requêtes SAP sont des requêtes créées graphiquement à l’aide de l’interface utilisateur graphique SAP en sélectionnant les tables, les colonnes, les paramètres d’entrée, l’ordre de tri du jeu de résultats, etc. À l’aide du fournisseur de données pour SAP, vous pouvez désormais exécuter ces requêtes SAP à partir d’un client ADO.NET.

    Toutes les valeurs retournées par l’opération EXECQUERY sont de type chaîne.

  • La Z_EXTRACT_DATA_OO RFC prend en charge la lecture de données à partir de tables qui remplissent les conditions suivantes :

    • TabClass pour la table est TRANSP, CUSTER ou POOL.

    • TabClass est VIEW et ViewClass est D ou P.

  • Z_EXTRACT_DATA_OO ne prend pas en charge les tables de cluster RH, par exemple PCL1, PCL2, PCL3, PCL4, PCL5.

  • Le nombre de lignes pouvant être extraites par Z_EXTRACT_DATA_OO dépend des ressources matérielles sur le serveur SAP.

  • Toutes les données extraites sont retournées dans l’ordre des clés primaires.

  • Les tables ou les vues contenant les types de données de longueur variable STRING, SSTRING et RAWSTRING ne sont pas prises en charge. Les tables ou les vues contenant ces types de données ne peuvent pas être extraites.

  • Z_EXTRACT_DATA_OO exécute des sorties de conversion sur tous les champs auxquels des sorties de conversion sont affectées. Les valeurs converties résultantes doivent être entrées dans la clause WHERE d’une instruction SELECT. Les valeurs converties sont également retournées. Cela peut entraîner des incohérences entre les résultats retournés par Z_EXTRACT_DATA_OO et les résultats retournés dans l’explorateur de données SAP (SE16).

  • Les tables sélectionnées ne peuvent pas contenir de noms de champs qui sont des noms réservés dans ABAP (par exemple, CONNECTION).

  • En raison d’une limitation du processeur de requêtes dans SAP R/3 version 4.6C, les valeurs des champs entiers de type INT4 doivent être supérieures ou égales à -999999999 dans la clause WHERE. Les lignes dont les valeurs INT4 sont inférieures à -999999999 ne sont pas extraites, que le champ contenant la valeur soit sélectionné ou non.

  • Les valeurs de tous les types de données d’une clause WHERE sont limitées à 256 caractères lors de l’exécution sur le système SAP version 4.7 ou ultérieure ; la limite est de 70 caractères dans la version 4.6c. Pour les valeurs de type de données RAW, ces limites sont réduites de moitié à 128 et 35 caractères, respectivement. Il n’existe aucune limite sur la longueur des types de données RAW et LCHR lorsqu’ils sont retournés en tant que résultat.

  • Dans SAP R/3 version 4.6C, les champs de la clause WHERE sont limités à 70 caractères.

  • Dans SAP R/3 version 4.6C, toute table avec un champ de clé primaire dont la longueur de sortie est supérieure à 70 caractères ne peut pas être extraite.

  • Dans SAP R/3, version 4.6c, les tables et les vues qui contiennent des types de données de longueur variable (VARC) ne sont pas prises en charge, et les tables et les vues contenant ces types de données ne peuvent pas être extraites de la source de données à l’aide de l’appel de fonction Z_EXTRACT_DATA_OO.

  • En mode fichier, l’appel de fonction Z_EXTRACT_DATA_OO ne case activée pas si un fichier de destination est déjà ouvert, seul ou par une autre application. Par conséquent, la fonction peut écrire incorrectement dans un fichier ouvert tout en ajoutant simultanément des données au même fichier. Aucune erreur n’est générée.

  • En mode fichier, l’appel de fonction Z_EXTRACT_DATA_OO peut remplacer les fichiers existants. Assurez-vous que les utilisateurs SAP qui utilisent Z_EXTRACT_DATA_OO disposent d’un accès restreint au système de fichiers par S_DATASET.

Considérations relatives à la sécurité avec la RFC personnalisée

  • Security Issue: il est possible d’exposer des données écrites dans des fichiers plats si vous ne contribuez pas à protéger ces fichiers.

    Best practice: améliorez la sécurité du partage de fichiers dans lequel les données sont écrites par l’appel de fonction Z_EXTRACT_DATA_OO en mode fichier plat.

  • Security Issue: il est possible de remplacer des fichiers sur n’importe quel partage dans lequel est écrit à l’aide de l’appel de fonction Z_EXTRACT_DATA_OO en mode fichier. Cela peut se produire pour n’importe quel fichier sur n’importe quel partage auquel le compte de domaine SAP a accès.

    Best practice: s’efforcer de protéger tous les partages auxquels le compte de domaine SAP a accès.

  • Security Issue: les utilisateurs ont la possibilité d’inspecter (ou de « renifler ») les données lors de la transmission d’un serveur d’applications SAP vers son partage de fichiers cible, dans les cas où la cible se trouve sur une autre machine physique.

    Best practice: utilisez IPsec ou une autre méthode appropriée pour rendre la communication plus sécurisée entre le serveur SAP et ses cibles.

Voir aussi

À propos du fournisseur de données .NET Framework pour mySAP Business Suite