SAP ABAP BDC (Batch Data Communication) Handledning

Innehållsförteckning:

Anonim

Introduktion till batchingång

Batchingång används vanligtvis för att överföra data från icke-R / 3-system till R / 3-system eller för att överföra data mellan R / 3-system.
Det är en dataöverföringsteknik som låter dig överföra datauppsättningar automatiskt till skärmar som tillhör transaktioner och därmed till ett SAP-system. Batchinmatning styrs av en batchinmatningssession.

I denna handledning lär du dig:

  • Introduktion till batchingång
  • Metoder för gruppinmatning
  • Batchinmatningsprocedurer
  • Skriva BDC-program
  • Skapa gruppinmatningssession
  • Batchingångsinspelare
GruppinmatningssessionGrupperar en serie transaktionssamtal tillsammans med indata och användaråtgärder. En batchinmatningssession kan användas för att utföra en dialogtransaktion i batchinmatning, där några eller alla skärmar behandlas av sessionen. Batchinmatningssessioner lagras i databasen som databastabeller och kan användas i ett program som interna tabeller vid åtkomst till transaktioner. Poäng att notera
  • BDI fungerar genom att utföra vanliga SAP-transaktioner precis som en användare skulle göra men transaktionen utförs automatiskt. Alla skärmvalideringar och validering av affärslogik kommer att göras när du använder Batch Data Input.
  • Den är lämplig för att mata in stora mängder data.
  • Ingen manuell interaktion krävs

Metoder för gruppinmatning

SAP tillhandahåller två grundläggande metoder för att överföra äldre data till R / 3-systemet.

  1. Klassisk gruppinmatningsmetod.
  2. Metod för samtalstransaktion.

Klassisk gruppinmatningsmetod
I den här metoden läser ett ABAP / 4-program de externa uppgifterna till SAP-systemet och lagras i en batchinmatningssession.
Efter att ha skapat sessionen kan du köra sessionen för att utföra SAP-transaktionen i den.
Denna metod använder funktionsmodulerna BDC_ OPEN, BDC_INSERT och BDC_CLOSE
Batch Input Session kan bearbetas på 3 sätt

  1. I förgrunden
  2. I bakgrunden
  3. Under bearbetning, med felvisning

Du bör bearbeta gruppinmatningssessioner i förgrunden eller använda feldisplayen om du vill testa dataöverföringen.
Om du vill utföra dataöverföringen eller testa dess prestanda bör du bearbeta sessionerna i bakgrunden.
Poäng att notera om klassisk gruppinmatningsmetod

  • Synkron bearbetning
  • Överför data för flera transaktioner.
  • Synkron databasuppdatering.
  • En processlogg för batchinmatning genereras för varje session.
  • Session kan inte genereras parallellt.

Metod för samtalstransaktion.

I den här metoden använder ABAP / 4-programmet CALL TRANSACTION USING-uttalande för att köra en SAP-transaktion.
Hela batchinmatningsprocessen sker online i programmet

Poäng att notera:

  • Snabbare bearbetning av data
  • Asynkron bearbetning
  • Överför data för en enda transaktion.
  • Ingen bearbetningslogg för batchingång genereras.

Batchinmatningsprocedurer


Du följer vanligtvis följande steg för att utveckla Batch Input för din organisation

  1. Analys av äldre data. Bestäm hur data som ska överföras ska mappas in i SAP-strukturen. Notera också nödvändiga datatyper eller omvandlingar av datalängd.
  2. Skapa SAP-datastrukturer för användning i exportprogram.
  3. Exportera data till en sekventiell fil. Observera att teckenformat krävs av fördefinierade SAP-batchinmatningsprogram.
  4. Om de SAP-levererade BDC-programmen inte används, kod ditt eget batchinmatningsprogram. Välj en lämplig batchinmatningsmetod beroende på situationen.
  5. Bearbeta data och lägg till dem i SAP-systemet.
  6. Analysera processloggen. För CALL TRANSACTION-metoden, där ingen korrekt logg skapas, använd meddelanden som samlats in av ditt program.
  7. Korrigera och bearbeta felaktiga data från resultaten av processanalysen.

Skriva BDC-program

Du kan följa följande process för att skriva ditt BDC-program

  1. Analysera transaktionerna för att bearbeta batchingångsdata.
  2. Bestäm vilken inmatningsmetod som ska användas.
  3. Läs data från en sekventiell fil
  4. Utför datakonvertering eller felkontroll.
  5. Lagring av data i batchingångsstrukturen, BDCDATA.
  6. Generera en batchinmatningssession för klassisk batchinmatning, eller bearbeta data direkt med CALL TRANSACTION USING-uttalande.

Batch Input Data Structure
Declaration of batch input data structure

DATA: BEGIN OF OCCURS .INKLUDERA STRUKTUR BDCDATA.DATA: SLUT AV .
Fält namn Typ Längd Beskrivning
PROGRAM RÖDING 8 Modulpool
DYNPRO NUMC 4 Dynpro-nummer
DYNBEGIN RÖDING 1 Starta en dynpro
FNAM RÖDING 35 Fält namn
FVAL RÖDING 80 Fältvärde

Ordningen på områden som omfattas av data för en viss skärm är inte av någon betydelse
punkter att notera

  • När du fyller i BDC-data, se till att du tar hänsyn till användarinställningarna. Detta är särskilt relevant för att fylla i fält som omfattar siffror (som kvantitet, mängd). Det är användarinställningen som bestämmer vad som är grupperingstecken för siffror. Exempel: Ett nummer femtio tusen kan skrivas som 50.000,00 eller 50.000,00 baserat på användarinställningen.
  • Kondensera FVAL-fältet för mängd- och kvantitetsfält så att de lämnas vänsterjusterade.
  • Observera att alla fält som du fyller i via BDC ska behandlas som teckenfält medan du fyller i BDC-datatabellen.
  • På vissa skärmar när du fyller i värden i en tabellkontroll med BDC måste du notera hur många rader som finns på en standardstorlek på skärmen och kod för lika många rader. Om du måste fylla i fler rader måste du koda för "Page down" -funktionalitet som du skulle göra när du fyller i tabellkontrollen manuellt.
  • Antalet rader som visas i ovanstående scenario varierar beroende på skärmstorleken som användaren använder. Så kod alltid för standard skärmstorlek och få din BDC att fungera alltid i standard skärmstorlek oavsett vad användaren behåller sin skärmstorlek som.

Skapa gruppinmatningssession

  1. Öppna sessionen för gruppinmatningssession med hjälp av funktionsmodulen BDC_OPEN_GROUP.
  2. För varje transaktion i sessionen:
    • Fyll BDCDATA med värden för alla skärmar och fält som behandlas i transaktionen.
    • Överför transaktionen till sessionen med BDC_INSERT.
  3. Stäng batchinmatningssessionen med BDC_CLOSE_GROUP

Batchingångsinspelare

Batchinmatningsinspelare (System> Tjänster> Batchinmatning> Inspelare) registrerar transaktioner som matas in manuellt och skapar en batchinmatningssession som kan köras senare med SM35.

  • Börja satsinspelningsinspelaren genom att välja inspelningsknappen i satsens inledningsskärm.
  • Inspelningsnamnet är ett användardefinierat namn och kan matcha namnet på batchinmatningssessionen som kan skapas från inspelningen.
  • Ange en SAP-transaktion och börja bokföra transaktionen.
  • När du har bokfört en SAP-transaktion väljer du antingen Skaffa transaktion och Spara för att avsluta inspelningen eller Nästa transaktion och bokföra en annan transaktion.
  • När du har sparat inspelningen kan du skapa en batchinmatningssession från inspelningen och / eller generera ett batchinmatningsprogram från inspelningen.
  • Den batchinmatningssession du skapade kan nu analyseras precis som alla andra batchinmatningssessioner.
  • Programmet som genereras av funktionen för batchingångsinspelaren är ett kraftfullt verktyg för datagränssnittsprogrammeraren. Det ger en solid bas som sedan kan ändras enligt kundens krav.