Note d'assistance KB0408203
E-mail
Comment détecter une erreur de désérialisation dans un bon de commande bloqué au statut Commande en cours
Cet article de la base de connaissances a été traduit automatiquement pour vous faciliter la tâche. SAP ne garantit pas l'exactitude ou l'exhaustivité de cette traduction automatique. Vous pouvez trouver le contenu d'origine en passant à l'anglais à l'aide du sélecteur de langue.
Symptôme

Après avoir été correctement approuvée et traitée par le système ERP, une demande d'achat génère un bon de commande qui est bloqué au statut Commande en cours avec uniquement la PurchaseOrderExportRequest qui apparaît dans Passerelle gérée pour Spend&Network.


Cause

L'une des causes courantes de ce problème est le contenu inattendu dans les données utiles reçues par l'ERP.

Étant donné que Passerelle gérée pour Spend&Network n'a pas de gestionnaire d'erreurs pour ce scénario, le seul moyen de repérer si cela est causé par un échec de SRT: Serialization / Deserialization est d'accéder à l'ERP et de consulter la transaction SRT_MONI.

L'erreur SRT : échec de la sérialisation/désérialisation est déclenchée dans le processus de désérialisation où le proxy ABAP tente d'analyser le XML et de renseigner les objets ABAP. Dans ce scénario particulier, le contenu des données utiles dépasse une limite de longueur définie ou utilise des caractères qui ne sont pas appropriés pour la zone dans l'objet, déclenchant l'erreur.


Résolution

Pour détecter un type de service : la sérialisation/désérialisation a échoué dans l'ERP, suivez les étapes suivantes :

  1. Accédez au code de transaction SRT_MONI dans ERP.
  2. Dans Édition du résultat, sélectionnez Détail.
  3. Dans la vue des messages, sélectionnez Vue technique.
  4. Dans la zone Horodatage du, utilisez le jour où votre demande d'achat a été créée.
  5. Dans la zone Groupe de statuts de traitement, sélectionnez Erroné.
  6. Faites défiler vers le bas jusqu'à ce que vous trouviez Informations récepteur > Nom de l'interface, utilisez BuyerPurchaseOrderCreateRequest_Async_In et Exécuter (F8).

Vous voyez maintenant un écran avec tous les messages d'erreur dans Web Service Utilities: Message Monitor lié à la demande de création d'une commande d'achat d'acheteur.

Pour comprendre à quel document le message d'erreur est corrélé, procédez comme suit :

  1. Cliquez sur l'icône Erronément traité ( ) de n'importe quelle ligne que SRT: Échec de sérialisation/désérialisation affiche.
  2. Dans la partie gauche de l'écran, recherchez l'élément Message Body ( ) et cliquez dessus.
  3. Vous pouvez maintenant localiser le champ ---ERPORDERID pour voir le nom du document PurchaseOrderExportRequest dans Passerelle gérée pour Spend&Network.
  4. Dans le champ ----REQ_ID, vous verrez le numéro de demande d'achat avec lequel le message d'erreur est corrélé.

Pour voir quelle zone dans les données utiles déclenche l'erreur :

  1. Cliquez sur l'icône Erronément traité ( ) de n'importe quelle ligne que SRT: Échec de sérialisation/désérialisation affiche.
  2. Recherchez la première zone ----ChainedException, vous remarquerez qu'il y en a 4.
  3. Le message d'erreur principal s'affiche dans la 4e ----ChainedException dans la zone -----Exception_Text.

Les types d'erreur de désérialisation les plus courants liés à des données utilisateur incorrectes dans les données utiles sont répertoriés ci-dessous :

Il existe différentes façons de résoudre ces problèmes, les plus courantes sont présentées ci-dessous :

  1. Modifiez le contenu de la commande et envoyez-le à nouveau via la passerelle gérée pour Spend&Network en créant une nouvelle version du document dans Buying&Invoicing.
  2. Annulez la commande et créez-en une nouvelle en copiant la commande annulée et en modifiant les champs qui dépassent la limite mentionnée dans le message d'erreur, puis soumettez-la à nouveau à la passerelle gérée pour la gestion des dépenses et SAP Business Network.
  3. Créez un mappage personnalisé dans Passerelle gérée pour Spend&Network afin de limiter le nombre de caractères dans le champ spécifique, puis de retraiter le document dans Passerelle gérée pour Spend&Network.
Informations supplémentaires

Afin d'éviter que cela ne se reproduise pour un champ particulier, vous pouvez demander une demande de personnalisation. Cela limitera la longueur maximale de la zone dans la solution Ariba, évitant ainsi qu'elle ne soit mal renseignée. Reportez-vous à KB0537649 pour plus d'informations sur la demande de personnalisation.



S'applique à

Passerelle gérée SAP Integration Suite > Passerelle gérée pour SAP Business Network SCC > Passerelle gérée pour SAP Business Network SCC acheteur

Conditions d'utilisation  |  Copyright  |  Informations sur la sécurité  |  Confidentialité