2009-12-02 7 views
3

Nous envisageons actuellement de communiquer avec un partenaire exécutant SAP. Le problème est que notre ERP ne permet pas de communiquer avec SAP et nous devons extraire nous-mêmes les informations nécessaires des fichiers IDOC.Analyse des fichiers SAP IDOC

Y at-il un moyen facile de faire cela dans .NET? Comme une bibliothèque (gratuite/commerciale) qui fait tout le travail de grognement?

Je cherche juste quelque chose comme 'IDocLibrary.Parse (fichier)' et il me renverra une collection d'objets qui se traduiront directement aux commandes etc. dans le fichier IDOC. J'ai lu sur un certain type de SAP .NET Connector. Est-ce capable de faire ce que je veux faire?

modifier:

connecteur SAP .NET est aucune option il semble. Selon http://www.dataxstream.com/2009/07/introduction-to-the-sap-net-connector/

En particulier, il n'y a pas de fonctionnalité intégrée à SAP .Net Connector pour analyser les différentes données champs d'un IDOC. C'est au programme de réception de savoir quel est le format de l'IDOC et comment d'extraire les données de l'IDOC.

+0

Sera-ce une conversion ponctuelle ou une communication régulière? Quelle influence avez-vous sur le format du message? Il existe un moyen d'envoyer les IDocs dans un format XML via http qui peut être plus facile à gérer dans .NET. – Thorsten

+0

Bonjour, Pouvez-vous me diriger vers une référence sur "l'envoi des IDocs au format XML"? J'en ai trouvé un mais je ne suis pas sûr que im se référant à la source correcte ... merci bb – Illuminati

+0

Eh bien, j'ai eu la documentation de notre partenaire qui a décrit quelles lignes contiennent quelles informations, puis manuellement fait le mapping. Pas facile mais ça a marché. Je ne peux pas vous donner le code désolé :) J'ai basé le mappage sur un fichier qui a été généré par SAP pour autant que je sache. Mais il existe des entreprises comme babelway.com qui peuvent faire la traduction pour vous. Tout ce que vous avez à faire est de cartographier les valeurs dans un format que vous comprenez. Mais nous étions trop loin dans le processus pour passer à cela. Peut-être pour une future version :) – SpoBo

Répondre

2

Il est une bibliothèque C++ de SAP qui gère IDocs, mais il est assez vieux: Here's a PDF describing it. Je ne sais pas si vous pouvez toujours obtenir le logiciel et si cela va vous aider aujourd'hui.

La plupart des bibliothèques les plus récentes semblent être développées pour Java (un exemple peut être trouvé here) .. Je suppose que cela ne vous aidera pas beaucoup si vous cherchez une solution .Net. Cependant, comme je l'ai suggéré dans mon commentaire à votre question, vous pouvez obtenir l'infrastructure XI (Intégration Exchange)/PI (Intégration de processus) (basée sur Java) pour envoyer les IDocs dans un fichier XML. format. Cela devrait être beaucoup plus facile à gérer que le "texte brut" ...

+0

comme quelque chose que je pourrais vraiment utiliser Dommage que nous n'ayons pas encore de compte SAP Je pourrais utiliser quelque chose comme http://www.devx.com/interop/Article/19945 pour appeler le Java à partir de .NET je suppose – SpoBo

+0

Vous pouvez obtenir un système d'essai SAP pour essayer quelques éléments. 'J'ai un petit système fonctionnant dans une machine virtuelle sur mon ordinateur portable .. aide à être capable de jouer un peu! – Thorsten

2

Je suggère d'essayer le site Web de SAP, SAP .NET Connector:

Le connecteur SAP .NET est un environnement de développement qui permet la communication entre Microsoft. Plate-forme NET et systèmes SAP. Ce connecteur prend en charge RFCs et services Web , et vous permet d'écrire différentes applications telles que la forme Web , sous forme Windows ou console applications dans le Microsoft Visual Studio.Net . Avec le connecteur SAP .NET , vous pouvez utiliser tous les langages de programmation courants , tels que Visual Basic. NET, C# ou C++ géré.

Caractéristiques Utilisation du .NET SAP Connector et SAP .NET Proxy Assistant, vous pouvez:

· Ecrire .NET Windows et Web applications de formulaires qui ont accès à objets métier SAP (BAPI).

· Développer les applications client pour le serveur SAP. Ici vous pouvez utiliser RFC ou HTTP/SOAP/XML (outside-in).

· Ecrire des applications serveur RFC qui fonctionnent dans un environnement .NET et peut être installés à partir du système SAP (inside-out).

IDoc Receiver as a Windows Service

+1

Thx pour cela mais je ne peux pas vraiment voir comment cela fonctionnerait comme je le veux travailler. Cela semble utile si vous exécutez réellement SAP et souhaitez écrire une application pour votre propre serveur SAP qui doit prendre en compte la logique métier SAP. Ce dont j'ai besoin, c'est d'une librairie qui peut analyser le format IDOC et me dire dans un format lisible par l'homme ce qui se passe afin que je puisse le mapper moi-même aux nouvelles commandes de notre système. Est-ce quelque chose que SAP .NET Connecteur peut faire? Nous ne sommes pas intéressés par les RFC, BAPI, etc. Juste les fichiers IDOC générés pour nous. – SpoBo

0

Il y a une façon de dumping la définition de type IDoc (similaire à une DTD) à partir du système SAP. Ensuite, utilisez cela comme une méta-description de ce qui vous est envoyé.AFAIK il existe différentes façons de sortir la définition, HTML, C-Header, peut-être même "réel" DTD.

N'a pas utilisé cela depuis un certain temps, mais regardez autour de l'endroit où les types IDocs sont définis (quelque part dans le menu wedi, éventuellement we30). Les IDocs eux-mêmes sont à peu près en texte brut avec des longueurs de champ fixes, vous devez donc savoir où se trouvent les "limites" entre les champs/structures. Avec les définitions IDoc, cela ne devrait pas être trop difficile.

+0

Nous n'avons pas le SAP en cours d'exécution. C'est un de nos partenaires. Ils nous ont fourni un tel fichier HTML détaillant quels champs sont sur quelles lignes et une brève description de celui-ci. Mais fondamentalement je vais devoir écrire mes propres classes pour lire les fichiers IDOC. Avec l'aide de la documentation HTML.Il n'y a pas de bibliothèque pour cela :( – SpoBo

+0

Certains des outils EAI devraient être en mesure de vous aider à transformer les IDocs dans un format qui est plus facile à utiliser, mais vous ne savez pas si c'est vraiment utile pour vous – Thorsten

0

Je travaille pour la société DataXstream, qui propose un connecteur (vous les référencez dans le message initial) pour faire exactement ce que vous voulez. Typiquement, notre connecteur est utilisé pour intégrer une application tierce dans SAP. Je ne suis pas sûr que vous pouvez supposer que l'iDOC contiendra l'information que vous voulez toujours, puisque la plupart des implémentations de SAP sont très personnalisées et uniques. Quoi qu'il en soit, nous serons ravis de vous aider à exploiter le connecteur tel quel ou les pièces que vous recherchez pour réaliser l'intégration que vous recherchez. Faites le moi savoir.

Jim