SAP ABAP BDC (Batch Data Communication) Handledning
Introduktion till batchinmatning
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 datamängder automatiskt till skärmar som hör till transaktioner, och därmed till en SAP system. Batchinmatning styrs av en batchinmatningssession.
Satsinmatningssession
Grupperar en serie transaktionsanrop tillsammans med indata och användaråtgärder. En batchinmatningssession kan användas för att utföra en dialogtransaktion i batchinmatning, där vissa eller alla skärmar bearbetas av sessionen. Batch-inmatningssessioner lagras i databasen som databastabeller och kan användas inom ett program som interna tabeller vid åtkomst till transaktioner.
Poäng att notera
- BDI fungerar genom att utföra normala SAP transaktioner precis som en användare skulle göra men den utför transaktionen automatiskt.Alla skärmvalideringar och validering av affärslogik kommer att göras med batchdatainmatning.
- Den är lämplig för att mata in stora mängder data.
- Ingen manuell interaktion krävs
Metoder för batchinmatning
SAP tillhandahålla två grundläggande metoder för att överföra äldre data till R/3-systemet.
- Klassisk batchinmatningsmetod.
- Samtalstransaktionsmetod.
Klassisk batchinmatningsmetod
I denna metod läser ett ABAP/4-program extern data till SAP System och lagrar i en batchinmatningssession.
När du har skapat sessionen kan du köra sessionen för att köra SAP transaktion i den.
Denna metod använder funktionsmodulerna BDC_OPEN, BDC_INSERT och BDC_CLOSE
Batch Input Session kan bearbetas på 3 sätt
- i förgrunden
- I bakgrunden
- Under bearbetning, med felvisning
Du bör bearbeta batchinmatningssessioner 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.
Punkter att notera om klassisk batchinmatningsmetod
- Synchederlig bearbetning
- Överför data för flera transaktioner.
- Synchronös databasuppdatering.
- En batchinmatningsprocesslogg genereras för varje session.
- Session kan inte genereras parallellt.
Samtalstransaktionsmetod.
I denna metod ABAP/4-programmet använder CALL TRANSACTION USING-satsen för att köra en SAP transaktion.
Hela batchinmatningsprocessen sker online i programmet
Anmärkningar:
- Snabbare bearbetning av data
- Asynkron bearbetning
- Överför data för en enda transaktion.
- Ingen bearbetningslogg för batchinmatning genereras.
Batch-inmatningsprocedurer
Du kommer vanligtvis att följa följande sekvens av steg för att utveckla Batch Input för din organisation
- Analys av äldre data. Bestäm hur data som ska överföras ska mappas till SAP Strukturera. Notera också nödvändiga konverteringar av datatyp eller datalängd.
- Generera SAP datastrukturer för användning i exportprogram.
- Exportera data till en sekventiell fil. Observera att teckenformat krävs av fördefinierade SAP batchinmatningsprogram.
- Om SAP medföljande BDC-program används inte, koda ditt eget batchinmatningsprogram. Välj en lämplig batchinmatningsmetod beroende på situationen.
- Bearbeta data och lägg till den i SAP Systemkrav.
- Analysera processloggen. För CALL TRANSACTION-metoden, där ingen korrekt logg skapas, använd de meddelanden som samlats in av ditt program.
- Från resultaten av processanalysen, korrigera och bearbeta de felaktiga uppgifterna.
Skriver BDC-program
Du kan observera följande process för att skriva ditt BDC-program
- Analysera transaktionen/transaktionerna för att bearbeta batchindata.
- Bestäm vilken batchinmatningsmetod som ska användas.
- Läs data från en sekventiell fil
- Utför datakonvertering eller felkontroll.
- Lagring av data i batchinmatningsstrukturen, BDCDATA.
- Generera en batchinmatningssession för klassisk batchinmatning, eller bearbeta data direkt med CALL TRANSACTION USING-satsen.
Batchinmatningsdatastruktur
Deklaration av batchdatastruktur
DATA : BEGIN OF < bdc table> OCCURS <occurs parameters>. INCLUDE STRUCTURE BDCDATA. DATA:END OF <bdc table>.
Fält namn | Typ | Längd | Systembeskrivningar |
---|---|---|---|
PROGRAM | RÖDING | 8 | Modulpool |
DYNPRO | NUMC | 4 | Dynpro nummer |
DYNBEGIN | RÖDING | 1 | Startar en dynpro |
FNAM | RÖDING | 35 | Fält namn |
FVAL | RÖDING | 80 | Fältvärde |
Ordningen på fälten inom data för en viss skärm är inte av någon betydelse
Pekar på anteckning
- När du fyller i BDC-data, se till att du tar hänsyn till användarinställningarna. Detta är speciellt relevant för att fylla i fält som involverar siffror ( Som kvantitet, mängd ). Det är användarinställningen som avgör vad som är grupptecknet för siffror. T.ex.: Ett nummer femtiotusen kan skrivas som 50,000.00 50.000,00 eller XNUMX XNUMX baserat på användarinställningen.
- Kondensera FVAL-fältet för mängd- och kvantitetsfält så att de är vänsterjusterade.
- Observera att alla fält som du fyller i genom BDC ska behandlas som teckentypsfält när 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 antal 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 skulle visas i scenariot ovan kommer att variera beroende på skärmstorleken som användaren använder. Så koda alltid för standardskärmstorlek och få din BDC att alltid fungera i standardskärmstorlek oavsett vad användaren behåller sin skärmstorlek som.
Skapar batchinmatningssession
- Öppna sessionen för batchinmatning med funktionsmodulen BDC_OPEN_GROUP.
- 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.
- Stäng batchinmatningssessionen med BDC_CLOSE_GROUP
Batch Input Recorder
Satsinmatare (System > Tjänster > Satsinmatning > Brännare) registrerar transaktioner som läggs in manuellt och skapar en satsinmatningssession som kan exekveras senare med SM35.
- Starta batchinmatningsinspelaren genom att välja knappen Inspelning från startskärmen för batchinmatning.
- Inspelningsnamnet är ett användardefinierat namn och kan matcha namnet på batchinmatningssessionen som kan skapas från inspelningen.
- Ange ett SAP transaktion och börja bokföra transaktionen.
- Efter att du har slutfört inlägget a SAP transaktion väljer du antingen Hämta transaktion och spara för att avsluta inspelningen eller Nästa transaktion och bokför ytterligare en transaktion.
- När du har sparat inspelningen kan du skapa en batchinmatningssession från inspelningen och/eller generera ett batchinmatningsprogram från inspelningen.
- Batchinmatningssessionen du skapade kan nu analyseras precis som alla andra batchinmatningssessioner.
- Programmet som genereras av funktionen hos batch-inspelaren är ett kraftfullt verktyg för datagränssnittsprogrammeraren. Det ger en solid bas som sedan kan ändras efter kundens önskemål.