Tutoriel SAP ABAP BDC (Batch Data Communication)

Table des matières:

Anonim

Introduction à la saisie par lots

L'entrée par lots est généralement utilisée pour transférer des données de systèmes non R / 3 vers des systèmes R / 3 ou pour transférer des données entre des systèmes R / 3.
Il s'agit d'une technique de transfert de données qui vous permet de transférer automatiquement des jeux de données vers des écrans appartenant à des transactions, et donc vers un système SAP. L'entrée par lots est contrôlée par une session d'entrée par lots.

Dans ce tutoriel, vous apprendrez:

  • Introduction à la saisie par lots
  • Méthodes de saisie par lots
  • Procédures de saisie par lots
  • Rédaction du programme BDC
  • Création d'une session d'entrée par lots
  • Enregistreur d'entrée par lots
Session d'entrée par lotsRegroupe une série d'appels de transaction avec les données d'entrée et les actions utilisateur. Une session de saisie par lots peut être utilisée pour exécuter une transaction de dialogue en saisie par lots, où certains ou tous les écrans sont traités par la session. Les sessions d'entrée par lots sont stockées dans la base de données sous forme de tables de base de données et peuvent être utilisées dans un programme en tant que tables internes lors de l'accès aux transactions. Points à noter
  • BDI fonctionne en effectuant des transactions SAP normales comme le ferait un utilisateur, mais il exécute la transaction automatiquement. Toutes les validations d'écran et la validation de la logique métier seront effectuées lors de l'utilisation de la saisie de données par lots.
  • Il convient à la saisie de grandes quantités de données.
  • Aucune interaction manuelle n'est requise

Méthodes de saisie par lots

SAP propose deux méthodes de base pour transférer les données héritées vers le système R / 3.

  1. Méthode d'entrée par lots classique.
  2. Appelez la méthode de transaction.

Méthode classique d'entrée par lots
Dans cette méthode, un programme ABAP / 4 lit les données externes dans le système SAP et les stocke dans une session d'entrée par lots.
Après avoir créé la session, vous pouvez exécuter la session pour y exécuter la transaction SAP.
Cette méthode utilise les modules de fonction BDC_ OPEN, BDC_INSERT et BDC_CLOSE
La session d'entrée par lots peut être traitée de 3 façons

  1. Au premier plan
  2. En arrière-plan
  3. Pendant le traitement, avec affichage des erreurs

Vous devez traiter les sessions d'entrée par lots au premier plan ou en utilisant l'affichage d'erreur si vous souhaitez tester le transfert de données.
Si vous souhaitez exécuter le transfert de données ou tester ses performances, vous devez traiter les sessions en arrière-plan.
Points à noter sur la méthode de saisie par lots classique

  • Traitement synchrone
  • Transférer des données pour plusieurs transactions.
  • Mise à jour synchrone de la base de données.
  • Un journal de processus d'entrée par lots est généré pour chaque session.
  • La session ne peut pas être générée en parallèle.

Appelez la méthode de transaction.

Dans cette méthode, le programme ABAP / 4 utilise l'instruction CALL TRANSACTION USING pour exécuter une transaction SAP.
L'ensemble du processus d'entrée par lots se déroule en ligne dans le programme

Points à noter:

  • Traitement plus rapide des données
  • Traitement asynchrone
  • Transférer des données pour une seule transaction.
  • Aucun journal de traitement d'entrée par lots n'est généré.

Procédures de saisie par lots


Vous observerez généralement la séquence d'étapes suivante pour développer Batch Input pour votre organisation

  1. Analyse des données héritées. Déterminez comment les données à transférer doivent être mappées dans la structure SAP. Prenez également note du type de données nécessaire ou des conversions de longueur de données.
  2. Générez des structures de données SAP à utiliser dans les programmes d'exportation.
  3. Exportez les données dans un fichier séquentiel. Notez que le format de caractère est requis par les programmes de saisie par lots SAP prédéfinis.
  4. Si les programmes BDC fournis par SAP ne sont pas utilisés, codez votre propre programme d'entrée par lots. Choisissez une méthode de saisie par lots appropriée en fonction de la situation.
  5. Traitez les données et ajoutez-les au système SAP.
  6. Analysez le journal des processus. Pour la méthode CALL TRANSACTION, où aucun journal approprié n'est créé, utilisez les messages collectés par votre programme.
  7. À partir des résultats de l'analyse du processus, corrigez et retraitez les données erronées.

Rédaction du programme BDC

Vous pouvez observer le processus suivant pour écrire votre programme BDC

  1. Analysez la ou les transactions pour traiter les données d'entrée par lots.
  2. Décidez de la méthode de saisie par lots à utiliser.
  3. Lire les données d'un fichier séquentiel
  4. Effectuez la conversion des données ou la vérification des erreurs.
  5. Stockage des données dans la structure d'entrée par lots, BDCDATA.
  6. Générez une session de saisie par lots pour une saisie par lots classique ou traitez les données directement avec l'instruction CALL TRANSACTION USING.

Structure
des données d'entrée de lot Déclaration de la structure de données d'entrée de lot

DONNÉES: DÉBUT DE 
OCCURS 
.INCLURE LA STRUCTURE BDCDATA.DONNÉES: FIN DE 
.
Nom de domaine Taper Longueur Description
PROGRAMME CARBONISER 8 Piscine de modules
DYNPRO NUMC 4 Numéro Dynpro
DYNBEGIN CARBONISER 1 Démarrer un dynpro
FNAM CARBONISER 35 Nom de domaine
FVAL CARBONISER 80 Valeur du champ

L'ordre des champs dans les données d'un écran particulier n'a pas d'importance.
Points à noter

  • Lors du remplissage des données BDC, assurez-vous de prendre en compte les paramètres utilisateur. Ceci est particulièrement pertinent pour remplir les champs qui impliquent des nombres (comme la quantité, le montant). C'est le paramètre utilisateur qui décide du caractère de regroupement des nombres. Par exemple: un nombre cinquante mille peut être écrit comme 50 000,00 ou 50 000,00 en fonction du paramètre utilisateur.
  • Condensez le champ FVAL pour les champs de quantité et de quantité afin qu'ils soient alignés à gauche.
  • Notez que tous les champs que vous remplissez via BDC doivent être traités comme des champs de type caractère lors du remplissage de la table de données BDC.
  • Dans certains écrans, lorsque vous remplissez des valeurs dans un contrôle de table à l'aide de BDC, vous devez noter le nombre de lignes présentes sur une taille par défaut de l'écran et le code pour autant de lignes. Si vous devez remplir plus de lignes, vous devez coder pour la fonctionnalité «Page suivante» comme vous le feriez lorsque vous remplissez le contrôle de table manuellement.
  • Le nombre de lignes qui apparaîtraient dans le scénario ci-dessus différera en fonction de la taille de l'écran que l'utilisateur utilise. Donc, toujours coder pour la taille d'écran standard et faire fonctionner votre BDC toujours dans la taille d'écran standard indépendamment de ce que l'utilisateur conserve sa taille d'écran.

Création d'une session d'entrée par lots

  1. Ouvrez la session de session batch input à l'aide du module fonction BDC_OPEN_GROUP.
  2. Pour chaque transaction de la session:
    • Remplissez le BDCDATA avec les valeurs de tous les écrans et champs traités dans la transaction.
    • Transférez la transaction vers la session avec BDC_INSERT.
  3. Fermez la session d'entrée par lots avec BDC_CLOSE_GROUP

Enregistreur d'entrée par lots

L'enregistreur d'entrée par lots (Système> Services> Entrée par lots> Enregistreur) enregistre les transactions qui sont saisies manuellement et crée une session d'entrée par lots qui peut être exécutée ultérieurement à l'aide du SM35.

  • Démarrez l'enregistreur de saisie par lots en sélectionnant le bouton-poussoir Enregistrement sur l'écran initial de saisie par lots.
  • Le nom de l'enregistrement est un nom défini par l'utilisateur et peut correspondre au nom de session d'entrée par lots qui peut être créé à partir de l'enregistrement.
  • Saisissez une transaction SAP et commencez à enregistrer la transaction.
  • Une fois que vous avez terminé la validation d'une transaction SAP, vous choisissez soit Obtenir transaction et enregistrer pour terminer l'enregistrement, soit Transaction suivante et valider une autre transaction.
  • Une fois que vous avez sauvegardé l'enregistrement, vous pouvez créer une session d'entrée par lots à partir de l'enregistrement et / ou générer un programme d'entrée par lots à partir de l'enregistrement.
  • La session de saisie par lots que vous avez créée peut désormais être analysée comme n'importe quelle autre session de saisie par lots.
  • Le programme qui est généré par la fonction de l'enregistreur d'entrée par lots est un outil puissant pour le programmeur d'interface de données. Il fournit une base solide qui peut ensuite être modifiée selon les exigences du client.