SAP ABAP BDC (Batch Data Communication) veiledning
Introduksjon til batch input
Batch-inngang brukes vanligvis til å overføre data fra ikke-R/3-systemer til R/3-systemer eller for å overføre data mellom R/3-systemer.
Det er en dataoverføringsteknikk som lar deg overføre datasett automatisk til skjermer som tilhører transaksjoner, og dermed til en SAP system. Batch input styres av en batch input sesjon.
Batch-inndataøkt
Grupperer en serie transaksjonsanrop sammen med inndata og brukerhandlinger. En batch-inndatasesjon kan brukes til å utføre en dialogtransaksjon i batch-inndata, hvor noen eller alle skjermbildene behandles av sesjonen. Batch-inndataøkter lagres i databasen som databasetabeller og kan brukes i et program som interne tabeller ved tilgang til transaksjoner.
Poeng å merke seg
- BDI fungerer ved å utføre normal SAP transaksjoner akkurat som en bruker ville gjort, men den utfører transaksjonen automatisk.Alle skjermvalideringer og forretningslogikkvalidering vil bli utført mens du bruker Batch Data Input.
- Den er egnet for å legge inn store mengder data.
- Ingen manuell interaksjon er nødvendig
Metoder for batchinndata
SAP gi to grunnleggende metoder for å overføre eldre data til R/3-systemet.
- Klassisk batchinndatametode.
- Anropstransaksjonsmetode.
Klassisk batchinndatametode
I denne metoden leser et ABAP/4-program de eksterne dataene til SAP System og lagrer i en batch-inndataøkt.
Etter å ha opprettet økten, kan du kjøre økten for å utføre SAP transaksjon i den.
Denne metoden bruker funksjonsmodulene BDC_ OPEN, BDC_INSERT og BDC_CLOSE
Batch Input Session kan behandles på 3 måter
- i forgrunnen
- i bakgrunnen
- Under behandling, med feilvisning
Du bør behandle batch-inndataøkter i forgrunnen eller bruke feilvisningen hvis du vil teste dataoverføringen.
Hvis du vil utføre dataoverføringen eller teste ytelsen, bør du behandle øktene i bakgrunnen.
Punkter å merke seg om klassisk batchinndatametode
- Synchøflig behandling
- Overfør data for flere transaksjoner.
- Syncærlig databaseoppdatering.
- En batch-inndataprosesslogg genereres for hver økt.
- Sesjon kan ikke genereres parallelt.
Anropstransaksjonsmetode.
I denne metoden ABAP/4-programmet bruker CALL TRANSACTION USING-setningen til å kjøre en SAP transaksjon.
Hele batchinndataprosessen foregår online i programmet
Merknader:
- Raskere behandling av data
- Asynkron prosessering
- Overfør data for en enkelt transaksjon.
- Ingen batch-inndatabehandlingslogg genereres.
Batch-inndataprosedyrer
Du vil vanligvis observere følgende sekvens med trinn for å utvikle Batch Input for organisasjonen din
- Analyse av eldre data. Bestem hvordan dataene som skal overføres skal tilordnes til SAP Struktur. Vær også oppmerksom på nødvendige konverteringer av datatype eller datalengde.
- Generere SAP datastrukturer for bruk i eksportprogrammer.
- Eksporter dataene til en sekvensiell fil. Merk at tegnformat kreves av forhåndsdefinert SAP batch-inndataprogrammer.
- Dersom SAP medfølgende BDC-programmer brukes ikke, kode ditt eget batch-inndataprogram. Velg en passende batch-inndatametode i henhold til situasjonen.
- Behandle dataene og legg dem til SAP System.
- Analyser prosessloggen. For CALL TRANSACTION-metoden, der det ikke opprettes en skikkelig logg, bruk meldingene som er samlet inn av programmet.
- Fra resultatene av prosessanalysen, korriger og bearbeid de feilaktige dataene.
Skrive BDC-program
Du kan observere følgende prosess for å skrive BDC-programmet ditt
- Analyser transaksjonen(e) for å behandle batch-inndata.
- Bestem deg for batchinndatametoden du vil bruke.
- Les data fra en sekvensiell fil
- Utfør datakonvertering eller feilkontroll.
- Lagre dataene i batch-inndatastrukturen, BDCDATA.
- Generer en batch-inndataøkt for klassisk batch-inndata, eller bearbeid dataene direkte med CALL TRANSACTION USING-setningen.
Batch input datastruktur
Erklæring om batch input datastruktur
DATA : BEGIN OF < bdc table> OCCURS <occurs parameters>. INCLUDE STRUCTURE BDCDATA. DATA:END OF <bdc table>.
Feltnavn | typen | Lengde | Tekniske beskrivelser |
---|---|---|---|
PROGRAM | CHAR | 8 | Modulbasseng |
DYNPRO | NUMC | 4 | Dynpro nummer |
DYNBEGIN | CHAR | 1 | Starter en dynpro |
FNAM | CHAR | 35 | Feltnavn |
FVAL | CHAR | 80 | Feltverdi |
Rekkefølgen på feltene i dataene for en bestemt skjerm er ikke av betydning
Peker på Note
- Mens du fyller ut BDC-dataene, sørg for at du tar hensyn til brukerinnstillingene. Dette er spesielt aktuelt for å fylle ut felt som involverer tall ( Som mengde, mengde ). Det er brukerinnstillingen som bestemmer hva som er grupperingstegnet for tall. For eksempel: Et tall femti tusen kan skrives som 50,000.00 50.000,00 eller XNUMX XNUMX basert på brukerinnstillingen.
- Kondenser FVAL-feltet for mengde- og mengdefelt slik at de blir venstrejustert.
- Merk at alle feltene du fyller ut gjennom BDC skal behandles som tegntypefelt mens du fyller ut BDC-datatabellen.
- I noen skjermer når du fyller ut verdier i en tabellkontroll ved hjelp av BDC, må du merke hvor mange rader som er tilstede på en standardstørrelse på skjermen og kode for like mange rader. Hvis du må fylle ut flere rader, må du kode for "Page down"-funksjonalitet som du ville gjort når du fyller ut tabellkontrollen manuelt.
- Antall linjer som vil vises i scenariet ovenfor vil variere basert på skjermstørrelsen som brukeren bruker. Så alltid kode for standard skjermstørrelse og få din BDC til å fungere alltid i standard skjermstørrelse uavhengig av hva brukeren beholder skjermstørrelsen som.
Opprette batchinndataøkt
- Åpne sesjonen for batchinndata ved å bruke funksjonsmodulen BDC_OPEN_GROUP.
- For hver transaksjon i økten:
- Fyll BDCDATA med verdier for alle skjermbilder og felt behandlet i transaksjonen.
- Overfør transaksjonen til økten med BDC_INSERT.
- Lukk batchinndataøkten med BDC_CLOSE_GROUP
Batch Input Recorder
Batch input recorder (System > Services > Batch input > Recorder) registrerer transaksjoner som legges inn manuelt og oppretter en batch input sesjon som kan utføres senere ved hjelp av SM35.
- Start batchinndataopptakeren ved å velge opptaksknappen fra startskjermbildet for batchinndata.
- Opptaksnavnet er et brukerdefinert navn og kan samsvare med sesjonsnavnet for batchinndata som kan opprettes fra opptaket.
- Skriv inn et SAP transaksjonen og begynn å bokføre transaksjonen.
- Etter at du har fullført innlegget SAP transaksjon velger du enten Hent transaksjon og lagre for å avslutte registreringen eller Neste transaksjon og bokføre en ny transaksjon.
- Når du har lagret opptaket, kan du opprette en batch-inndataøkt fra opptaket og/eller generere et batch-inndataprogram fra opptaket.
- Batch-inndataøkten du opprettet kan nå analyseres akkurat som alle andre batch-inndataøkter.
- Programmet som genereres av funksjonen til batch-inndataopptakeren er et kraftig verktøy for datagrensesnittprogrammereren. Det gir en solid base som deretter kan endres i henhold til kundens behov.