SAP ABAP BDC-zelfstudie (Batch Data Communication)

Inhoudsopgave:

Anonim

Inleiding tot batchinvoer

Batch-invoer wordt doorgaans gebruikt om gegevens over te dragen van niet-R / 3-systemen naar R / 3-systemen of om gegevens tussen R / 3-systemen over te dragen.
Het is een techniek voor gegevensoverdracht waarmee u gegevenssets automatisch kunt overbrengen naar schermen die bij transacties horen, en dus naar een SAP-systeem. Batchinvoer wordt aangestuurd door een batchinvoersessie.

In deze tutorial leer je:

  • Inleiding tot batchinvoer
  • Methoden voor batchinvoer
  • Batch-invoerprocedures
  • BDC-programma schrijven
  • Batch-invoersessie maken
  • Batch-invoerrecorder
Batch-invoersessie Groepeerteen reeks transactieoproepen samen met invoergegevens en gebruikersacties. Een batchinvoersessie kan worden gebruikt om een ​​dialoogtransactie uit te voeren in batchinvoer, waarbij sommige of alle schermen door de sessie worden verwerkt. Batch-invoersessies worden in de database opgeslagen als databasetabellen en kunnen binnen een programma als interne tabellen worden gebruikt bij het openen van transacties. Punten om op te merken
  • BDI voert normale SAP-transacties uit zoals een gebruiker zou doen, maar voert de transactie automatisch uit. Alle schermvalidaties en validatie van bedrijfslogica worden uitgevoerd tijdens het gebruik van batchgegevensinvoer.
  • Het is geschikt voor het invoeren van grote hoeveelheden gegevens.
  • Er is geen handmatige tussenkomst vereist

Methoden voor batchinvoer

SAP biedt twee basismethoden voor het overbrengen van oude gegevens naar het R / 3-systeem.

  1. Klassieke batchinvoermethode.
  2. Bel transactiemethode.

Klassieke batchinvoermethode
Bij deze methode leest een ABAP / 4-programma de externe gegevens in het SAP-systeem en slaat deze op in een batchinvoersessie.
Nadat u de sessie hebt aangemaakt, kunt u de sessie starten om de SAP-transactie erin uit te voeren.
Deze methode maakt gebruik van de functiemodules BDC_ OPEN, BDC_INSERT en BDC_CLOSE
Batch Input Session kan op 3 manieren worden verwerkt

  1. Op de voorgrond
  2. Op de achtergrond
  3. Tijdens verwerking, met foutweergave

U moet batchinvoersessies op de voorgrond verwerken of de foutweergave gebruiken als u de gegevensoverdracht wilt testen.
Als u de gegevensoverdracht wilt uitvoeren of de prestaties ervan wilt testen, moet u de sessies op de achtergrond verwerken.
Aandachtspunten over de klassieke batchinvoermethode

  • Synchrone verwerking
  • Draag gegevens over voor meerdere transacties.
  • Synchrone database-update.
  • Voor elke sessie wordt een proceslogboek voor batchinvoer gegenereerd.
  • Sessie kan niet parallel worden gegenereerd.

Bel transactiemethode.

In deze methode gebruikt het ABAP / 4-programma de instructie CALL TRANSACTION USING om een ​​SAP-transactie uit te voeren.
Het volledige batchinvoerproces vindt online plaats in het programma

Aandachtspunten:

  • Snellere verwerking van gegevens
  • Asynchrone verwerking
  • Draag gegevens over voor een enkele transactie.
  • Er wordt geen logboek voor verwerking van batchinvoer gegenereerd.

Batch-invoerprocedures


U zult doorgaans de volgende stappen volgen om batchinvoer voor uw organisatie te ontwikkelen

  1. Analyse van de oude gegevens. Bepaal hoe de over te dragen gegevens moeten worden toegewezen aan de SAP-structuur. Let ook op de noodzakelijke conversies van datatype of datalengte.
  2. Genereer SAP-datastructuren voor gebruik in exportprogramma's.
  3. Exporteer de gegevens naar een sequentieel bestand. Merk op dat het tekenformaat vereist is voor vooraf gedefinieerde SAP-batchinvoerprogramma's.
  4. Als de door SAP geleverde BDC-programma's niet worden gebruikt, codeer dan uw eigen batch-invoerprogramma. Kies een geschikte batchinvoermethode op basis van de situatie.
  5. Verwerk de gegevens en voeg deze toe aan het SAP-systeem.
  6. Analyseer het proceslogboek. Gebruik voor de CALL TRANSACTION-methode, waar geen goed logboek wordt gemaakt, de berichten die door uw programma zijn verzameld.
  7. Corrigeer en herverwerk op basis van de resultaten van de procesanalyse de foutieve gegevens.

BDC-programma schrijven

U kunt het volgende proces observeren om uw BDC-programma te schrijven

  1. Analyseer de transactie (s) om batchinvoergegevens te verwerken.
  2. Bepaal welke batchinvoermethode u wilt gebruiken.
  3. Lees gegevens uit een opeenvolgend bestand
  4. Voer dataconversie of foutcontrole uit.
  5. Opslaan van de gegevens in de batchinvoerstructuur, BDCDATA.
  6. Genereer een batchinvoersessie voor klassieke batchinvoer of verwerk de gegevens rechtstreeks met de instructie CALL TRANSACTION USING.

Gegevensstructuur batchinvoer
Verklaring van de gegevensstructuur van de batchinvoer

GEGEVENS: BEGIN VAN OCCURS 
.BEVAT STRUCTUUR BDCDATA.GEGEVENS: EINDE VAN .
Veldnaam Type Lengte Omschrijving
PROGRAMMA CHAR 8 Module zwembad
DYNPRO NUMC 4 Dynpro-nummer
DYNBEGIN CHAR 1 Een dynpro starten
FNAM CHAR 35 Veldnaam
FVAL CHAR 80 Veldwaarde

De volgorde van velden binnen de gegevens voor een bepaald scherm is niet van belang.
Punten om op te merken

  • Let er bij het invullen van de BDC-gegevens op dat u rekening houdt met de gebruikersinstellingen. Dit is met name relevant voor het invullen van velden waarbij getallen betrokken zijn (zoals aantal, aantal). Het is de gebruikersinstelling die bepaalt wat het groeperingsteken voor getallen is. Bijvoorbeeld: Een getal vijftigduizend kan worden geschreven als 50.000,00 of 50.000,00 op basis van de gebruikersinstelling.
  • Condenseer het FVAL-veld voor de hoeveelheid- en hoeveelheidsvelden zodat ze links uitgelijnd zijn.
  • Houd er rekening mee dat alle velden die u invult via BDC moeten worden behandeld als velden van het tekentype tijdens het vullen van de BDC-gegevenstabel.
  • Wanneer u in sommige schermen waarden invult in een tabelbesturingselement met behulp van BDC, moet u noteren hoeveel rijen aanwezig zijn op een standaardgrootte van het scherm en moet u voor zoveel rijen coderen. Als u meer rijen moet vullen, moet u coderen voor "Page down" -functionaliteit, zoals u zou doen wanneer u het tabelbesturingselement handmatig invult.
  • Het aantal regels dat in het bovenstaande scenario zou verschijnen, is afhankelijk van de schermgrootte die de gebruiker gebruikt. Codeer dus altijd voor standaard schermformaat en laat je BDC altijd in standaard schermformaat werken, ongeacht hoe de gebruiker zijn schermformaat behoudt.

Batch-invoersessie maken

  1. Open de sessie voor batchinvoer met functieblok BDC_OPEN_GROUP.
  2. Voor elke transactie in de sessie:
    • Vul de BDCDATA met waarden voor alle schermen en velden die in de transactie zijn verwerkt.
    • Draag de transactie over naar de sessie met BDC_INSERT.
  3. Sluit de batchinvoersessie met BDC_CLOSE_GROUP

Batch-invoerrecorder

Batchinvoerrecorder (Systeem> Services> Batchinvoer> Recorder) registreert transacties die handmatig worden ingevoerd en creëert een batchinvoersessie die later kan worden uitgevoerd met SM35.

  • Start de batchinvoerrecorder door de knop Opname te selecteren in het beginscherm van de batchinvoer.
  • De naam van de opname is een door de gebruiker gedefinieerde naam en kan overeenkomen met de naam van de batchinvoersessie die kan worden gemaakt op basis van de opname.
  • Voer een SAP-transactie in en begin met het boeken van de transactie.
  • Nadat u klaar bent met het boeken van een SAP-transactie, kiest u ofwel Transactie ophalen en opslaan om de registratie te beëindigen of Volgende transactie en een nieuwe transactie boeken.
  • Nadat u de opname heeft opgeslagen, kunt u een batchinputsessie maken van de opname en / of een batchinvoerprogramma genereren op basis van de opname.
  • De batchinvoersessie die u heeft gemaakt, kan nu net als elke andere batchinvoersessie worden geanalyseerd.
  • Het programma dat wordt gegenereerd door de functie van de batchinvoerrecorder is een krachtig hulpmiddel voor de gegevensinterfaceprogrammeur. Het biedt een solide basis die vervolgens kan worden aangepast aan de eisen van de klant.