SAP ABAP BDC (Batch Data Communication) Tutorial

Introduktion til batch-input

Batch-input bruges typisk til at overføre data fra ikke-R/3-systemer til R/3-systemer eller til at overføre data mellem R/3-systemer.

Det er en dataoverførselsteknik, der giver dig mulighed for at overføre datasæt automatisk til skærmbilleder, der hører til transaktioner, og dermed til en SAP system. Batch input styres af en batch input session.

Batch input session

Grupperer en række transaktionskald sammen med inputdata og brugerhandlinger. En batch input session kan bruges til at udføre en dialog transaktion i batch input, hvor nogle eller alle skærmbillederne behandles af sessionen. Batch-inputsessioner gemmes i databasen som databasetabeller og kan bruges i et program som interne tabeller ved adgang til transaktioner.

Punkter at bemærke

  • BDI virker ved at udføre alm SAP transaktioner ligesom en bruger ville, men den udfører transaktionen automatisk.Alle skærmvalideringer og forretningslogikvalidering vil blive udført, mens du bruger Batch Data Input.
  • Den er velegnet til at indtaste store mængder data.
  • Der kræves ingen manuel interaktion

Metoder til batch-input

SAP giver to grundlæggende metoder til overførsel af ældre data til R/3-systemet.

  1. Klassisk batch-inputmetode.
  2. Opkaldstransaktionsmetode.

Klassisk batch-inputmetode

I denne metode læser et ABAP/4-program de eksterne data til SAP System og gemmer i en batch-inputsession.

Efter at have oprettet sessionen, kan du køre sessionen for at udføre SAP transaktion i den.

Denne metode bruger funktionsmodulerne BDC_ OPEN, BDC_INSERT og BDC_CLOSE

Batch Input Session kan behandles på 3 måder

  1. i forgrunden
  2. I baggrunden
  3. Under behandling, med fejlvisning

Du bør behandle batch-inputsessioner i forgrunden eller bruge fejldisplayet, hvis du vil teste dataoverførslen.

Hvis du vil udføre dataoverførslen eller teste dens ydeevne, bør du behandle sessionerne i baggrunden.

Bemærkninger om klassisk batch-input-metode

  • Synchøflig behandling
  • Overfør data for flere transaktioner.
  • Syncærlig databaseopdatering.
  • En batch-input proceslog genereres for hver session.
  • Session kan ikke genereres parallelt.

Opkaldstransaktionsmetode.

I denne metode ABAP/4-programmet bruger CALL TRANSACTION USING-sætning til at køre en SAP transaktion.

Hele batchinputprocessen foregår online i programmet

Opkaldstransaktionsmetode

Punkter at bemærke:

  • Hurtigere behandling af data
  • Asynkron behandling
  • Overfør data for en enkelt transaktion.
  • Ingen batch-input-behandlingslog genereres.

Batch-inputprocedurer

Batch-inputprocedurer

Du vil typisk observere følgende rækkefølge af trin for at udvikle Batch Input til din organisation

  1. Analyse af de gamle data. Bestem, hvordan de data, der skal overføres, skal kortlægges i SAP Struktur. Vær også opmærksom på nødvendige datatype- eller datalængdekonverteringer.
  2. Generer SAP datastrukturer til brug i eksportprogrammer.
  3. Eksporter dataene til en sekventiel fil. Bemærk, at tegnformat er påkrævet af foruddefineret SAP batch input programmer.
  4. Hvis SAP medfølgende BDC-programmer bruges ikke, kode dit eget batch-input-program. Vælg en passende batchinputmetode i henhold til situationen.
  5. Bearbejd dataene og føj dem til SAP Systemkrav.
  6. Analyser procesloggen. Til CALL TRANSACTION-metoden, hvor der ikke oprettes en ordentlig log, skal du bruge de meddelelser, der indsamles af dit program.
  7. Ud fra resultaterne af procesanalysen skal du rette og genbehandle de fejlagtige data.

Skrive BDC program

Du kan observere følgende proces for at skrive dit BDC-program

  1. Analyser transaktionen/transaktionerne for at behandle batch-inputdata.
  2. Beslut dig for, hvilken batchinputmetode du vil bruge.
  3. Læs data fra en sekventiel fil
  4. Udfør datakonvertering eller fejlkontrol.
  5. Lagring af data i batch-inputstrukturen, BDCDATA.
  6. Generer en batch-input-session til klassisk batch-input, eller bearbejd dataene direkte med CALL TRANSACTION USING-sætning.

Batch-inputdatastruktur

Erklæring af batch input datastruktur

DATA : BEGIN OF < bdc table>

OCCURS <occurs parameters>.

INCLUDE STRUCTURE BDCDATA.

DATA:END OF <bdc table>.
Feltnavn Type Længde Tekniske beskrivelser
PROGRAM CHAR 8 Modulpulje
DYNPRO NUMC 4 Dynpro nummer
DYNBEGIN CHAR 1 Starter en dynpro
FNAM CHAR 35 Feltnavn
FVAL CHAR 80 Feltværdi

Rækkefølgen af ​​felter i dataene for en bestemt skærm er ikke af nogen betydning

Peger på note

  • Mens du udfylder BDC-dataene, skal du sørge for at tage brugerindstillingerne i betragtning. Dette er specielt relevant for udfyldning af felter, der involverer tal (Ligesom mængde, mængde). Det er brugerindstillingen, der bestemmer, hvad der er grupperingstegn for tal. F.eks.: Et tal halvtreds tusind kan skrives som 50,000.00 eller 50.000,00 baseret på brugerindstillingen.
  • Kondenser FVAL-feltet for mængde- og mængdefelter, så de er venstrejusterede.
  • Bemærk, at alle de felter, som du udfylder gennem BDC, skal behandles som tegntypefelter, mens du udfylder BDC-datatabellen.
  • På nogle skærmbilleder, når du udfylder værdier i en tabelkontrol ved hjælp af BDC, skal du notere, hvor mange rækker der er til stede på en standardstørrelse på skærmen og kode for lige så mange rækker. Hvis du skal udfylde flere rækker, skal du kode for "Page down"-funktionalitet, som du ville gøre, når du udfylder tabelkontrollen manuelt.
  • Antallet af linjer, der vises i ovenstående scenarie, vil variere baseret på den skærmstørrelse, som brugeren bruger. Så kod altid for standard skærmstørrelse og få din BDC til altid at fungere i standard skærmstørrelse, uanset hvad brugeren beholder sin skærmstørrelse som.

Oprettelse af batch-inputsession

  1. Åbn sessionen med batch-input ved hjælp af funktionsmodulet BDC_OPEN_GROUP.
  2. For hver transaktion i sessionen:
  3. Udfyld BDCDATA'en med værdier for alle skærmbilleder og felter, der behandles i transaktionen.
  4. Overfør transaktionen til sessionen med BDC_INSERT.
  5. Luk batchinputsessionen med BDC_CLOSE_GROUP

Batch Input Recorder

Batch input recorder (System > Services > Batch input > Recorder) registrerer transaktioner, der indtastes manuelt, og opretter en batch input session, som kan udføres senere ved hjælp af SM35.

Batch Input Recorder

  • Start batch-input-optageren ved at vælge Recording-trykknappen fra batch-input-startskærmen.
  • Optagelsesnavnet er et brugerdefineret navn og kan matche navnet på batchinputsessionen, som kan oprettes ud fra optagelsen.
  • Indtast en SAP transaktion og begynde at bogføre transaktionen.
  • Når du har afsluttet udsendelsen af ​​en SAP transaktion vælger du enten Hent Transaktion og Gem for at afslutte registreringen eller Næste Transaktion og bogføre endnu en transaktion.
  • Når du har gemt optagelsen, kan du oprette en batch-input-session fra optagelsen og/eller generere et batch-input-program fra optagelsen.
  • Den batchinputsession, du oprettede, kan nu analyseres ligesom enhver anden batchinputsession.
  • Programmet, der genereres af batch-input-optagerens funktion, er et kraftfuldt værktøj til datainterface-programmøren. Det giver en solid base, som derefter kan ændres efter kundens behov.